Witam
Jako, że trochę mi było nie po drodze z proftpd przystosowałem pure-ftpd do współpracy z bazą LMS'a. Dlaczego pure-ftpd? Dzięki włączeniu opcji AUTH uniemożliwia się korzystania z kont użytkowników systemowych i zmusza serwer do pracy z kontami wirtualnymi. No to zaczynamy od instalacji serwera pure-ftpd. Pod Gentoo wygląda to tak:
bart # emerge pure-ftpd -av
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild R ] net-ftp/pure-ftpd-1.0.20-r1 -caps -ldap +mysql +pam -postgres +ssl +vchroot 459 kB
Total size of downloads: 459 kB
Co do innych systemów to każdy chyba wie jak się instaluje pakiety w swoim systemie a jeżeli nie to pozostaje kompilacja ze źródeł. Po zainstalowaniu przechodzimy do stworzenia pliku, który będzie odpowiadał za łączenie się z bazą LMS'a. Tworzymy plik /etc/pureftpd-mysql.conf który to powinien zawierać minimum takie:
MYSQLServer localhost (adres serwera bazy danych - domyślnie 'localhost')
MYSQLPort 3306 (port na którym działa serwer MySql - domyślnie '3306')
MYSQLSocket /var/run/mysqld/mysqld.sock (
MYSQLUser lms (nazwa usera z dostępem do bazy - domyślnie 'lms')
MYSQLPassword hasło (tutaj należy podać hasło)
MYSQLDatabase lms (nazwa bazy danych - domyślnie 'lms')
MYSQLCrypt crypt (sposób przechowywania haseł)
MYSQLGetPW SELECT password FROM passwd WHERE login="\L" (pobieranie hasła dla usera)
MYSQLGetUID SELECT uid FROM passwd WHERE login="\L" (pobieranie uid dla usera)
MYSQLGetGID SELECT gid FROM passwd WHERE login="\L" (pobieranie gid dla usera)
MYSQLGetDir SELECT home FROM passwd WHERE login="\L" (pobieranie nazwy katalogu domowego dla usera)
MySQLGetQTASZ SELECT quota_ftp FROM passwd WHERE login="\L" (quota czyli pojemność konta w MB czyli podając w lms-ui 10 oznacza to pojemność 10MB)
Teraz pozostaje nam już tylko konfiguracja serwera pure-ftpd. (w gentoo plik konfiguracyjny mieści się w /etc/conf.d/pure-ftpd) a więc:
## Najpierw odkomentujmy tę linię, ponieważ inaczej serwer nie będzie chciał wystartować
IS_CONFIGURED="yes"
## Tutaj podajemy adres naszego serwera i port na którym ma nasłuchiwać SERVER="-S www.nasza.domena.pl,21"
## Określamy ilość jednoczesnych połączeń do serwera oraz ilość połączeń z tego samego IP ## To już chyba każdy według potrzeb
MAX_CONN="-c 50"
MAX_CONN_IP="-C 2"
## Startujemy daemona w tle
DAEMON="-B"
## Ustalamy procentową zajętość dysku/partycji kiedy serwer powinien przestać zezwalać na przyjmowanie danych
DISK_FULL="-k 90%"
## Jeżeli serwer jest za NATem odkomentuj tę linię
#USE_NAT="-N"
## Autoryzacja ma być pobierana z bazy LMS'a podajemy ścieżkę do stworzonego przez nas prędzej pliku
AUTH="-l mysql:/etc/pureftpd-mysql.conf"
## Pozostałe opcję w moim wypadku są takie
MISC_OTHER="-A -x -j"
Teraz już tylko pozostaje wystartować serwer:
/etc/init.d/pure-ftpd start
Jeżeli chodzi o bardziej szczegółową konfigurację serwera to po więcej odsyłam na http://www.pureftpd.org/