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. :) |