Tag,
hab heute ma ein Update meines FC5-Servers via yum gemacht und festgestellt, dass die Fedora-Leutchens doch endlich ma auf die kluge Idee gekommen sind, das Paket proftpd-mysql zu erstellen. Hierbei handelt es sich aber um nichts weiter als die 2 .so-Dateien für mod_sql und mod_sql_mysql. Soweit so gut. Meine Konfigurationsdatei sieht so aus:
# BASIC SERVER CONFIG
ServerName "ProFTPD @ xion.lx"
ServerType standalone
DefaultServer on
Port 21
Umask 022
MaxInstances 30
#Wichtig! Sonst dauert Login unter VMWare lange, da keine Auflösung möglich
IdentLookups off
UseReverseDNS off
User ftp
Group ftp
DefaultRoot ~
AuthPAM off
AllowOverwrite on
RequireValidShell off
RootLogin off
PidFile /var/run/proftpd.pid
ServerLog /var/log/ftp/proftpd.log
LogFormat default "%h %l %u %t \"%r\" %s %b"
LogFormat auth "%v [%P] %h %t \"%r\" %s"
<Limit SITE_CHMOD>
Order allow,deny
Allow 192.168.1.0/24
Allow 192.168.2.0/24
Deny from all
</Limit>
# MESSAGES
AccessDenyMsg "FTP xion.lx: Zugang verweigert fuer %u."
AccessGrantMsg "FTP xion.lx: Zugang gewaehrt fuer %u."
DisplayLogin .willkommen.msg
# DIRECTORY SPECIFIC
<Directory /srv>
ListOptions "-a"
HideFiles "(\.htaccess|\.ftpaccess|\.willkommen.msg)$"
</Directory>
# ANONYMOUS CONFIG
<Anonymous /srv/ftp>
User ftp
Group users
Umask 002
<Directory /srv/ftp>
HideFiles "(\.htaccess|\.ftpaccess|\.willkommen.msg)$"
DirFakeUser on anonymous
DirFakeGroup on anonymous
</Directory>
UserAlias anonymous ftp
MaxClients 10
DisplayLogin .willkommen.msg
<Limit WRITE>
Order allow,deny
Allow 192.168.1.0/24
Allow 192.168.2.0/24
Deny from all
</Limit>
</Anonymous>
# SQL CONFIG
SQLAuthenticate on
SQLAuthTypes Crypt
SQLConnectInfo system@localhost ***** *****
SQLGroupInfo ftp_groups group_name group_id group_members
SQLUserInfo ftp_users user_name user_passwd user_id group_id home_dir shell
SQLMinID 10
SQLLogFile /var/log/ftp/sql.log
Ich habe mir also die SRPMS runtergeladen und die RPM via rpmbuild wie folgt erstellt:
rpmbuild -bb --with mysql proftpd.spec
So habe ich das bisher immer gemacht, da MySQL-Support per default nicht mit drin war. Daraus sind dann 2 Pakete proftpd und proftpd-mysql entstanden, die ich installiert habe (vorher das alte proftpd deinstalliert). Funktioniert auch soweit, bis eben auf MySQL.
Beim Start sagt er, dass er die Direktive "SQLAuthenticate" nicht kennen würde, was darauf hindeuted, dass er das MySQL-Modul überhaupt nicht geladen hat. In der Liste der fest einkompilierten Module (proftpd -l) stehts ja nicht mehr drinne, da die MySQL-Mods ja nun DSO's sind und proftpd 1.3.0(-2) das ja auch können soll.
Ich habe versucht in der .spec-Datei im configure-Kommando auch --enable-shared mit einzubringen (die Pfade zu den MySQL-Client-Libs waren schon korrekt gesetzt), hat jedoch auch nichts geholfen. Die .so-Dateien sind unter /usr/libexec/proftpd zu finden.
Findet proftpd die nicht, oder wie? Wie muss ich die einbinden?