www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: freq.9 am 25. Juli 2005, 22:38:27



Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 25. Juli 2005, 22:38:27
Wo bekomme ich die mod_mysql.c her? Ich hab schon bei Google gesucht und auch auf meiner Platte, aber ich kann da nichts finden. Ich habe in nem Buch was ich habe (Dedizierte Webserver einrichten und verwalten, Galileo Computing) das ganze gelesen aber hab da auch keine Informationen zu den Sachen die ich benötige gefunden.


Titel: Re: ProFTPD und MySQL
Beitrag von: stonki am 26. Juli 2005, 05:40:27
Zitat von: "freq.9"
Wo bekomme ich die mod_mysql.c her? Ich hab schon bei Google gesucht und auch auf meiner Platte, aber ich kann da nichts finden. Ich habe in nem Buch was ich habe (Dedizierte Webserver einrichten und verwalten, Galileo Computing) das ganze gelesen aber hab da auch keine Informationen zu den Sachen die ich benötige gefunden.


ist im proftpd tarball enthalten


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 26. Juli 2005, 12:20:27
Code:
rhein:/tmp/mysql/proftpd-1.2.10# ./configure --prefix=/usr/local/proftpd/ --with-modules=mod_sql:mod_mysql
...
checking for initscr in -lncurses... yes
checking for setproctitle... no
checking libutil.h usability... no
checking libutil.h presence... no
checking for libutil.h... no
checking for setproctitle in -lutil... no
checking sys/pstat.h usability... no
checking sys/pstat.h presence... no
checking for sys/pstat.h... no
checking whether __progname and __progname_full are available... yes
checking which argv replacement method to use... writeable
checking whether printf supports %llu format... yes
source file './modules/mod_mysql.c' cannot be found -- aborting


Und ich habe mir eben das 1.2.10 Tarball gesaugt. Also bin ich irgendwie zu doof dafür oder wie is das nun?

// Edit:
Hab mir auch mal die 1.3er Version gezogen und da ist es ebenfalls nicht dabei.


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 26. Juli 2005, 12:34:59
Omfg es läuft. Hab ich in der README.modules gesehen, dass das Modul nicht mod_mysql sondern mod_sql_mysql heisst ;) trotzdem danke.


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 26. Juli 2005, 12:38:16
Okay es geht doch nicht. Wenn ich make && make install mache bekomme ich nun folgende Meldungen:

