Tworzenie wirtualnych hostów w Windows

Praca nad kilkoma projektami dla programisty to codzienność, w szczególności dla programistów aplikacji internetowych. Często należy dodać nową funkcjonalność do projektu, albo poprawić błędy. Zaczyna pojawiać się problem organizacji projektów lub zaawansowane aplikacje nie działają tak jak powinny.

Co wtedy zrobić?

Z pomocą przychodzą wirtualne hosty. Co to jest? Najprościej mówiąc jest to takie skonfigurowanie serwera Apache, że dla podanej nazwy domeny przekierowuje użytkownika do danego folderu w obrębie serwera. Przykład.

Mamy 1 serwer, który ma 3 aplikacja, każdą w innym katalogu. Struktura wygląda mniej wiecej tak:

www/aplikacja1

www/aplikacja2/public

www/aplikacja3/production

Teraz chcemy odwoływać się do poszczególnych aplikacji. Posiadając XAMPPa, domyślnie dostęp do aplikacja jeden znajduje się pod adresem:

http://localhost/aplikacja1

Jeśli chcemy włączyć drugą aplikację wchodzimy na adres:

http://localhost/aplikacja2/public

Po co stosować wirtualne hosty?

Wcześniej nie używałem ich. Potrzeba ich użycia rozpoczęła się od programowania z wykorzystaniem Zend Framework. ZF narzuca strukturę katalogów, która powinna być stosowana w projektach. W celu poprawnego działania aplikacji należy uruchamiać aplikację z folderu public.

I w czym problem?

Problem pojawia się przy przekierowaniu żądań http. Zamiast odwoływać się do

http://localhost/aplikacja2/public

Aplikacja przekieruje nas do:

http://localhost/aplikacja2

Lub co gorsza do:

http://localhost

Powoduje to wczytanie zupełnie innej aplikacji lub nie poprawnego jej działania.

Jak skonfigurować te wirtualne hosty? I co one nam w ogóle dadzą?

Zacznę od odpowiedzi na drugie pytanie. Wprowadzają porządek do projektów, a także umożliwiają „podpięcie” domeny pod wskazany adres, np. http://moj-projekt.lh może wskazywać na folder www/aplikacja2/public .

Rozwiązanie to daje możliwość uporządkowania pracy podczas pisania programów dla klientów. Przykładowo klient ma zarezerwowaną domenę: szybkiekomputery.pl ,a my możemy tworzyć aplikację pod: szybkiekomputery.lh

Co to jest *.lh ?

To jest mój prywatny wymysł na określenie localhost (l – local , h – host).

Konfiguracja wirtualnych hostów

Standardowo wykonuje się tą operację na 2 plikach:

1. C:\Windows\System32\drivers\etc\hosts

2. ścieżka_do_xamppa\apache\conf\extra\httpd-vhosts.conf

Dodawanie lub edycja wybranych wpisów umożliwia konfigurację. Jest jednak szybszy sposób, dla osób, które wolą wyklikać dane niż zmieniać konfigurację w plikach.

Służy do tego program vHost firmy AvoSoft. Możliwy do ściągnięcia stąd vHost.zip.

Umożliwia on graficzne dodawanie i edytowanie tych wpisów. Poniżej znajdują się screeny z aplikacji, przedstawiającą dodanie hosta krok po kroku.

Przed przystąpieniem do pracy należy sprawdzić konfigurację dla folderu MySQL i Apache.

2012-01-06_152032.png

Po uruchomianiu vHost należy przejść do zakładki Add. Należy wypełnić pola pożądanymi danymi (Hostname – nazwa hosta, Root folder – główny folder aplikacji), a na końcu zatwierdzić przyciskiem Add.

2012-01-06_152516.png

Po akceptacji pojawi się komunikat o poprawnym dodaniu hosta.

2012-01-06_152546.png

Ostatnią rzeczą jaka została do wykonania to restart Apache – przechodzimy do panelu XAMPP, zatrzymuje Apache a potem startujemy go.

Od teraz możemy odwoływać się do naszego projektu poprzez wpisanie w przeglądarce: http://moj-projekt.lh