VirtualHost - tworzenie subdomen na serwerze Apache

9 12 2008

Często korzystając z serwera Apache zainstalowanego na lokalnym komputerze mamy więcej niż jeden projekt (dziwne jeśli by tak nie było). Gdzieś na dysku mamy katalog który jest katalogiem głównym serwera Apache a w nim kilka projektów np: projekt1, projekt2, … . Chcąc zobaczyć jak wygląda dana strona w przeglądarce wpisujemy:

  • http://localhost/projekt1/
  • http://localhost/projekt2/
  • http://localhost/nazwa-katalogu-z-projektem/

Mogłoby się wydawać, że taki sposób jest jak najbardziej pożądany jednak czasami powoduje to sporo problemów. Wyobraźmy sobie iż pracujemy nad projektem strony html w której chcemy animować różnego rodzaju linki i elementy za pomocą JS, np:

<a href="adres-www" onmouseover='MM_swapImage("Image_doc1","","/image/blue_button.jpg",1)' onmouseout="MM_swapImgRestore()"><img height="20" border="0" width="20" src="http://localhost/projekt1/image/blue_button.jpg"/></a>

Jest to klasyczny przykład podmiany tła przycisku na inny gdy najedziemy na niego kursorem

Szczerze to nie wiem dlaczego nie można zrobić tego samego stosując tylko CSS, ja bym tak zrobił, jednak przyszło mi pracować na cudzym projekcie gdzie zobaczyłem ten sposób.

Składnia /image/blue_button.jpg nie zadziała jeśli nasz projekt nie jest dostępny bezpośrednio po wywołaniu przez http://localhost. W naszym przypadku tak nie jest gdyż mamy kilka projektów więc jeśli chcemy sobie ułatwić życie to warto skonfigurować sobie VirtualHost. Więc przystępujemy do działania.

  1. Otwieramy do edycji plik: C:\WINDOWS\system32\drivers\etc\hosts dopisujemy na końcu: 127.0.1.1 projekt.localhost
  2. Otwieramy do edycji plik konfiguracyjny Apache (httpd.conf)np: E:serer\\xampp\apache\conf\httpd.conf
  3. Na końcu dopisujemy
    <NameVirtualHost 127.0.1.1:80> ServerAdmin admin@domena.pl DocumentRoot "/xampp/htdocs/projekty/cms/" ServerName projekt1.localhost ServerAlias projekt1.localhost www.projekt1.localhost </VirtualHost <VirtualHost 127.0.0.1:80> ServerAdmin lukasz@dc2.pl DocumentRoot "/serwer/xampp/htdocs/" ServerName localhost ServerAlias localhost www.localhost ErrorLog "logs/noname-error.log" CustomLog "logs/noname-access.log" common </VirtualHost>

Teraz tylko restart serwerka i nasz projekt jest dostepny  po wpisaniua projekt1.localhost. Bardzo proste. Ja dodatkowo zaremowałem w pliku konfiguracyjnym linie: #DocumentRoot "D:/serwer/xampp/htdocs".

Powyższy sposób działa dla: Vista Xampp


Opcje

Info

Odpowiedz

Możesz używać tagów : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>