Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Apache2] Problem z konfiguracją vhost
Forum PHP.pl > Forum > Serwery WWW > Apache
lolekk
Witam,

Mam problem z konfiguracją vhostów w Apache2. Otóż chciałbym ustawić je tak, żeby:
*.example.com prowadziło do np. /var/www/example.com/www/htdocs/
stats.example.com prowadziło do np. /var/www/example.com/stats/htdocs/

Generalnie idea jest taka, że każdy zarejestrowany użytkownik dostanie dynamiczną subdomenę (<username>.example.com), natomiast chciałbym sobie zarezerwować subdomenę stats.example.com dla statystyk, a także mieć możliwość dodania kiedyś kolejnych subdomen (np. blog.example.com, api.example.com, wap.example.com itp.).

Aktualnie moja konfiguracja wygląda tak:
# /etc/apache2/01_example.com.conf
CODE

<VirtualHost *:80>
ServerName www.example.com
ServerAlias example.com *.example.com
DocumentRoot /var/www/example.com/www/htdocs

# /etc/apache2/02_stats.example.com.conf
CODE

<VirtualHost *:80>
ServerName stats.example.com
DocumentRoot /var/www/example.com/stats/htdocs

i jak łatwo się domyślić - nie działa tak jakbym chciał.

Niby mógłbym skorzystać z dyrektywy Alias i utworzyć po prostu urle w postaci:
http://www.example.com/stats
http://www.example.com/blog
http://www.example.com/api
ale mimo wszystko chciałbym wiedzieć czy istnieje możliwość skonfigurowania apacha w taki sposób, aby działała opcja z vhostami. Może ma ktoś jakiś pomysł?
ARJ
vhosta z wpisem ze stats dałeś do pliku /etc/apache2/02_stats.example.com.conf, a w httpd.conf lub apache2.conf (zależy od dystrybucji) masz dodany wpis ładujący ten plik?
Kod
Include /etc/apache2/02_stats.example.com.conf
lub
Include /etc/apache2/*.conf
lolekk
Nazwy plików napisałem przykładowe, tak na prawde to powinno być /etc/apache2/vhosts.d/01_example.com.conf i /etc/apache2/vhosts.d/02_stats.example.com.conf, a w /etc/apache2/httpd.conf mam wpis:
Kod
Include /etc/apache2/vhosts.d/*.conf

więc jeżeli chodzi o ładowanie plików konfiguracyjnych to jestem bardziej niż pewien, że jest ok. Problem leży bardziej w dyrektywach ServerName i ServerAlias. Już pierwszy vhost deklarując dyrektywę ServerAlias *.example.com wyczerpuje wszystkie inne możliwości i tak naprawdę dopasowanie do ServerName stats.example.com z drugiego vhosta nigdy nie będzie mieć miejsca (przynajmniej ja tak to rozumiem). Problem w tym, że nie wiem jak skierować na pierwszego vhosta wszystkie subdomeny poza wybranymi (kolejność ładowania vhostów nic nie zmienia).


Edit: Problem rozwiązał się po wyczyszczeniu cache przeglądarki. Okazało się, że jednak kolejność ładowania vhostów ma znaczenie i najpierw muszą być załadowane wszystkie vhosty (stats.example.com, blog.example.com itp), a dopiero potem główny vhost z aliasem *.example.com. Ale nie wpadłem na to, ze Firefox może mi cacheować takie rzeczy... W każdym bądź razie działa tak jak chciałem. Dzięki ARJ za odzew.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.