zawarto

Konfiguracja serwerów, usług, itp.
wojtektorr
Posty: 13
Rejestracja: 13 kwietnia 2009, 15:33
Lokalizacja: Stalowa Wola

zawartość ftp przez http

Post autor: wojtektorr »

Witam wszystkich.
M
am uruchomiony serwer apache, domena do strony www to:

Kod: Zaznacz cały

[url]http://wojtektorr.dyndns.org[/url]
Chciałem dołączyć do tego serwer ftp w taki sposób żeby nie wpisywać

Kod: Zaznacz cały

[url]ftp://wojtektorr.dyndns.org[/url]
tylko np.

Kod: Zaznacz cały

subdomenę ftp.wojtektorr.dyndns.org
i wyświetlało zawartość ftp przez http. Dopisałem vhosta:

Kod: Zaznacz cały

ftp.wojtektorr.dyndns.org:80
jednak wtedy nawet gdy uruchomię adres strony to i tak pokazuje mi się zawartość ftp. Oczywiście mam w plikach ftp index, który pokazuje zawartość ftp.
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Pokaż konfigurację apache i serwera DNS
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

A czy dyndns pozwala na zakładanie subdomen. Wydaje mi się, że to może być podstawowym problemem.
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

Nie wiem co rozumiesz przez "wyświetlało zawartość ftp przez www" ale może zainteresuje Cię http://www.net2ftp.com/
wojtektorr
Posty: 13
Rejestracja: 13 kwietnia 2009, 15:33
Lokalizacja: Stalowa Wola

Post autor: wojtektorr »

Konfig apache:

Kod: Zaznacz cały

VirtualHost *:80>
    ServerAdmin webmaster@localhost
        ServerName wojtektorr.dyndns.org
        DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        Order deny,allow
       Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


<VirtualHost ftp.wojtektorr.dyndns.org:21>
    
    ServerName ftp.wojtektorr.dyndns.org
    DocumentRoot /home/ftp/

    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /home/ftp/>
        Options Indexes FollowSymLinks MultiViews
        Order allow,deny
        allow from all
    </Directory>

</VirtualHost>
Mam zainstalowany serwer dns - dmasq, dodatkowo bind9 ale nic w nim nie konfigurowałem gdyż natknąłem się na taki błąd:

Kod: Zaznacz cały

rndc: connect failed: 127.0.0.1#953: connection refused
Zatrzymałem się na tym. Tak mi się wydawało, że subdomeny trzeba określić gdzieś w konfiguracji dns (bodajże pliku strefy) ale gdzie taki jest nie mam pojęcia. Może ktoś mnie nakieruje? Jeśli chodzi o wyświetlanie zawartości ftp przez http to chodzi mi o to, że w przeglądarce nie pokazuje domyślnie serwera ftp:// tylko uruchamia skrypt index.php, który pozwala na wyświetlenie zawartości katalogu, w którym się znajduje plik.
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Generalnie hosty i subdomeny należy wcześniej zdefiniować w ustawieniach na witrynie DynDNS. Nie wiem, czy w ogóle jest możliwość stosowania subdomen dla domen DynDNS. Nie rozumiem, dlaczego masz witrynę postawioną na porcie 21. Owszem nie neguję tego, bo tak może być, tylko według mnie wtedy musisz podać adres:

Kod: Zaznacz cały

 [url]http://ftp.wojtektorr.dyndns.org:21[/url]
Przecież podanie z przodu "ftp" czy "http" robi ogromną różnicę. To są zupełnie inne protokoły sieciowe, więc trzeba się ich trzymać pomimo zmiany portu.
wojtektorr
Posty: 13
Rejestracja: 13 kwietnia 2009, 15:33
Lokalizacja: Stalowa Wola

Post autor: wojtektorr »

Konkretnie zależy mi na wejściu na stronę:

Kod: Zaznacz cały

ftp.wojtektorr.dyndns.org
i mają mi się wyświetlić pliki serwera ftp. Nie jakieś przekierowania z

Kod: Zaznacz cały

[url]http://ftp.wojtektorr.dyndns.org[/url]
na:

Kod: Zaznacz cały

[url]ftp://ftp.wojtektorr.dyndns.org[/url]
tylko wyświetlenie plików serwera ftp poprzez protokół http.
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

A czy ja gdziekolwiek użyłem sformułowania "przekierowanie"? Skoro konfigurujesz Apache, to konfigurujesz serwer WWW. Serwer WWW działa na protokole http(s). Więc skoro skonfigurowałeś serwer http na porcie 21 (porcie domyślnie używanym przez FTP), to trzymaj się tego z całą konsekwencją. Musisz wtedy używać adresu z podaniem portu:

