Wielu użytkowników ma w domu Apache, MySQL i inne serwisy pozwalające pracować z php bez konieczności wystrzeliwania się w na serwer. Naturalnie zwiększa to wydajność pracy, gdyż nie musimy od nowa łączyć się i uploadować jeden plik ze zmienioną jedną linijką. Problem za to pojawia się w momencie, gdy „devujemy” więcej niż jednej projekt. Pal licho, jeżeli to coś małego. Ale w przypadku trzymania dwóch większych serwisów, warto do każdego mieć szybki dostęp, i oczywiście brak problemów ze zmienianiem ścieżki na localhoście i koncie na serwerze zewnętrznym.

Poruszony takowym problemem postanowiłem trochę pogoglować i popytać ludzi. Wyszło na to, że można przyporządkować dla dowolnego katalogu na localhoście jakąkolwiek nazwę (pod warunkiem, że nie jest to aktywna domena sieciowa – dzięki logeek). Rozwiązanie bardzo ciekawe, i wcale nie jest trudne do zrobienia.

Rozwiązanie jest dla Windows’a XP ;]. Więc, na początku udajemy się do pliku <DYSK:>\<KatalogWindows>\system32\drivers\etc\hosts. Tu, na końcu mamy linijkę

  1. 127.0.0.1 localhost

i teraz tylko dodajemy swoją wymarzoną nazwę, na przykład

  1. 127.0.0.1 postrock

możemy też stworzyć subdomenę postrock.localhost. Wedle uznania to wszystko.

Krokiem drugim będzie edycja pliku Apache’a odpowiedzialnego za hosty. Udajemy się więc do <DYSK:>\<KatalogApache>\conf i tam szukamy pliku httpd.conf. Uwaga! Możliwym jest, iż plik nie będzie tam, a w <DYSK:>\<KatalogApache>\conf\extra i zwać się będzie httpd-vhosts.conf.

UpdateJeżeli miałeś właśnie taką sytuację, sprawdź plik <DYSK:>\<KatalogApache>\conf\httpd.conf. Jeżeli tam znajdziesz

  1. # Virtual hosts
  2. # Include conf/extra/httpd-vhosts.conf

To drugą linię koniecznie odkomentuj! (usuń # na początku)

Gdy plik już znaleźliśmy, pasuje coś w nim zmienić. Na dole będzie wpis

  1. <VirtualHost *:80>
  2. ServerAdmin webmaster@dummy-host2.localhost
  3. DocumentRoot /www/docs/dummy-host2.localhost
  4. ServerName dummy-host2.localhost
  5. ErrorLog logs/dummy-host2.localhost-error_log
  6. CustomLog logs/dummy-host2.localhost-access_log common
  7. </VirtualHost>

Teraz już przedostatni krok. Na końcu dodajemy coś takiego:

  1. <VirtualHost *:80>
  2. DocumentRoot "c:/wamp/www/postrock"
  3. ServerName postrock
  4. </VirtualHost>
  5. <VirtualHost *:80>
  6. DocumentRoot "c:/wamp/www"
  7. ServerName localhost
  8. </VirtualHost>

Gdzie oczywiście ścieżki DocumentRoot i ServerName zmieniamy. Uwaga! Popatrz dobrze, jeżeli masz w ów pliku „zakomentowane” (lub wcale nie masz) # NameVirtualHost *:80, koniecznie usuń # z początku linii (albo dopisz linijkę bez komentarza) – dzięki mls. Ostatnią rzecz jaką musimy zrobić, to zrestartować Apache’a (pisane w oparciu o pakiet WAMP Server 1.7.2) i poradnik Apache. Domyślam się, że nikomu się to nie przyda, ale fajnie było jakiś miniporadnik napisać.