|
[+] 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.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|