Kod: Zaznacz cały

[url=http://ftp.wojtektorr.dyndns.org/]http://ftp.wojtektorr.dyndns.org[/URL]:21
Jeżeli nie chcesz tego robić to konfiguracja virtualhosta powinna zawierać port 80, czyli mniej więcej tak:

Kod: Zaznacz cały

<VirtualHost ftp.wojtektorr.dyndns.org:80>
    
    ServerName ftp.wojtektorr.dyndns.org
    DocumentRoot /home/ftp/

    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /home/ftp/>
        Options Indexes FollowSymLinks MultiViews
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>
Poza tym upewnij się, czy na Twoim serwerze nie działa już jakiś serwer FTP, który nie wykorzystuje portu 21. Wtedy w logach serwera Apache (lub przy starcie0 powinien być komunikat w stylu:

Kod: Zaznacz cały

could not bind to socket
Ponadto jak już wspominałem możesz nie mieć prawidłowo skonfigurowanej subdomeny o nazwie ftp dla domeny

Kod: Zaznacz cały

wojtektorr.dyndns.org
Znając życie takiej możliwości DynDNS nie ma, albo jest ona płatna ekstra.
wojtektorr
Posty: 13
Rejestracja: 13 kwietnia 2009, 15:33
Lokalizacja: Stalowa Wola

Post autor: wojtektorr »

Jeśli zmienię port na 80 jak podałeś wyżej to wtedy wpisując adres w przeglądarce

Kod: Zaznacz cały

ftp.wojtektorr.dyndns.org
wtedy automatycznie przeglądarka i tak przerzuca na ftp://ftp.wojtektorr.dyndns.org nie czyta tego pliku index, który jest w tym katalogu plików ftp.

Racja, subdomeny w dyndns są płatne dlatego chcę zrobić taką subdomenę u siebie na serwerze. dyndns używam tylko dla powiązania zmiennego adresu ip ze stałą nazwą domenową (wojtektorr.dyndns.org = aktualnie przyznany adres ip).
Pacek
Beginner
Posty: 315
Rejestracja: 18 sierpnia 2009, 15:17
Lokalizacja: Gdynia

Post autor: Pacek »

Jeśli zmienię port na 80 jak podałeś wyżej to wtedy wpisując adres w przeglądarce

Kod: Zaznacz cały

ftp.wojtektorr.dyndns.org
wtedy automatycznie przeglądarka i tak przerzuca na ftp://ftp.wojtektorr.dyndns.org nie czyta tego pliku index, który jest w tym katalogu plików ftp.
Tak niestety zaprogramowane są przeglądarki, że automatycznie interpretują taką subdomenę jako serwer FTP. Trzeba podawać cały adres włączając protokół, a więc:

Kod: Zaznacz cały

[url]http://ftp.wojtektorr.dyndns.org[/url]
i wtedy będzie dobrze. Ludzie przyzwyczaili się do wygody niewpisywania pełnego adresu wraz z protokołem. Stąd później zaskoczenie, że coś nie działa albo działa inaczej niż sobie to założyliśmy.
Jeżeli wprowadzisz, że VirtualHost chodzi na porcie 21 to nie zmienia to wcale sytuacji, ponieważ wystawiasz katalog nie po protokole FTP (mimo, że port jest od FTP) a po protokole HTTP, który tylko działa na porcie 21.
Racja, subdomeny w dyndns są płatne dlatego chce zrobić taką subdomenę u siebie na serwerze. Dyndns używam tylko dla powiązania zmiennego adresu ip ze stałą nazwą domenową (wojtektorr.dyndns.org = aktualnie przyznany adres ip).
Ciekaw jestem jak tego dokonasz, jak nie jesteś właścicielem tej domeny i nie masz żadnej delegacji takiej domeny. To, że zrobisz to u siebie na serwerze niczego nie zmieni. Myślę, że jedyne rozwiązanie to zakupienie domeny w DynDNSie. Jednak w tej kwestii dobrze żeby wypowiedział się ktoś kto robił podobne rzeczy w DynDNS (subdomeny). Jak masz swoją domenę płatną to w takiej kwestii nie ma problemów. Jak masz jakieś DynDNSy itp. to jesteś na ich łasce. Generalnie poleciłbym zamiast zabawy z subdomeną zrobić alias coś w stylu

Kod: Zaznacz cały

[url]http://wojtektorr.dyndns.org/ftp/[/url]
ODPOWIEDZ