[Linux] Konfiguracja Apache 2 - VirtualHost
Instalacja i uruchomienie Apache'a na swoim własnym serwerze to jedynie częściowy sukces. Problem pojawia się, gdy zechcemy przekierować dowolną domenę na nasz serwer. Oczywiście po stronie domeny wystarcza wpisanie odpowiednich ustawień DNS (wymagane są wpisy typu A wskazującego na fizyczny serwer), jednak skąd nasz komputer ma wiedzieć do którego konkretnego katalogu i pliku ma się odnieść gdy ktoś wpisze w okno przeglądarki nasz adres internetowy?
W tym miejscu właśnie wkracza mechanizm hostów wirtualnych, dzięki któremu możliwe jest obsługiwanie różnych stron o adresach domenowych na jednej fizycznej maszynie.
To właśnie VirtualHost'y przyczyniają się do tego, że dane zapytanie przekierowywane jest do konkretnego wcześniej zdefiniowanego katalogu z którego uruchamiane są wcześniej oznaczone pliki główne.
Poniżej zamieszczam przykład z własnego serwera w którym uwypuklone zostały zmienne ustawiane indywidualnie pod daną domenę i katalog.
<VirtualHost *>
ServerAdmin EMAIL @ ADMINA.PL
ServerName WWW.NAZWA.DOMENY.PL
ServerAlias NAZWA.DOMENY.PL
#Katalog
DirectoryIndex index.php index.html index.htm
DocumentRoot /SCIEZKA/DO/KATALOGU/DOMOWEGO/NAZWA_USERA/PUBLIC_HTML
#Logi
ErrorLog /var/log/apache2/NAZWA_USERA-error.log
CustomLog /var/log/apache2/NAZWA_USERA-access.log combined
</VirtualHost>
Powyższy kod odnosi się do jednej konkretnej domeny przekierowywanej do jednego katalogu. W celu dodania kolejnych domen należy stworzyć nowe pliki, tak aby każda domena była skonfigurowana w odrębnym pliku.
Pliki z danymi konfiguracyjnymi umieszczamy w poniższym katalogu:
/etc/apache2/sites-available
Ostatnim etapem ustawień mechanizmu wirtualnych hostów jest aktywacja przekierowań. W tym celu należy będąc w powyższym katalogu wpisać polecenie
a2ensite NAZWA_PLIKU
Po wykonaniu tej komendy zostaniemy poinformowani o aktywacji naszego VirtualHost'a, a także poproszeni o restart Apache'a
Enabling site NAZWA_PLIKU
Run '/etc/init.d/apache2 reload' to activate new configuration!
Nie pozostaje nam nic innego jak tylko wykonać to zalecenie, aby wszelkie zmiany weszły w życie
/etc/init.d/apache2 restart
Na zakończenie należy powiedzieć, iż w przypadku gdybyśmy chcieli z jakichś powodów deaktywować naszego wirtualnego hosta to mamy do dyspozycji komendę
a2dissite NAZWA_PLIKU
Dodaj komentarz