Serwery wirtualne w Apache ( OS X )

W systemie Apple OS X konfiguracja serwera Apache wygląda nieco inaczej niż w np. w popularnym Debianie. Ale różnice są tylko „kosmetyczne” z uwagi na nieco inną lokalizację plików konfiguracyjnych. Jeśli chcemy lokalnie testować nasze strony na komputerze z OS X wykorzystamy wbudowanego Apache`a tworząc tzw. wirtualne serwery ( virtual host ).

Na samym początku musimy sprawdzić, czy serwer Apacze jest w ogóle uruchomiony. Aby sprawdzić czy nasza usługa jest uruchomiona możemy sprawdzić to na 2 sposoby:

Musimy wejść do sekcji „Sharing” ( Udostępnianie ) i tam włączyć nasz serwer.
Oczywiście „System Preferences” ( Ustawienia Systemowe ) mamy na docku na pulpicie/

System Preferences -> Sharing -> Web Sharing

Drugi sposób to przez konsolę:

user@local:$ apachectl start

Jeśli mamy już włączony serwer, możemy sprawdzić jego działanie w przeglądarce: localhost lub 127.0.0.1

Jeśli chcemy aby dostęp był przez inna nazwę ( zamiast localhost ), musimy zedytować plik: /etc/hosts

user@local:$ sudo pico /etc/hosts

Dopisujemy linijkę:

127.0.0.1    nasza_nowa_nazwa

Teraz mamy dostęp do głównego hosta poprzez zadeklarowaną wcześniej nazwę.

Konfiguracja Wirtualnego Hosta

Plik konfiguracyjny odpowiedzialny za wirtualne serwery znajduje się w lokalizacji:

/etc/apache2/extra/httpd-vhosts.conf

W Debianie najczęściej musimy utworzyć nowy plik z nazwą wirtualnego hosta w katalogu:

/etc/apache2/sites-available

i dodatkowo utworzyć linki symboliczne w katalogu /etc/apache2/sites-enabled do utworzonego wcześniej pliku z konfiguracją wirtualnego hosta. No ale to tylko taka dygresja 🙂

Należy dopisać do niego naszą dyrektywę tworzącą nowego virtual hosta:

<VirtualHost *:80>
ServerName <b>nasza_nazwa</b>
ServerAlias <b>nasza_nazwa</b>
DocumentRoot <b>"/Users/Jakis_User/Documents/"</b>
ErrorLog <b>"/private/var/log/apache2/nasza_nazwa_log"</b>
CustomLog <b>"/private/var/log/apache2/nasza_nazwa_log" common</b>
</VirtualHost>

Wszystko to co jest pogrubione dostosowujemy do naszych potrzeb. W ServerName nasza_nazwa moze to być localhost lub nazwa z pliku /etc/hosts. Jeśli nasz komputer jest serwerem i jest widoczny w sieci to oczywiście możemy wpisać nazwę naszej domeny.
ServerAlias tutaj ma być to samo co w ServerName, jeśli mamy swoją domenę internetową to możemy dodać aliasy w stylu www.domena.com, subdomena.com etc. Dzięki temu strona będzie widoczna z przedroskiem www. lub ewentualnymi subdomenami.
DocumentRoot – określamy ścieżkę do katalogu w którym znajdują się pliki z naszą stroną.
Pozostałe Dyrektywy odpowiadają za lokalizację plików z logami.

Po zapisaniu pliku restartujemy serwer:

apachectl restart

Jeśli po tych operacjach nasza strona dalej jest niewidoczna np. mamy informację Permission Denied to sprawdzamy czy nadaliśmy odpowiednie prawa katalogowi podanemu w dyrektywie DocumentRoot i czy przypadkiem ścieżka jest prawidłowa.

Dodaj komentarz