Developując lokalnie na Windowsie większą ilość projektów php (lub html) można uprościć sobie życie korzystając z automatycznego tworzenia domen. Normalnie trzeba ustawić sobie domenę w pliku hosts, a następnie przygotować virtualkę z odpowiednią ścieżką i zrestartować serwer. Dzięki opisanym w dalszej części instrukcjom można te czynności zautomatyzować. Załóżmy, że wszystkie projekty testujemy pod domeną .local, np. blog.local. Po wykonaniu opisanych dalej czynności trzeba będzie tylko utworzyć katalog z plikami projektu (np. kermit) a od razu dostępna będzie domena utworzona z nazwy katalogu i domeny local (nawiązując do poprzedniego przykładu: kermit.local).
Poniższe instrukcje dotyczą Xamppa, ale można je pewnie bez problemów zastosować z innymi pakietami (np. Wamp).
- Zmiany w serwerze www
- Plik konfiguracji virtualhostów (<ścieżka_do_xamppa>\apache\conf\extra\http-vhost.conf) na końcu dodajemy wpis:
-
12345<VirtualHost *:80>UseCanonicalName OffServerAlias *.localVirtualDocumentRoot "ŚCIEŻKA_DO_KATALOGU_Z_PROJEKTAMI/%1/"</VirtualHost>
- W przypadku xamppa VirtualDocumentRoot to:
-
1VirtualDocumentRoot "ŚĆIEŻKA_DO_XAMPP/htdocs/%1/"
-
- Włączamy moduł mod_vhost_alias
- W pliku pliku <ścieżka_do_xampp>/apache/conf/httpd.conf trzeba odkomentować (usunąć #) linię:
-
1LoadModule vhost_alias_module modules/mod_vhost_alias.so
- Restartujemy serwer www (Apache’a)
- Plik konfiguracji virtualhostów (<ścieżka_do_xamppa>\apache\conf\extra\http-vhost.conf) na końcu dodajemy wpis:
- Czyszczenie bufora DNS
- W linii poleceń Windowsa (<Win>+R, a potem cmd ) wpisujemy ipconfig /flushdns
- Instalacja lokalnego proxy DNS
- Pobieramy i instalujemy program Acrylic DNS Proxy (1079 pobrań) (freeware, oficjalny download)
- Po instalacji uruchamiamy Start > Wszystkie programy > Acrylic DNS Proxy > Config > Edit Acrylic Host File
- Na końcu w/w pliku dopisujemy 127.0.0.1 *.local
- Zmiana serwera DNS
- Start > Panel sterowania > Sieć i internet > Wyświetl stan sieci i zadania > Zmień ustawienia karty sieciowej
- Wybieramy używane przez nas połączenie sieciowe i wchodzimy do Właściwości
- W oknie wybieramy TCP/IPv4 i klikamy Właściwości
- Ustawiamy Preferowany serwer DNS na 127.0.0.1
Robie dokladnie tak jak opisujesz.
Jest jednak coś nie tak:
– po wpisaniu adresu np test.local
UseCanonicalName Off
ServerAlias *.local
VirtualDocumentRoot „D:\apps\install\Xampp\htdocs\projects\/%1/”
Nie znajduje mi strony, w momencie gdy do hosts dodam test.local, dziala. Nastepnie gdy usune test.local z hosts dalej dziala. Bez edycji hosts nie dziala 🙁
U mnie
VirtualDocumentRoot
ma wartość"D:/xampp/htdocs/%1/"
. Spróbuj może ustawić u siebie na"D:/apps/install/Xampp/htdocs/projects/%1/"
. Daj znać czy pomogło.Zadziałało, dziękuję.
Natomiast projekty mam w innym katalogu, nie w tym z xampp’a
UseCanonicalName Off
ServerAlias *.local
VirtualDocumentRoot „D:/www/projects/%1/”
Niestety po zmianie sciezki dostaje: Error 404
Probowalem tez z:
UseCanonicalName Off
ServerAlias *.local
VirtualDocumentRoot „D:/www/projects/%1/”
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Require all granted
I niestety to samo.
Napisz trochę dokładniej, bo nie rozumiem, co działa (zadziałało), a co nie? Podaj jakiś przykład projektu – w jakim jest katalogu? gdzie w tym katalogu jest index.php (bezpośrednio w katalogu projektu czy głębiej)?