Code:
mod_sql_mysql.c:137:19: mysql.h: Datei oder Verzeichnis nicht gefunden
mod_sql_mysql.c:164: error: Syntaxfehler before "MYSQL"
mod_sql_mysql.c:164: Warnung: kein Semikolon am Ende von »struct« oder »union«
mod_sql_mysql.c: In Funktion »_build_error«:
mod_sql_mysql.c:325: Warnung: implicit declaration of function `mysql_errno'
mod_sql_mysql.c:325: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:327: Warnung: implicit declaration of function `mysql_error'
mod_sql_mysql.c:327: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion »_build_data«:
mod_sql_mysql.c:338: error: `MYSQL' undeclared (first use in this function)
mod_sql_mysql.c:338: error: (Each undeclared identifier is reported only once
mod_sql_mysql.c:338: error: for each function it appears in.)
mod_sql_mysql.c:338: error: `mysql' undeclared (first use in this function)
mod_sql_mysql.c:339: error: `MYSQL_RES' undeclared (first use in this function)
mod_sql_mysql.c:339: error: `result' undeclared (first use in this function)
mod_sql_mysql.c:340: error: `MYSQL_ROW' undeclared (first use in this function)
mod_sql_mysql.c:340: error: Syntaxfehler before "row"
mod_sql_mysql.c:349: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:355: Warnung: implicit declaration of function `mysql_store_result'
mod_sql_mysql.c:361: Warnung: implicit declaration of function `mysql_num_rows'
mod_sql_mysql.c:362: Warnung: implicit declaration of function `mysql_num_fields'
mod_sql_mysql.c:367: error: `row' undeclared (first use in this function)
mod_sql_mysql.c:367: Warnung: implicit declaration of function `mysql_fetch_row'
mod_sql_mysql.c:377: Warnung: implicit declaration of function `mysql_free_result'
mod_sql_mysql.c: In Funktion »cmd_open«:
mod_sql_mysql.c:430: Warnung: implicit declaration of function `mysql_ping'
mod_sql_mysql.c:430: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:442: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:442: Warnung: implicit declaration of function `mysql_init'
mod_sql_mysql.c:444: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:455: Warnung: implicit declaration of function `mysql_options'
mod_sql_mysql.c:455: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:455: error: `MYSQL_READ_DEFAULT_GROUP' undeclared (first use in this function)
mod_sql_mysql.c:457: Warnung: implicit declaration of function `mysql_real_connect'
mod_sql_mysql.c:457: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:457: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:457: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:457: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:458: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:458: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:459: error: `CLIENT_INTERACTIVE' undeclared (first use in this function)
mod_sql_mysql.c: In Funktion »cmd_close«:
mod_sql_mysql.c:553: Warnung: implicit declaration of function `mysql_close'
mod_sql_mysql.c:553: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:554: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion »cmd_defineconnection«:
mod_sql_mysql.c:620: error: invalid application of `sizeof' to an incomplete type
mod_sql_mysql.c:623: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:624: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:655: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:656: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:657: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:674: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:675: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:676: error: dereferencing pointer to incomplete type
mod_sql_mysql.c:677: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion »cmd_select«:
mod_sql_mysql.c:798: Warnung: implicit declaration of function `mysql_real_query'
mod_sql_mysql.c:798: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion »cmd_insert«:
mod_sql_mysql.c:912: error: dereferencing pointer to incomplete type
mod_sql_mysql.c: In Funktion »cmd_update«:
mod_sql_mysql.c:1011: 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:1222: Warnung: implicit declaration of function `mysql_escape_string'
mod_sql_mysql.c: In Funktion »cmd_checkauth«:
mod_sql_mysql.c:1289: Warnung: implicit declaration of function `make_scrambled_password'
make[1]: *** [mod_sql_mysql.o] Fehler 1
make[1]: Leaving directory `/tmp/mysql/proftpd-1.2.10/modules'
make: *** [modules] Fehler 2
rhein:/tmp/mysql/proftpd-1.2.10#


Habs wie oben nun dann mit mod_sql_mysql statt mod_mysql konfiguriert


Titel: ProFTPD und MySQL
Beitrag von: stonki am 26. Juli 2005, 23:31:33
a) lese die erste Zeile
b) installiere die mysql devel und headers pakete


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 27. Juli 2005, 19:31:26
Zitat von: "stonki"
a) lese die erste Zeile
b) installiere die mysql devel und headers pakete


Und wo bekomme ich die? Ich finde die nur für RedHat aber ich hab Debian. Auf der MySQL Seite finde ich da auch nicht wirklich welche.


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 23. August 2005, 21:34:40
Wäre da wohl jmd. bereit mir zu sagen, wo ich die devels finden kann? Ich habe im apt-cache/aptitude nachgeschaut und finde es nicht. So langsam brauche ich das dringend :!

// Edit:
Also ich hab nun alien -i MySQL-devel-4.0.24.rpm gemacht (hab die devels vom rpmseek.com) aber es geht weiterhin nicht. Bekomme weiterhin die selbe Fehlermeldung, dass die Headers nicht gefunden werden :(


Titel: ProFTPD und MySQL
Beitrag von: webmaster128 am 23. August 2005, 23:59:13
hi,

ich habe im prinzip das selbe problem.

wenn ich das ding mit
Code:
./configure --with-modules=mod_sql:mod_sql_mysql --with-includes=/usr/include/mysql     --with-libraries=/usr/lib/mysql
kompilliere dann gibt es bei mir den selben fehler.

allerdings existiert bei mir auch das verzeichnis /usr/include/mysql nicht!
kann es sein dass man das nur ändern muss? und wenn ja, wo könnten die benötigten dateien sein?

mfG

Simon


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 24. August 2005, 18:59:58
Hier auch mal ne nette Meldung:

Zitat
rhein:/tmp/ware/DBD-mysql-3.0002# apt-get install mysql-devel
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut... Fertig
mysql-devel ist schon die neueste Version.
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


Das Vieh meint ich habe die neusten Devels aufm Server. Was mach ich denn nun falsch?


Titel: ProFTPD und MySQL
Beitrag von: Wörsty am 27. August 2005, 01:55:37
Ideen:
a) Mit'm Pfad rum spielen (mal mit find nach der mysql.h suchen z.B)
b) Kernel-Headers haste installiert, ja?


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 31. August 2005, 12:48:39
Kernel-Headers? Was das nun wieder? Bzw. für was brauche ich die nun?


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 31. August 2005, 12:53:15
Nun werd ich aber böse... Nun geht das auch noch ;) Hab nun mal andere Header Datein von MySQL genutzt und es geht...

Danke und Sorry, dass ich son Stress gemacht hab. Ist halt recht wichtig :!


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 31. August 2005, 13:51:10
Und nächstes Problem. Wir nutzen VHCS2 und von daher gibt es schon eine Tabelle in der Datenbank für die User des FTP-Servers. Nun habe ich die Config bearbeitet und die sieht wie folgt aus:

Code:
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "FTD"
ServerType                      standalone
DefaultServer                   on

# FXP Unterstuetzung
AllowForeignAddress on

# Login Settings
MaxLoginAttempts 3

# Port 21 is the standard FTP port.
Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           026 027

# 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 under which the server will run.
User                            nobody
Group                           nogroup

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite          on

## Son Zeugs
UseReverseDNS off
IdentLookups off

# MySQL Connection
SQLConnectInfo          vhcs@localhost xxx xxx
SQLAuthTypes            Plaintext
SQLAuthenticate         users*
SQLMinUserUID           500
SQLMinUserGID           500
SQLDefaultUID           65534
SQLDefaultGID           65534

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>

# A basic anonymous configuration, no upload directories.  If you do not
# want anonymous users, simply delete this entire <Anonymous> section.
<Anonymous ~ftp>
  User                          ftp
  Group                         ftp

  # We want clients to be able to login with "anonymous" as well as "ftp"
  UserAlias                     anonymous ftp

  # 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
  <Limit WRITE>
    DenyAll
  </Limit>
</Anonymous>


Wenn ich nun proftpd wie folgt starte:

Code:
/usr/local/proftpd/sbin/proftpd -n -d 5 -c /usr/local/proftpd/etc/proftpd.conf


bekomme ich folgende Meldungen:

Zitat
rhein:/var/mail/virtual# /usr/local/proftpd/sbin/proftpd -n -d 5 -c /usr/local/proftpd/etc/proftpd.conf
 - parsing '/usr/local/proftpd/etc/proftpd.conf' configuration
 - SQLAuthenticate: use of * in SQLAuthenticate has been deprecated.  Use AuthOrder for setting authoritativeness
rhein -
rhein - Config for FTD:
rhein - ~ftp/
rhein -  Limit
rhein -   DenyAll
rhein -  UserName
rhein -  GroupName
rhein -  UserAlias
rhein -  MaxClients
rhein -  DisplayLogin
rhein -  DisplayFirstChdir
rhein -  AllowForeignAddress
rhein -  Umask
rhein -  DirUmask
rhein -  AllowOverwrite
rhein -  SQLConnectInfo
rhein -  SQLAuthTypes
rhein -  SQLAuthenticate
rhein -  SQLMinUserUID
rhein -  SQLMinUserGID
rhein -  SQLDefaultUID
rhein -  SQLDefaultGID
rhein - Limit
rhein -  DenyAll
rhein - DefaultServer
rhein - AllowForeignAddress
rhein - MaxLoginAttempts
rhein - Umask
rhein - DirUmask
rhein - UserID
rhein - UserName
rhein - GroupID
rhein - GroupName
rhein - DefaultRoot
rhein - AllowOverwrite
rhein - IdentLookups
rhein - SQLConnectInfo
rhein - SQLAuthTypes
rhein - SQLAuthenticate
rhein - SQLMinUserUID
rhein - SQLMinUserGID
rhein - SQLDefaultUID
rhein - SQLDefaultGID
rhein - ProFTPD 1.2.10 (stable) (built Mi Aug 24 23:11:22 MEST 2005) standalone mode STARTUP


Ich habe zudem einen Benutzer angelegt

Username: test
Passwort: test

Aber wenn ich zum Server verbinden will bekomme ich dies:

Zitat
rhein (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP session requested from unknown class
rhein (xxx.xxx.xxx.xxx[xxx.xxx.xxx.xxx]) - FTP session closed.


Woran liegt das?

// Edit:
Wo weiss proftpd eigentlich, woher es die Daten beziehen soll, denn es wird nirgends angegeben in welche Tabelle die Daten stehen. Habe die Konfigurationsdatei nach einer Anleitung aus nem Buch was ich habe gemacht.

// Edit 2:
Hab nun mal
Code:
UserInfo ftp_users userid passwd uid gid shell homedir

hinzugefügt. Nun weiss also proftpd schonmal, wo es die Daten herbekommt, aber weiterhin bekomme ich die Fehlermeldungen von wegen "requested from unknown class" bei connecten.


Titel: ProFTPD und MySQL
Beitrag von: freq.9 am 02. September 2005, 01:27:34
So nun läuft alles ;) Hatte ein paar kleinigkeiten verdreht, vergessen und noch einstellen müssen.

noch einstellen müssen:
ProFTPD sucht den MySQL Socket in /var/run/mysqld/mysqld.sock aber bei uns liegt dieser in /tmp/mysql.sock. Habe einen Softlink erstellt und die Verbindung zur Datenbank klappte schonmal.

vergessen:
Hatte verhessen das RequireValidShell auf off zu stellen.

verdreht:
Hatte folgendes gemacht:
Code:
SQLUserInfo ftp_users userid passwd uid gid shell homedir

...dann wurde aber versucht die shell zu chrooten. Dann ist mir aufgefallen, dass es andersherum muss und schon ging alles :)
Code:
SQLUserInfo ftp_users userid passwd uid gid homedir shell


Nochmal vielen Dank für eure Hilfe und sorry nochmal, dass ich so Probleme bereitet hab aber dass es an solch dummen Sachen liegt kann man ja nicht ahnen. :)