Strona 1 z 2

vsftp + logowanie www [SOLVED]

: 02 lip 2012, 15:43
autor: DekeR
Witam,
mam własny serwer z podpiętą domeną [powiedzmy, że jest to "serwer.pl], na którym zainstalowałem vsftp.
Chciałbym teraz tak to skonfigurować, aby po wejściu na stronę http://ftp.serwer.pl można się było zalogować do ftp.
Nie wiem jak się do tego zabrać, może ktoś mnie nakieruje na jakiś tutorial - sam szukałem, ale nigdzie nie ma tego krok po kroku.
Już skończyły mi się pomysły co w google wpisać:-/

Dodaj jeszcze, że po uruchomieniu vsftpd, który w configu ma wpisane działanie na porcie 21 dostaję:

Kod: Zaznacz cały

netstat -n -l|grep "moje_IP"
tcp        0      0 moje_IP:1194      0.0.0.0:*               LISTEN
a na http://ftp.serwer.pl wyskakuje mi:

Kod: Zaznacz cały

ERROR

The requested URL could not be retrieved

While trying to retrieve the URL: http://ftp.serwer.pl/

The following error was encountered:

Connection to IP_mojego_serwera Failed
The system returned:

    (111) Connection refused
The remote host or network may be down. Please try the request again.

Your cache administrator is webmaster. 
Generated Mon, 02 Jul 2012 13:35:26 GMT by serwer.pl (squid/2.7.STABLE6)

Re: vsftp + logowanie www

: 02 lip 2012, 18:44
autor: ethanak
a próbowałeś czytać np. dokumentację Apacza (czy co tam sobie zainstalowałeś jako serwer www)? Ja rozumiem, że to jest mało intuicyjne (czytanie dokumentacji serwera www kiedy się chce uruchomić usługę www) - ale uwierz, takie minimum myslenia czasem się przydaje...
...przy sprzedawaniu pietruszki też.

Re: vsftp + logowanie www

: 02 lip 2012, 19:34
autor: DekeR
mało konstruktywna odpowiedź, ale masz słuszność - nie czytałem ani dokumentacji nginx'a ani lighttpd, na których działam, bo nie jestem znawcą.
mogę liczyć na nakierowanie na jakiś tutorial lub sugestie co należy wpisać w google, czy to forum jest tylko dla wymiataczy?

Re: vsftp + logowanie www

: 02 lip 2012, 19:39
autor: ethanak
jaki serwer? ja znam tylko apacza, tu mogę ew. podać gotowe rozwiązanie. Ale z ciekawości - dlaczego nie chcesz zrozumieć co trzeba zrobić? Przecież poczytanie sobie dokumentacji i na jej podstawie skonfigurowanie serwera będzie trwało krócej, niż znalezienie kogoś kto dany serwer zna i jeszcze ma na tyle wolnego czasu, że zamiast pójść do baru na piwo będzie pisać jednorazowe instrukcje dla mało pojętnych...

Re: vsftp + logowanie www

: 02 lip 2012, 19:49
autor: DekeR
będę wdzięczny za instrukcje do apacha, sądzę że sam w ramach nauki przerobię to jakoś na light'a [na nginx przyjdzie czas], bo będę miał punkt zaczepienia do szukania i testowania. z rozpędu źle się wyraziłem, bo podenerwowało mnie sugerowanie, że nie myślę.
w niektórych rzeczach grzebię na poziomie semi-pro, tutaj ewidentnie brakuje mi podstaw:-(

Re: vsftp + logowanie www

: 03 lip 2012, 07:20
autor: ethanak
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

Kod: Zaznacz cały

sudo apachectl graceful
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ę:

Kod: Zaznacz cały

Redirect / ftp://ftp.domena.tld/
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.

Re: vsftp + logowanie www

: 03 lip 2012, 07:43
autor: jacekalex
A nie prosciej j byłoby, żeby Apacha kierował pacjenta na adres ftp://serwer.tld:21/
Zdecydowana większosć przeglądarek obsługuje ftp, do tego są nawet takie bajery jak Fireftp do FF.

Re: vsftp + logowanie www

: 03 lip 2012, 07:50
autor: ethanak
No przeca żem to napisał w linijce redirect... a "zdecydowana większość" != "wszystkie". Epiphany np. nie obsługuje.

Re: vsftp + logowanie www

: 03 lip 2012, 08:00
autor: jacekalex
Epiphany? i jakie jeszce? Firefox? Opera? Chrome? Chromium? Bo o ile pamiętam z mojego życia, to nawet IE6 miał klienta FTP.
Chrome przed sekundą grzecznie zapytal o hasło do ftp na porcie 2121 (nie zalogował się - bez TLS niewykonalne).

A ten obrazek też conieco wyjaśnia w kontekście dość znanej przeglądarki
(na którą podobno ma apetyt Facebook):
Obrazek

Chyba, że w czyjejkolwiek opinii jedyną używaną na świecie przeglądarką jest Epiphany :), choć śmiem przypuszczać, że nawet na tym forum nie znajdę zbyt wielu osób, które używają tej przeglądarki na codzień.
O użyszkodnikach systemów z Redmond nie wspomijąc. :rotfl:

Pozdrawiam
:craz:

Re: vsftp + logowanie www

: 03 lip 2012, 08:10
autor: ethanak
Kur... następny który wie lepiej ode mnie co jest dla mnie dobre.
Lynx nie obsługuje ftp. Wystarczy? I bez dyskusji w stylu "kto używa lynxa" proszę.

Przeglądarka to nie klient ftp. Może nie dla wszystkich to jest jasne, ale przeglądarka służy do przeglądania stron (jako to również przeróżnych webowych aplikacji) serwowanych protokołem http.
Tak samo jak ping nie służy do sprawdzania która żyła w kablu walnęła.

Re: vsftp + logowanie www

: 03 lip 2012, 08:19
autor: jacekalex
Za bardzo Cię szanuję, żeby wiercić temat, ale zarówno do Epiphany, jak i Linksa, Lynxa i Elinksa wystąpię z jednym i tym samym oskarżeniem: nie obsługują Adblocka.
I tak się dziwnie składa, że nie znam nikogo, kto ma jakąkolwiek przeglądarkę z wyjątkiem IE, i nie ma na niej Adblocka.
Ja wiem, że większość != wszystkie, ale to bynajmniej nie oznacza dokuczliwości dla użytkownika Epiphany, bo trudno mi uwierzyć, że ktoś ma jedną przeglądarkę o dość "umiarkowanych" możliwościach, natomiast Linksa i Lynxa traktuję raczej jako egzotyczne ciekawostki.
Z resztą, jak Lynx nie da rady, to haker sobie telnetem, mc albo magiczną komendą ftp poradzi, a jak ktoś nie jest hakerem, to i tak w Lynxie niewiele zdziała. :)

