Jak uruchomić multisite na localhoście? Szybki Poradnik na Xampp’ie


Jak uruchomić sieć stron na lokalnym komputerze?

Czy multisite zadziała na localhoście?

Takie pytanie zadał mi ostatnio Michał, pewien anonimowy użytkownik WordPressa, i na takie też pytanie sporadycznie trafiałem w przeszłości na forach.

Zasadniczo zbyt mało osób o to pyta, więc nie miałem zamiaru samemu tego sprawdzić. Większość projektów – z reguły, z pewnych powodów – uruchamiam od razu na serwerach WWW. Czasami  przenosiny z localhost'a powodują podwojenie kosztów.

Ale tym razem, chyba z ciekawości , postanowiłem, że spróbuje uruchomić multisite na loclahost, by sprawdzić na własnej skórze czy się da.

Kodeks mówi jakno:
You cannot choose Sub-domain Install (for a domain-based network) in the following cases:

Czyli

Nie możesz utworzyć sieci w sub-domenach jeżeli:

Ależ drogi kodeskie.  Mylisz się. przecież mi się udało! Więc?!

Pytanie: Jak?

I tu mała podpowiedź:

(Note that you can create a domain-based network on your local machine for testing purposes by using your hosts file to map some other hostnames to the IP address 127.0.0.1, so that you never have to use the hostname localhost).

Czyli

Jeżeli uda Ci się w jakiś sposób podpiąć innego hosta (domenę!) pod adres IP 127.0.0.1 tak, abyś nie musiał używać nazwy localhost, będziesz mógł utworzyć sieć.

I żeby już dłużej nie zagłębiać się w tej wysublimowanej technicznej gadce i dać upust ciekawości przejdźmy do rzeczy.

Jak uruchomić sieć stron na lokalnym komputerze i co Ci będzie do tego potrzebne?

 

Na pewno plik hosts. Użyjemy go, żeby podpiąć nową domenę pod nasz adres IP.

Znajduje się on w katalogu: C:\Windosws\system32\drivers\etc\hosts

Dla innych systemów operacyjnych proszę zajrzeć do Wikipedi

Otwórz go notatnikiem lub notepadem++ (jak wolisz). Jego treść przedstawia się m.w tak (skopiowałem tylko kawałek):

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
(...)
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost

Wystarczy, że na jego końcu wkleisz sobie coś takiego:

127.0.0.1 localhost.com
127.0.0.1 witryna1.localhost.com
127.0.0.1 witryna2.localhost.com

Bez hash’a czyli znaczka "#", bo oznacza to, że dana linia jest wykomentowana czyli odwojuje się akcje wykonawczą.

To nie wszystko. Teraz plik httpd.conf

Możesz go otworzyć na dwa sposoby. Albo z poziomu okna panelu kontrolnego Xampp’a:

Dostęp do pliku z ustawieniami Apache Xampp

Albo wchodząc do katalogu:

C:\xampp\apache\conf\httpd.conf

Najpierw będziesz musiał uaktywnić Virtual host. Jeżeli jesteś w notatniku, poleceniem Ctrl+F wyszukaj frazy: httpd-vhosts i usuń komentarz (jeżeli istnieje) przed wyrazem Include:

# Virtual hosts Include conf/extra/httpd-vhosts.conf

W dalszej części usuń komentarz  w tej linii:

LoadModule vhost_alias_module modules/mod_vhost_alias.so

Teraz zajmiemy się plikiem httpd-vhosts.conf

Niestety, ale dostać się do niego możesz tylko z poziomu eksploratora Windows, czyli przeklikując się przez katalogi:

C:\xampp\apache\conf\extra\httpd-vhosts.conf

I tu znów to samo. Na samym końcu, za tym przykładem:

##<VirtualHost *:80>
##ServerAdmin webmaster@dummy-host2.example.com
##DocumentRoot "C:/xampp/htdocs/dummy-host2.example.com"
##ServerName dummy-host2.example.com
##ErrorLog "logs/dummy-host2.example.com-error.log"
##CustomLog "logs/dummy-host2.example.com-access.log" common
##</VirtualHost>

To co ty musisz zrobić to przypisać dany katalog, w którym się znajduje twoja instalacja WordPressa do właściwej nazwy hosta, którą podałeś wcześniej w pliku hosts.

Czyli:

<VirtualHost *:80>
##ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/xampp/htdocs/wordpress"
ServerName localhost.com
ServerAlias localhost.com
ErrorLog "C:/xampp/htdocs/wordpress/error.log"
CustomLog "C:/xampp/htdocs/wordpress/access.log" common
</VirtualHost>

I to właściwie wszystko.

Dla pewności dodajemy jeszcze to:

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/"
ServerName localhost
</VirtualHost>

Gdyż przecież nasz panel Xampp’a znajduję się pod adresem localhost.

Dobrze by też było (gdybyś nie mógł się jednak dostać do Xampp’a) odkomentować z pliku hosts:

127.0.0.1 localhost
::1 localhost

Oczywiście pominąłem tu cały proces uruchamiania sieci i konfiguracji/instalacji Xampp’a bowiem założyłem, że jak pytasz o takie rzeczy, oznacza, że masz już to zrobione. Multisite w moim przypadku był uruchomiony w sub-domenach.

Na koniec.

Teraz, jak chcesz utworzyć nową witrynę, najpierw musisz ustawić tj. podpiąć jej adres pod nasz domyślny IP w pliku hosts:

Czyli np.:

127.0.0.1 witryna2.localhost.com

Inaczej pojawi Ci się biała strona.

 

P.s. Jeżeli podczas uruchamiania sieci (w sub-domenach) pojawi Ci się taki komunikat:

Ostrzeżenie! Wieloznaczniki na serwerze DNS mogą być nieprawidłowo skonfigurowane!

Nie martw się, że coś nie działa. Po prostu dla takiej przypadkowej nazwy nie można było ustalić odpowiedniego adresu IP. Ale jeżeli spojrzysz na przykład powyżej, zrozumiesz dlaczego.

Teraz wystarczy, że ponownie uruchomisz Xampp’a i wejdziesz pod adres localhost.com

Voilà. Działa? Stawiasz mi browara! ;)

 


Otagowano: , , , , , , ,

Kategoria: Konfiguracja | MultiSite

Ostatnia aktualizacja: 


Napisz odpowiedź lub dodaj komentarz


Twój adres e-mail nie będzie opublikowany. Pola oznaczone gwiazdką * są wymagane

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