ďťż
 
 
   [+] Apache - wirtualne hosty (vhosts)
 
 

Tematy

 
    
 

 

 

 

[+] Apache - wirtualne hosty (vhosts)





sigo - 02-06-2009 01:43
Mam zainstalowany serwer apache2 oraz podpiętą domenę.

Próbuję rozdzielić ruch przychodzący (www) po adresie ip oraz po domenie - w praktyce chciałbym wyświetlać inne strony po wpisaniu adresu ip i domeny.

Starałem się rozwiązać to poprzez utworzenie wirtualnych hostów:
<VirtualHost *:80>
        DocumentRoot /var/www/default/public/
        ErrorLog /var/www/default/logs/error.log
        LogLevel warn
        CustomLog /var/www/default/logs/access.log combined
</VirtualHost> <VirtualHost domena.pl>
        DocumentRoot /var/www/domena.pl/public/
        ErrorLog /var/www/domena.pl/logs/error.log
        LogLevel warn
        CustomLog /var/www/domena.pl/logs/access.log combined
</VirtualHost> niestety ten sposób nie działa.

Wyobrażałem sobie, iż ruch przychodzący na domenę będę przekierowywał do katalogu z odpowiednią stroną (drugi kod), a wszelkie inne zapytania (czyli np. wejście poprzez adres ip) wyłapywał i przekierowywał także do odpowiedniego katalogu (pierwszy kod).

Czy ktoś jest w stanie podsunąć mi jakąś podpowiedź, dzięki której mógłbym rozwiązać powyższy problem (o ile jest to oczywiście wykonalne)?



Yampress - 02-06-2009 08:37
a gdzie
ServerName ... ? tu masz przykłady.

http://httpd.apache.org/docs/2.2/vhosts/
http://httpd.apache.org/docs/2.2/vhosts/examples.html



lessmian2 - 02-06-2009 08:42
Zmień lepiej drugi config na:
<VirtualHost *:80>
    ServerName domena.pl
    DocumentRoot /var/www/domena.pl/public/
    ErrorLog /var/www/domena.pl/logs/error.log
    LogLevel warn
    CustomLog /var/www/domena.pl/logs/access.log combined
</VirtualHost> Druga sprawa, podlinkowałeś pliki zawierające tą konfigurację do katalogu /etc/apache2/sites-enabled/? Przeładowałeś Apache2? Napisz może coś więcej jak to zrobiłeś, bo być może błąd jest w jeszcze innym miejscu.

EDIT. Kurde, znowu mnie ktoś ubiegł. Ech, starość widać ;-)



sigo - 02-06-2009 16:55
Przeglądałem podręcznik wielokrotnie. W nocy miałem jakiś problem z myśleniem - wydawało mi się iż ServerName nie jest wymagany.

Całość rozwiązałem poprzez:
<VirtualHost *:80>
        DocumentRoot /var/www/default/public/
        <Directory /var/www/default/public/>
                Options -Indexes
                AllowOverride All
        </Directory>
        ErrorLog /var/www/default/logs/error.log
        LogLevel warn
        CustomLog /var/www/default/logs/access.log combined
</VirtualHost> <VirtualHost *:80>
        ServerName domena.pl
        DocumentRoot /var/www/domena.pl/public/
        <Directory /var/www/domena.pl/public/>
                Options -Indexes
                AllowOverride All
        </Directory>
        ErrorLog /var/www/domena.pl/logs/error.log
        LogLevel warn
        CustomLog /var/www/domena.pl/logs/access.log combined
</VirtualHost> Wszystko jest podlinkowane do sites-enabled. W ten sposób mogę łatwo zarządzać kolejnymi domenami, dodawać aliasy do aktualnych itd - wystarczy utworzyć nowy plik i utworzyć dowiązanie.

Dziękuję za odpowiedzi.

Poprawka: w pierwszym kodzie, nie jest potrzebne określenie ServerName, gdyż serwer wyłapuje wszystkie nieokreślone adresy, domeny itp. na jedną stronę (określoną w pierwszym kodzie) - przepraszam za powtórzenie, nie potrafiłem tego inaczej ująć.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • minister.pev.pl

  •  

     


     

     
    Copyright 2003. MĂłj serwis