Edyta:
Czyżby ktoś wspomiał o Lynxie?

Kod: Zaznacz cały

lynx ftp://localhost:2121/

Looking up localhost:2121
Making FTP connection to localhost:2121
Looking up localhost:2121
Making FTP connection to localhost:2121
Can't Access `ftp://localhost:2121/'
Alert!: Unable to access document.

lynx: Can't access startfile 
Wzorem FF, Opery i Chrome, nie wie, co to logowanie po ssl/tls do ftp, ale ponad wszelką watpliwość wie, co to jest ftp i obsługuje ten protokół w podstawowej wersji. W roli głównej udział wziął:

Kod: Zaznacz cały

qlist -IvUqC lynx
www-client/lynx-2.8.8_pre12 bzip2 cjk gnutls ipv6 nls ssl unicode
:)

I to by bylo na tyle
:craz:

Re: vsftp + logowanie www

: 03 lip 2012, 10:05
autor: ethanak
Hm... nic nie rozumiem.
W chwili pisania sprawdziłem - lynx nie miał najmniejszego zamiaru łączyć się z serwerem ftp.
Teraz wlazłem do domu przez ssh - lynx się pięknie połączył z tym samym serwerem...
Czary czy uroki Ubuntu 12.04?
W każdym razie argument odpadł.

Re: vsftp + logowanie www

: 03 lip 2012, 10:11
autor: DekeR
także postawiłem sobie apache na pierwszą konfigurację, przepisałem reguły mojej strony i postąpiłem zgodnie z radami ethanak
żeby skonfigurować ftp [tryb www]. nadal mam :

Kod: Zaznacz cały

#netstat -n -l|grep "moje_IP"
tcp        0      0 moje_IP:1194      0.0.0.0:*               LISTEN
i nadal wywala w przeglądarce to co w pierwszym moim poście:-/
mój konfig:

Kod: Zaznacz cały

