www.ProFTPD.de
13. März 2007, 18:54:42 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1]   Nach unten
  Drucken  
Autor Thema: Installation mit Mysql  (Gelesen 577 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Anonymous
Gast
« am: 21. Dezember 2005, 19:59:40 »

Hallo,
ich habe da ein Problem bei der installation von proftpd mit mysql

Code:

make[1]: Leaving directory `/home/proftpd-1.3.0rc2/src'
cd modules/ && make static
make[1]: Entering directory `/home/proftpd-1.3.0rc2/modules'
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_core.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_xfer.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_auth_unix.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_auth_file.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_auth.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_ls.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_log.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_site.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_delay.c
gcc -DHAVE_CONFIG_H  -DLINUX  -I.. -I../include  -O2 -Wall -c mod_sql_mysql.c
mod_sql_mysql.c:135:19: mysql.h: Datei oder Verzeichnis nicht gefunden
mod_sql_mysql.c:162: error: Syntaxfehler before "MYSQL"
mod_sql_mysql.c:162: Warnung: kein Semikolon am Ende von ?struct? oder ?union?
mod_sql_mysql.c: In Funktion ?_build_error?:
mod_sql_mysql.c:301: Warnung: implicit declaration of function `mysql_errno'
mod_sql_mysql.c:301: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:303: Warnung: implicit declaration of function `mysql_error'
mod_sql_mysql.c:303: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?_build_data?:
mod_sql_mysql.c:314: error: `MYSQL' undeclared (first use in this function)
mod_sql_mysql.c:314: error: (Each undeclared identifier is reported only once
mod_sql_mysql.c:314: error: for each function it appears in.)
mod_sql_mysql.c:314: error: `mysql' undeclared (first use in this function)
mod_sql_mysql.c:315: error: `MYSQL_RES' undeclared (first use in this function)
mod_sql_mysql.c:315: error: `result' undeclared (first use in this function)
mod_sql_mysql.c:316: error: `MYSQL_ROW' undeclared (first use in this function)
mod_sql_mysql.c:316: error: Syntaxfehler before "row"
mod_sql_mysql.c:325: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:331: Warnung: implicit declaration of function `mysql_store_result'
mod_sql_mysql.c:337: Warnung: implicit declaration of function `mysql_num_rows'
mod_sql_mysql.c:338: Warnung: implicit declaration of function `mysql_num_fields'
mod_sql_mysql.c:343: error: `row' undeclared (first use in this function)
mod_sql_mysql.c:343: Warnung: implicit declaration of function `mysql_fetch_row'
mod_sql_mysql.c:353: Warnung: implicit declaration of function `mysql_free_result'
mod_sql_mysql.c: In Funktion ?cmd_open?:
mod_sql_mysql.c:406: Warnung: implicit declaration of function `mysql_ping'
mod_sql_mysql.c:406: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:418: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:418: Warnung: implicit declaration of function `mysql_init'
mod_sql_mysql.c:420: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:431: Warnung: implicit declaration of function `mysql_options'
mod_sql_mysql.c:431: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:431: error: `MYSQL_READ_DEFAULT_GROUP' undeclared (first use in this function)
mod_sql_mysql.c:433: Warnung: implicit declaration of function `mysql_real_connect'
mod_sql_mysql.c:433: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:433: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:433: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:433: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:434: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:434: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:435: error: `CLIENT_INTERACTIVE' undeclared (first use in this function)
mod_sql_mysql.c: In Funktion ?cmd_close?:
mod_sql_mysql.c:527: Warnung: implicit declaration of function `mysql_close'
mod_sql_mysql.c:527: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:528: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?cmd_defineconnection?:
mod_sql_mysql.c:594: error: invalid application of `sizeof' to an incomplete type
mod_sql_mysql.c:597: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:598: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:629: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:630: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:631: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:649: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:650: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:651: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:652: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?cmd_select?:
mod_sql_mysql.c:801: Warnung: implicit declaration of function `mysql_real_query'
mod_sql_mysql.c:801: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?cmd_insert?:
mod_sql_mysql.c:914: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?cmd_update?:
mod_sql_mysql.c:1012: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?cmd_query?:
mod_sql_mysql.c:1127: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:1142: Warnung: implicit declaration of function `mysql_field_count'
mod_sql_mysql.c:1142: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion ?cmd_escapestring?:
mod_sql_mysql.c:1221: Warnung: implicit declaration of function `mysql_escape_string'
mod_sql_mysql.c: In Funktion ?cmd_checkauth?:
mod_sql_mysql.c:1287: Warnung: implicit declaration of function `make_scrambled_password'
make[1]: *** [mod_sql_mysql.o] Fehler 1
make[1]: Leaving directory `/home/proftpd-1.3.0rc2/modules'
make: *** [modules] Fehler 2


was fehlt da ??
was muß ich tun.
Ich habe Debian (Sarge)

Danke und Grüße
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #1 am: 22. Dezember 2005, 05:24:59 »

Hi,

die Fehlermeldung ist klar und die Lösung relativ einfach: der Compiler findet die Sourcen/Libraries von mySQL nicht, die er für die Schnittstelle zu mySQL braucht.

Unter Debian kann man sich aber die Sache recht einfach machen und über "apt-get install proftpd-mysql" alles fertig installieren lassen.
Damit werden alle Abhänigkeiten berücksichtigt und entsprechendes installiert - das ist sehr bequem und ein selbst compilieren ist so nicht nötig.

Es macht mitunter aber dennoch Sinn, seine Softwarepakete in einem Debian-System selbst zu compilieren, da Debain -sehr diplomatisch ausgedrückt- nicht unbedingt immer die aktuellsten Versionen installiert und man zusätzlich keinen Einfluß auf einkompilierte Optionen hat.
Man muß nur aufpassen, daß man der Paketverwaltung von Debain "aus den Füßen" bleibt und sich nichts gegenseitig ins Gehege kommt.

Will man ProFTPD unter Debian selbst compilieren, so müssen dem Compiler/Linker die Pfade mitgeteilt werden, wo die Sourcen/Libraries von mySQL zu finden sind und wohin man seine Installationen haben möchte.

Das geht z.B. so:

Code:
./configure \
--with-modules="mod_sql:mod_sql_mysql:mod_tls" \
--disable-auth-file --disable-auth-pam \
--disable-sendfile --enable-buffer-size=8092 \
--with-includes=/usr/local/mysql/include/mysql \
--with-libraries=/usr/local/mysql/lib/mysql \
\
--prefix=/usr/local/proftpd-1.2.10 \
--sysconfdir=/etc --localstatedir=/var/run --mandir=/usr/local/man

make
make install


Das ist natürlich nur eine Möglichkeit, wie man sein ProFTPD compilieren kann.
Zu Achten ist jedoch immer auf die richtigen Pfadangaben bei "--with-includes=..." und "--with-libraries=...".
Dann sollte alles klappen.

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #2 am: 23. Dezember 2005, 00:37:00 »

Hi..
Danke jetzt hab ich es richtig installiert..
Aber wenn ich jetzt user anlege auf Datenbank...
z.B Das hier
Code:

username  uid  gid  password  homedir  count  ui  shell  letzter_zugriff  zugang  
frank 1 2 mypassword /home/ftp 1 1 1 2005-12-23 00:11:26 1

Der will mich nicht rein lassen ?
Der sagt immer password Falsch..
331 Password required for frank.
PASS (hidden)
530 Login incorrect.

Mein Proftpd.conf
Code:

#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#

ServerName                      "OKYanuSFM FTP SERVER"
ServerType                      inetd
DeferWelcome                    off

MultilineRFC2228                on
DefaultServer                   on
ShowSymlinks                    on
UseReverseDNS off
IdentLookups off

TimeoutNoTransfer               600
TimeoutStalled                  600
TimeoutIdle                     1200

DisplayLogin                    welcome.msg
DisplayFirstChdir               .message
ListOptions                     "-l"

DenyFilter                      \*.*/

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd               off

# Uncomment this if you would use TLS module:
#TLSEngine                      on

# Uncomment this if you would use quota module:
#Quotas                         on

# Uncomment this if you would use ratio module:
#Ratios                         on

# Port 21 is the standard FTP port.
Port                            21

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances                    30

# Set the user and group that the server normally runs at.
User                            nobody
Group                           nogroup

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask                           022  022
# Normally, we want files to be overwriteable.
AllowOverwrite                  on

# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine                    off

# A basic anonymous configuration, no upload directories.

# <Anonymous ~ftp>
# <Anonymous ~ftp>
#   User                                ftp
#   Group                               nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
#   UserAlias                   anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
#   DirFakeUser on ftp
#   DirFakeGroup on ftp
#
#   RequireValidShell           off
#
#   # Limit the maximum number of anonymous logins
#   MaxClients                  10
#
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
#   DisplayLogin                        welcome.msg
#   DisplayFirstChdir           .message
#
#   # Limit WRITE everywhere in the anonymous chroot
#   <Directory *>
#     <Limit WRITE>
#     <Limit WRITE>
#       DenyAll
#     </Limit>
#   </Directory>
#
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask                           022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
#
# </Anonymous>
SQLAuthTypes Plaintext
SQLAuthenticate users*
SQLConnectInfo proftpd@localhost mysqluser password
SQLDefaultGID 65534
SQLDefaultUID 65534
SQLMinUserGID  100
SQLMinUserUID            500
SQLUserInfo ftp username password uid gid homedir shell
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 771



Profil anzeigen
« Antwort #3 am: 23. Dezember 2005, 08:18:23 »

Hmm, die config würde ich doch noch einmal bearbeiten.
IMHO ist "Servertype inetd" nicht gerade "optimal"...

Vor allem fehlt noch: "DefaultRoot ~" für den Login.

Ein recht schönes Konfigurationsbeispiel findet sich auf Stonki's Site...

mfg.
  VolGas
Gespeichert
Seiten: [1]   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.056 Sekunden mit 15 Zugriffen.