Testowanie serwisów internetowych na localhost
Przy tworzeniu serwisu internetowego zazwyczaj tworzę i testuję skrypty na lokalnym komputerze. Wysyłanie plików na serwer po każdej zmianie jest zbyt czasochłonne. Lepiej zainstalować gotowy pakiet Apache+PHP+Mysql (np. popularny w Polsce Krasnal lub XAMPP) i uruchamiać skrypty bezpośrednio na localhost.
Jednak często, szczególnie przy większych serwisach, zachodzi potrzeba umieszczenia serwisu w osobnej domenie, a nie w podkatalogu. Chcemy mieć możliwość wpisania w przeglądarkę adresu http://domena.cośtam/ zamiast http://localhost/podkatalog/. Jest to potrzebne na przykład po to, aby możliwe było używanie bezwględnych ścieżek w linkach (można wtedy pisać <a href="/sciezka/plik.html">, zamiast męczyć się ze ścieżkami względnymi takimi jak <a href="../../sciezka/plik.html">). Dzięki takiemu rozwiązaniu korzystanie z mod_rewrite również staje się prostsze, ponieważ ten sam plik .htaccess możemy użyć na serwerze oraz na komputerze lokalnym i nie musimy męczyć się z dyrektywą RewriteBase, która często bywa kłopotliwa.
Aby utworzyć domenę na komputerze lokalnym, dokonamy zmian w pliku hosts oraz konfiguracji serwera Apache. Dla przykładu załóżmy, że nasz serwis internetowy znajduje się w katalogu C:\xampp\htdocs\duzyserwis i chcemy mieć do niego dostęp po wpisaniu w przeglądarkę adresu http://duzyserwis.local. Najpierw wyedytujmy plik hosts, który w Windows XP domyślnie znajduje się w katalogu c:\Windows\system32\drivers\etc. Dopiszmy na jego końcu następującą linijkę:
127.0.0.1 duzyserwis.local
Dzięki temu po wpisaniu adresu http://duzyserwis.local, przeglądarka połączy się z serwerem o numerze IP 127.0.0.1, a więc z komputerem lokalnym. Musimy jeszcze skonfigurować serwer Apache tak, aby wyświetlał stronę z katalogu C:\xampp\htdocs\duzyserwis. Dopisujemy zatem poniższy kod do pliku httpd-vhosts.conf znajdującego się w podkatalogu conf/extra w miejscu, gdzie został zainstalowany serwer Apache:
<VirtualHost 127.0.0.1>
DocumentRoot "D:\xampp\htdocs\duzyserwis"
ServerName duzyserwis.local
</VirtualHost>
Zapisujemy zmiany w pliku i restartujemy serwer. Teraz wszystko powinno działać jak należy.
Komentarze
Co do pakietu, to ja polecam VertrigoServ.