<VirtualHost moj_IP:80>
 DocumentRoot /var/www/ftp
 ServerName ftp.domena.pl

 ErrorLog /var/log/apache-ftp.log

 #Redirect / ftp://ftp.domena.pl/
     <Directory /var/www/ftp>
         <LimitExcept GET POST>
                     Order allow,deny
                     Allow from all
         </LimitExcept>

         Options -Indexes FollowSymLinks MultiViews
         AllowOverride All
     </Directory>
</VirtualHost>

Re: vsftp + logowanie www

: 03 lip 2012, 10:24
autor: ethanak
Na pewno Apacz słucha na tym adresie?
Na pewno adres ftp.domena.pl rozwiązuje się na twój IP?
Nie było żadnych informacji o błędach przy graceful?
Co będzie jeśli dasz gwiazdkę zamiast IP w VirtualHost?
Co mówią:

Kod: Zaznacz cały

sudo lsof -n -i | grep apache
host ftp.domena.pl
(oczywiście podstawiając właściwą nazwę)

Re: vsftp + logowanie www

: 03 lip 2012, 10:25
autor: jacekalex
@DekeR

Ja na Twoim miejscu w ogóle nie łączyłbym Apacha z ftp, jest to niezbyt bezpieczne połączenie ze względu na słabości samego protokołu ftp, ale jak jest to niezbędne, to Apache ma własny modul mod_ftp - miał trochę wtop z bezpieczeństwem, ale może się nada, jest teraz w wersji beta, więc ostrożnie.
W ogóle zamiast ftp radzę stosować ssh i sftp.

Sznurek - tam masz wszystko opisane (Apache - moduł ftp):
http://httpd.apache.org/mod_ftp/ftp/index.html

Pozdrawiam
:craz:

Re: vsftp + logowanie www

: 03 lip 2012, 10:28
autor: ethanak
jacekalex pisze: jak jest to niezbędne, to Apache ma własny modul mod_ftp - miał trochę wtop z bezpieczeństwem, ale może się nada.
To ja tylko jako ciekawostkę podam że ktoś próbował dorobić http do vsftp - na szczęście szybko mu to z głowy wybito :)

Re: vsftp + logowanie www

: 03 lip 2012, 10:32
autor: jacekalex
ethanak pisze:
jacekalex pisze: jak jest to niezbędne, to Apache ma własny modul mod_ftp - miał trochę wtop z bezpieczeństwem, ale może się nada.
To ja tylko jako ciekawostkę podam że ktoś próbował dorobić http do vsftp - na szczęście szybko mu to z głowy wybito :)
I bardzo dobrze.
Obecnie tyle jest hakerskich bootów, że ze względów bezpieczeństwa najlepiej wszystkie usługi sieciowe separowac już nawet nie na chrootach, ale wirtualnych maszynach Xena, jak w Qubes.

Re: vsftp + logowanie www

: 03 lip 2012, 15:18
autor: DekeR

Kod: Zaznacz cały

#lsof -n -i | grep apache
13106   wwwrun    3u  IPv4 108485838      0t0  TCP 192.168.0.2:http (LISTEN)
4-5 wpisów o różnych numerach

Kod: Zaznacz cały

#host
ftp.domena.pl has address moje_IP

Kod: Zaznacz cały

#graceful
Module "proxy_html" is not installed, ignoring.
Check the APACHE_MODULES setting in /etc/sysconfig/apache2.
Reload httpd2 (graceful restart)

Re: vsftp + logowanie www

: 03 lip 2012, 15:26
autor: ethanak
Czyli jeśli twoje_IP to nie jest 192.168.0.2 to znaczy, że apacz nie słucha na tym adresie i nic dziwnego, że nie możesz się z nim połączyć.

Kod: Zaznacz cały

find /etc/apache2 -type f -exec grep -l Listen '{}' ';'
Albo po prostu zapodaj co masz w dyrektywie Listen

Re: vsftp + logowanie www

: 03 lip 2012, 15:39
autor: DekeR
w pliku:
/etc/apache2/listen.conf

miałem podane IP dla serwera w LAN, a nie zewnętrzne


@ethanak - szacunek za wiadomości, wymiatacz z Ciebie. dzięki za fachową pomoc, teraz widzę jak to działa i mam nadzieję poszerzyć swoją wiedzę

@wszyscy - dzięki za pomoc i ciekawe informacje