ProFTP a web interface pro správu

Jaký server použít pro FTP? Toto rozhodnutí je náročnější, já vím o čtyřech portech, které jsem postupem času zkoušel. Nyní jako FTP server rád používám program ProFTPD. Je značně modulární, je schopen používat SSL/TLS, jako uživatelské databáze RADIUS, LDAP a SQL. Popis by byl asi na delší dobu, každopádně domovská stránka tohoto projektu je na http://www.proftpd.org/

Nejčastější používám jako základ následující konfiguraci:
1) Instalace. Při konfiguraci vybírám podporu IPv6, s podporou MySQL, nainstalované NLS a podporu všech mod_.... s výjimkou RADIUS.
portinstall proftpd

2) Ze stránky http://sourceforge.net/projects/proftpd-adm stáhnu aktuální verzi administrátorského web interface a rozbalím ji pro další konfiguraci (domovská stránka projektu je na http://proftpd-adm.sourceforge.net/). Příklad postupu:
cd /usr/local/www
wget http://ovh.dl.sourceforge.net/sourceforge/proftpd-adm/proftpd_admin_v1.2.tar.gz
tar -xzvf proftpd_admin_v1.2.tar.gz
mv proftpd_admin_v1.2 proftpadmin


3) Upravím konfiguraci apache a restartnu ho. Obsah vloženého kódu je následující:
Alias /proftp "/usr/local/www/proftpadmin"

<Directory "/usr/local/www/proftpadmin">
   Options None
   AllowOverride None
   Order Allow,Deny
   Allow from All
</Directory>


4) Upravím poslední tři řádky v souboru obsahující jméno a heslo uživatele, pod kterým se bude daemon připojovat do databáze. Tento uživatel musí mít dostatečná oprávnění. Pak tento soubor (/usr/local/www/proftpadmin/misc/database_structure_mysql/db_structure.sql naimportuji do MySQL.

cd /usr/local/www/proftpadmin/
mysql -u root -p < misc/database_structure_mysql/db_structure.sql


5) Nastavím práva a upravím přes web rozhraní konfigurační soubor. Je nutné změnit následující informace:
- přihlašovací jméno a heslo do databáze
- umístění hlavního adresáře FTP serveru
- umístění domovských adresářů uživatelů
- cesty k příkazům

chmod o+w /usr/local/www/proftpadmin/configuration.xml

6) Dále je nutné zkopírovat jeden z předpřipravených konfiguračních souborů do adresáře /usr/local/etc a upravit následující tři hodnoty:
<database_name> nastavit na jméno databáze, tedy "proftpd_admin"
<database_user> nastavit na jméno uživatele, standardně "proftpd"
<database_password> vložit heslo, které bylo vloženo do souboru "db_structure.sql"
Dále je potřeba upravit řádek:
SQLAuthTypes Backend
na
SQLAuthTypes Backend Crypt Empty Plaintext

Nyní je možné soubor zkopírovat, například:
cp misc/sample_config/proftpd.conf /usr/local/etc/proftpd.conf

7) Pokud jsou použity kvóty pro přenos, je nutné nastavit oprávnění pro specifikované tabulky databáze, jinak není možné se připojit. Databáze vrátí "unrecoverable backend error" a "error: '1142'". ProFTPd chybu vyhodnotí jako neexistujícího uživatele a při přihlašování je pak dotyčný existující účet vykopnut s kódem 421

8) Posledním krokem je kontrola, zda veškeré soubory a adresáře existují a případně mají správně přidělena práva. Pokud ano, ProFTPd je k dispozici a přes web rozhraní je možné ho nastavit.
Jednou z kontrol kterou doporučuji je i kontrola zalamování řádků. V několika případech jsem zjistil, že uprostřed SQL příkazu je zalomení řádku, s fatálním koncem pro příkaz.

Informace převzaté z webu http://proftpd-adm.sourceforge.net/page_install.php

Na závěr malé doporučení. Tato konfigurace se týká spuštění a úvodního nastavení, které je možné řešit i přes rozhraní WebAdmin. Neřeší zabezpečení přístupu ke konfiguračnímu portálu ! Ta je zcela na úvaze uživatele.

Powered by Drupal - Design by artinet