Zacznijmy od pytania: czy przez "zalogowanie do ftp" rozumiesz pełne zalogowanie do serwera używając przeglądarki jako klienta ftp, czy (wiem że to głupie ale niektórzy tak to rozumieją) dostęp przez http do katalogu publicznego serwera ftp?
Jeśli to ma byc normalne zalogowanie, wystarczy po prostu przekierowanie z protokołu http na ftp - jeśli na serwerze nie ma anonimowego ftp oczywiście. Jeśli tylko dostęp do publicznego katalogu - nie ma co zawracać głowę serwerowi ftp.
W obu przypadkach trzeba zrobić wirtualnego hosta dla Apacza.
W Ubuntu pliki z konfiguracją siedzą w /etc/apache2/sites-available - czyli tworzymy sobie tam pliczek o nazwie np. "ftp" z zawartością w stylu:
Kod: Zaznacz cały
<VirtualHost *:80>
ServerName ftp.domena.tld
DocumentRoot /srv/ftp
<Directory /srv/ftp>
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
</Directory>
CustomLog ${APACHE_LOG_DIR}/ftp_access.log combined
ErrorLog ${APACHE_LOG_DIR}/ftp_error.log
</VirtualHost>
Po utworzeniu takiego pliczku trzeba jeszcze powiedzieć apaczowi żeby go użył. W Ubuntu robi się poprzez podlinkowanie pliku w /etc/apache2/sites-enabled. Czyli w najprostszym przypadku:
Kod: Zaznacz cały
sudo ln -s /etc/apache2/sites-available/ftp /etc/apache2/sites-enabled/001-ftp
Po wydaniu polecenia
powinniśmy pod adresem
http://ftp.domena.tld zobaczyć zawartość katalogu publicznego (anonimowego ftp).
Niektórym (jak na początku wspominałem) do szczęścia to wystarczy. Co jednak, kiedy nie mamy anonimowego ftp, a potrzebujemy pełnego zalogowania?
Wystarczy powiedzieć Apaczowi, żeby wszystkie żądania do tego vhosta przekierowywał do serwera ftp. W pliku konfiguracyjnym zaraz przed linijką "Directory" dodajemy linię:
Po ponownym przeładowaniu Apacza (graceful) każde odwołanie http zostanie przekierowane do serwera ftp. Czy natomiast przeglądarka będzie chciała z nim gadać... coż, to już zależy od przeglądarki, nie wszystkie to potrafią.
Sytuacja, kiedy mamy zarówno anonimowy ftp jak i nie-anonimowy jest nieco bardziej skomplikowana i możliwa do rozwiązania na kilka sposobów. Mam nadzieję że to nie jest akurat taki przypadek?
UWAGA. Przedstawione rozwiązanie działa u mnie (proftpd + apache + firefox). Nie gwarantuję, że zadziała w każdym przypadku. Nie gwarantuję również, że nie mam gdzieś głupiej literówki.