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ę:
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
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.