localhost a automatyczne domeny

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).

    1. Zmiany w serwerze www
      • Plik konfiguracji virtualhostów  (<ścieżka_do_xamppa>\apache\conf\extra\http-vhost.conf) na końcu dodajemy wpis:
        • W przypadku xamppa VirtualDocumentRoot to:
      • Włączamy moduł mod_vhost_alias
        • W pliku pliku <ścieżka_do_xampp>/apache/conf/httpd.conf trzeba odkomentować (usunąć #) linię:
      • Restartujemy serwer www (Apache’a)
    2. Czyszczenie bufora DNS
      • W linii poleceń Windowsa (<Win>+R, a potem cmd ) wpisujemy ipconfig /flushdns
    3. Instalacja lokalnego proxy DNS
    4. 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

4 myśli nt. „localhost a automatyczne domeny

  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 🙁

  2. 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.

  3. 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.

  4. 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)?