Oczywiście akronim LAMP to Linux Apache MySQL PHP.
Natomiast tzw. vhost (virtual host) jest pomocny przy tworzeniu stron internetowych na dysku lokalnym. Przydaje się także kiedy np. chcemy przetestować jakiś skrypt typu forum, CMS, itp. i nie chcemy do tego celu specjalnie wykupywać serwera WWW.
Takie rozwiązanie ma też inne niewątpliwe zalety. Szybkość działania, „niepubliczność” (teoretycznie nikt poza nami go nie widzi). No i aby przetestować skrypt lub stronę … nie potrzebujemy Internetu. Wystarczy nam maszyna na której działamy 😉
Wersja virtual hosta tutaj przedstawiona jest prowizoryczna i developerska. Nie powinna być stosowana do np. rozwiązań webowych. Na pewno konieczne są dodatkowe funkcje konfiguracyjne jak logi, zabezpieczenia, ograniczenia portów, uniemożliwienie listowania folderów itp. Należy ją zatem traktować jako pomoc naukowo – programistyczną.
Na początku musimy zainstalować wymagane pakiety do działania serwera WWW w podstawowej formie. Opisywaliśmy to tutaj: https://linuxporady.pl/zestaw-podstawowych-pakietow-dla-serwera-www-np-opartego-o-vps/
Następnie upewniamy się że mamy prawa zapisu w folderze www
Wywołujemy:
1 |
sudo chown {NAZWA-NASZEGO-UŻYTKOWNIKA} /var/www/ -R |
Tworzymy folder gdzie będzie nasza strona internetowa lub skrypt np. WordPress:
1 |
mkdir /var/www/strona |
Wchodzimy w folder z dostępnymi vhostami:
1 |
cd /etc/apache2/sites-available/ |
Tworzymy nowy plik (nazwa jest dowolna – nazwijmy go tak, aby identyfikował nasz projekt / stronę itd):
1 |
sudo gedit strona.conf |
Wklejamy w niego poniższą zawartość:
1 2 3 4 5 6 7 8 9 10 11 |
<VirtualHost *:80> ServerName strona.local ServerAlias www.strona.local DocumentRoot "/var/www/strona" <Directory "/var/www/strona"> Options Indexes FollowSymLinks MultiViews AllowOverride All Order Allow,Deny Allow from All </Directory> </VirtualHost> |
i zapisujemy.
Jak widzimy mamy tu zdeklarowaną „wirtualną” domenę
1 |
strona.local |
w obrębie naszej maszyny. Musimy ją dodać do pliku hosts:
1 |
sudo gedit /etc/hosts |
Na końcu pliku dopisujemy:
1 |
127.0.0.1 strona.local www.strona.local |
(Uwaga, białe znaki to tabulacje!)
Kolejny krok to aktywacja vhosta:
1 |
sudo a2ensite strona.conf |
Oraz przeładowanie serwera Apache2:
1 |
sudo /etc/init.d/apache2 reload |
Gotowe! W naszej przeglądarce po wpisaniu adresu: strona.local powinna wyświetlić zawartość naszego folderu:
1 |
/var/www/strona |
Jak umieścimy tam np. pliki instalacyjne WordPress – rozpocznie się instalacja (serwer automatycznie wskaże na plik index.php).
Powyższa konfiguracja umożliwia także przez użyte dyrektywy działanie nadpisywania przyjaznych linków (mod_rewrite). Oczywiście po aktywacji tego modułu Apache’a i po odpowiednim przygotowaniu pliku .htaccess w folderze głównym projektu.
Jak włączamy ten moduł opisywaliśmy tutaj: https://linuxporady.pl/wlaczenie-trybu-mod_rewrite-w-apache-serwer/
Uwaga, przeglądarka Google Chrome może wymagać określenia protokołu na początku adresu. Wpiszmy zatem w pasku adresu pełen adres: http://strona.local