Kilka dobrych lat temu tworząc strony WWW pod Windowsem do ich testowego uruchamiania używałem narzędzi takich jak WampServer lub rzadziej Xampp. W przypadku prostych projektów wystarczało to stuprocentowo jednak czasami choć przyznam, że rzadko pojawiały sie problemy. Przykładowo kiedyś pod Windowsem nie mogłem uruchomić pdo_pgsql podczas gdy ta sama wersja php na Linuksach działała bez problemów. Dzisiaj bardzo szybko możemy lokalnie uruchomić wirtualną maszynę jako nasz serwer i testować naszą stronę w takim środowisku jakie się nam tylko podoba. Dlatego dzisiaj kilka słów o tym jak uruchomić serwer LAMP pod Windows tak aby można było przeglądać stronę i modyfikować jej kod źródłowy z poziomu Windowsa.
1. Przygotowanie maszyny wirtualnej z Debianem
Najpierw tworzymy maszynę wirtualną z Debianem. Ja zainstalowałem Debiana 9 bez interfejsu graficznego z serwerem WWW oraz SSH. Ważne aby na Debianie był zainstalowany serwer WWW Apache2 ponieważ to z niego chcemy korzystać z poziomu naszego Windowsa. Oczywiście docelowo będziecie potrzebowali w zależności od odpalanego kodu zainstalowanego PHP, MySQL, itp. Jednak dla nas w tej chwili ważne aby działał co najmniej Apache2 bo to nam umożliwi sprawdzenie czy możemy odpalić stronę z poziomu Windowsa. Jak wszystko zadziała to każdy we własnym zakresie może doinstalować to co potrzebuje. Serwer SSH jest zainstalowany aby można się połączyć do maszyny wirtualnej poprzez putty z którego poziomu łatwiej wklejać komendy bez potrzeby ich przepisywania, ale nie jest on konieczny.
2. Przekierowanie portów
Gdy już mamy zainstalowanego Debiana wraz z serwerem WWW oraz SSH to zajmiemy się przekierowaniem portów. Port hosta 8080 będzie przekierowany na port gościa 80(WWW) a port 5022 będzie przekierowany na port 22(SSH) gościa. Oczywiście zamiast 8080 oraz 5022 możemy wpisać dowolne porty byle tylko nie były już używane przez naszego hosta.
Aby przekierować porty wchodzimy w ustawienia maszyny wirtualnej w VirtualBox, następnie wchodzimy w zakładkę Sieć i rozwijamy opcję Zaawansowane dla naszej karty i klikamy przycisk Przekierowanie portów. W oknie reguł przekierowywania portów dodajemy dwie nowe reguły. Reguła pierwsza przekierowująca port hosta 8080 na port gościa 80 oraz reguła druga przekierowująca port hosta 5022 na port gościa 22. Po wpisaniu przekierowań nasze reguły powinny wyglądać następująco:
Po zapisaniu ustawień testujemy nasze przekierowanie wpisując w przeglądarkę adres 127.0.0.1:8080. Jeżeli zobaczymy stronę domyślna Apache2 to znaczy że przekierowanie działa.
3. Dodanie wpisów do pliku hosts w systemie Windows
Teraz czas na dodanie wpisów do pliku hosts w Windows. Dzięki tym wpisom adresy które tam dodamy będą wskazywały na 127.0.0.1. Aby to zrobić odpalamy notatnik z uprawnieniami administratora następnie otwieramy plik znajdujący się w lokalizacji C:\Windows\System32\drivers\etc\hosts i na końcu dopisujemy następującą linię:
127.0.0.1 stronatestowa.local
Po zapisaniu zmian w pliku hosta wpisując w przeglądarkę adres stronatestowa.local:8080 zobaczymy stronę domyślną Apache2. Oczywiście zamiast stronatestowa.local możemy wpisać dowolną nazwę ważne tylko żeby tej samej nazwy uzywać w plikach Apache2.
Na tym etapie możemy z poziomu Windows przeglądać serwer WWW będący na wirtualnej maszynie. Jednak do pełnej funkcjonalności brakuje nam aby źródła naszej strony znajdowały się w folderze Windowsa.
4. Instalacja dodatku gościa do naszego Debiana
Dodatek gościa jest niezbędny m.in. do tego aby można było z poziomu Windows udostępnić folder maszynie wirtualnej. Aby zainstalować dodatek w oknie naszej odpalonej maszyny wirtualnej klikamy Urządzenia -> Zamontuj obraz płyty z dodatkami gościa ...
Następnie logujemy się na naszego Debiana. Możemy to zrobić logując się w oknie VirtualBoxa ale dużo łatwiej i prościej jest gdy połączymy się do naszej maszyny przez putty ponieważ możemy wtedy kopiować komendy bez konieczności ich przepisywania. W tym celu odpalamy putty i łączymy się z adresem 127.0.0.1 na porcie 5022 zgodnie z tym jak przekierowaliśmy wcześniej porty. Po zalogowaniu się do naszego Debiana preferowaną przez siebie metodą wykonujemy następujące komendy:
apt-get update apt-get upgrade apt-get install linux-headers-$(uname -r) apt-get install build-essential mount -o ro /dev/cdrom /media/cdrom sh /media/cdrom/VBoxLinuxAdditions.run
W przypadku pojawienia się błędów podczas instalacji dodatku gościa należy sprawdzić czy nie ma nowszej wersji VirtualBox-a. W moim przypadku za każdym razem gdy wstąpił jakiś błąd podczas instalacji dodatku gościa to aktualizacja do najnowszej wersji VirtualBox-a pomagała go rozwiązać.
5. Udostępnienie folderu Windows na Debianie
Po zainstalowaniu dodatku gościa do naszej maszyny wirtualnej możemy już udostępnić folder z poziomu Windows w którym będzie kod naszej strony. Aby to zrobić wchodzimy we właściwości naszej maszyny wirtualnej i wybieramy zakładkę Udostępniane foldery. Następnie klikamy ikonkę z plusikiem i w oknie dodawania udostępnianego folderu wybieramy ścieżkę folderu który chcemy udostępnić. Jeżeli widzimy opcję Ustaw na stałe to ja zaznaczamy. Opcja ta jest widoczna w zależności od tego czy mamy odpaloną czy wyłączoną maszynę wirtualną.
Następnie logujemy się na Debiana i tworzymy folder do którego zamontujemy udostępniony folder Windows. W tym celu odpalamy następującą komendę:
mkdir /var/www/TestWWW
Następnie edytujemy plik /etc/fstab
nano /etc/fstab
i dopisujemy na końcu następującą linię:
TestWWW /var/www/TestWWW vboxsf rw,uid=33,gid=33 0 0
Powyższy wpis w pliku fstab powoduje to, że na stałe zamontowaliśmy udostępniony folder. TestWWW to nazwa folderu jaka widzieliśmy w okienku dodawania udostępnionego folderu. /var/www/TestWWW to ścieżka do folderu który stworzyliśmy w Debianie celem zmapowania do niego udostępnionego katalogu Windows. Opcja rw,uid=33,gid=33 ustawia uprawnienia do zapisu i odczytu dla montowanego folderu użytkownikowi o uid=33 oraz grupie o gid=33 co odpowiada użytkownikowi www-data i grupie www-data. Na waszych Debianach użytkownik i grupa www-data będą miały te same numery co możecie sprawdzić podglądając pliki /etc/passwd i /etc/group.
Po wykonaniu powyższych czynnosci restartujemy naszego Debiana. Po restarcie podglądając lokalizację /var/www/TestWWW na Debianie będziemy widzieli zawartość udostępnionego folderu Windows.
6. Konfiguracja VirtualHosta dla Apache2
Ostatnia rzeczą która musimy wykonać to skonfigurowanie Apache2 tak aby wyświetlał zawartość naszego folderu. W tym celu tworzymy następujący plik:
nano /etc/apache2/sites-available/stronatestowa.local.conf
i wpisujemy do niego następujące dane:
<VirtualHost *:80> ServerName stronatestowa.local DocumentRoot /var/www/TestWWW <Directory /var/www/TestWWW> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
Scieżka /var/www/TestWWW to oczywiście nasz zmapowany wcześniej folder. Parametr stronatesowa.local musi odpowiadać temu co wpisywaliśmy do pliku hosts w pkt. 3. Dzięki temu Apache2 będzie wiedział, że gdy wpiszemy w naszym Windowsie adres stronatestowa.local:8080 to chcemy odpalić właśnie tą konfigurację a nie inna.
UWAGA:
Apache2 od wersji 2.4 zmienił składnie konfiguracji VirtualHost. Powyzszy plik działa na wersji 2.4. Jeżeli macie niższą wersje to w powyższej konfiguracji linię:
Require all granted
należy zastapić dwiema liniami:
Order deny,allow
Allow from all
Teraz już tylko pozostaje aktywować naszą stronę w Apache2 wykonując następujące komendy:
a2ensite stronatestowa.local /etc/init.d/apache2 reload
Aby dodać kolejne strony do naszego serwera powtarzamy punkty 3, 5 i 6.
Brak komentarzy:
Prześlij komentarz