-
Jak przetestować serwis dla danej domeny, nie mając jej jeszcze wykupionej?
10 lipca 2007 16:00 | Odsłon: 4460 | PermalinkNie masz jeszcze wykupionej domeny, a chciałbyś przetestować działanie nowego serwisu przeznaczonego dla tej jeszcze nie posiadanej domeny? Stanąłem ostatnio przed podobnym problemem - jak się okazuje jego rozwiązanie nie jest wcale ani trudne, ani czasochłonne.
Jak to rozwiązałem?
Postanowiłem wykorzystać do tego możliwości protokołu HTTP oraz Apache w zakresie obsługi wirtualnych hostów. Na początek, osobom, które nie spotkały się z wirtualnymi hostami wyjaśnię, że koncepcja ta zakłada obsługę wielu serwisów internetowych pod różnymi domenami korzystając z jednego adresu IP - czyli na jednym serwerze możemy obsłużyć np. domeny luktom.net i luktom.pl (nie, nie sprawdzajcie luktom.pl - wymyślam :D).
Drugim krokiem jest ręczne lokalne powiązanie adresu IP serwera Web z nieistniejącym adresem domenowym. Ale po kolei...
Jak ustawić vhosta?
Ustawienie nowego vhosta nie jest problemem, wystarczy wyedytować plik httpd.conf Apache'a i ustawić w nim opcje wirtualnych hostów:
NameVirtualHost * <VirtualHost *> DocumentRoot d:/webroot </VirtualHost> <VirtualHost *> ServerName nowadomena.pl DocumentRoot d:/webroot/vhosts/nowadomena.pl <Directory "d:/webroot/vhosts/nowadomena.pl"> Order Allow,Deny Allow from all </Directory> </VirtualHost>Powyższy, najprostszy przykład tworzy dwa wirtualne hosty - pierwszy, bez ustawiania parametru ServerName stosowany jest jako domyślny host, tzn. jeśli zapytanie nie dotyczy żadnego innego, określonego wirtualnego hosta, to zostanie zastosowana właśnie ta konfiguracja.
We wnętrzu tagu VirtualHost możemy stosować dowolne opcje konfiguracyjne, na jakie pozwala nam Apache - w przykładzie umieściłem dyrektywę Directory.
Powiązanie nowej domeny z adresem IP serwera Web
Problem rozwiązania nazwy domenowej na adres IP zrealizowałem w najprostszy możliwy sposób - poprzez plik hosts.
Z racji, że zakładamy, że serwer Web jest uruchomiony na lokalnym komputerze, do pliku hosts dopisujemy linijkę:
127.0.0.1 nowadomena.plPrzypomne, że w Linuxie plik hosts znajduje się w lokalizacji /etc/hosts, natomiast w Windows XP - C:\Windows\System32\Drivers\etc\hosts.
To wszystko?
Tak, po tych zabiegach wystarczy zrestartować Apache, aby móc się połączyć z serwerem nowadomena.pl i testować naszą nową witrynę. Przyznam, że ma to szczególnie praktyczne zastosowanie przy testowaniu rzeczy typu permalinki i tracebacki, gdzie podajemy adres bezwzględny.
Dodatkową korzyścią ze stosowania wirtualnych hostów jest separacja poszczególnych katalogów witryn, automatycznie sprawiająca, że mamy porządek na dysku :) (no prawie).
Zobacz także
Wpisy o podobnej tematyce