Instalujemy swój mały lokalny serwer WWW

W tej instrukcji będzie opisana instalacja XAMPP w systemie operacyjnym Windows. Proces instalacji dla innych systemów operacyjnych może nieco się różnić.

Część 1: rób raz, rób dwa, rób trzy!

1. Udajemy się na stronę internetową i wybieramy dystrybucję dla potrzebnego systemu operacyjnego, i ładujemy ją.

Uwaga: w ostatniej wersji XAMPP jest problem, który wymaga dodatkowego wysiłku, aby skonfigurować serwer, dlatego uporczywie poleca się ładować XAMPP właśnie stąd:

https://sourceforge.net/projects/xampp/files/XAMPP%20Windows/5.6.15/

i pobrać tam wersję 5.6.15-1
Nie trzeba pobierać wersji 5.6.15-2 !!!
Nie trzeba także pobierać wersji, w skład której wchodzi PHP 7 !!!

2. Uruchamiamy instalator i postępujemy zgodnie z instrukcjami wizarda. Największe zainteresowanie prezentuje krok, w którym wybiera się zbiór instalowanych komponentów:

Oczywiście, że koniecznie trzeba wybrać elementy podstawowej “trójki” – Apache + MySQL + PHP. Ale na dodatek do tego można ustalić jeszcze jakieś z proponowanych komponentów:

  • FileZilla FTP Server – jak wynika z nazwy, to jest serwer FTP, on może być pożyteczny, jeżeli, na przykład, XAMPP instaluje się na maszynę wirtualną, wtedy pliki instalowanych aplikacji będą wygodnie ładować się w protokole FTP.
  • Mercury Mail Server – znowu, z nazwy jasne, że to jest serwer używany do pracy z pocztą elektroniczną, wykorzystuje protokoły POP3, IMAP, SMTP ale osobiście mi on wydaje się niewygodny dlatego wolę go nie stawiać a wykorzystać coś alternatywnego.
  • Tomcat – to serwer aplikacji do JavaEE, jego jest sens instalować tylko w tym przypadku, jeżeli Państwo mają zamiar rozpakowywać aplikacje napisane w Java.
  • Perl – język programowania, który przez pewien czas był dość popularny wśród programistów, ale ostatnio jest wykorzystywany dość rzadko.
  • phpMyAdmin – Web interface dla zarządzania DBMS MySQL, jest sens go instalować, dlatego że dla lokalnego web-serwera to, z pewnością jest najwygodniejszy sposób konfigurowania DBMS MySQL.
  • Webalizer – ta aplikacja jest używana dla analizy log-plików serwera i zbierania statystyk, dla lokalnego web-serwera aplikacja jest bezużyteczna. O ile Państwo nie mają zamiaru wykorzystać tych informacji, na przykład, przy testowaniu obciążenia.
  • Fake Sendmail – to jest ” niepełnowartościowa” realizacja programu użytkowego sendmail dla Windows, z dużym prawdopodobieństwem ona Państwu się nie przyda dlatego że pocztę z aplikacji internetowych zazwyczaj można wysyłać i bez tego programu narzędziowego.
    ​​

3. Po wyborze komponentów w kolejnym kroku trzeba wybrać katalog, w którym będzie zainstalowany XAMPP.

Poleca się wykorzystać katalog, ścieżka do katalogu nie może zawierać spacji i wszystkie nazwy katalogów w tej ścieżce nie mogą zawierać znaków specjalnych.Należy wykorzystywać tylko symbole alfabetu łacińskiego lub cyfry.
I po tym kroku, wreszcie, zaczyna się instalacja.

4. Kiedy procedura instalacji zakończy się, uruchamiamy panel sterowania XAMPP.

W niej trzeba aktywować dwa moduły – – Apache i MySQL, nacisnąwszy dwa odpowiednie guziki Start:

Jeżeli wszystko przejdzie pomyślnie, nazwy modułów zabarwią się na zielony kolor i stanie się aktywny guzik Admin dla każdego z ich:

5. Teraz musimy wejść za pomocą przeglądarki na adres http://localhost/ i przekonać się, że web-serwer rzeczywiście działa:

6. Następnie wejść za pomocą przeglądarki na adres  i przekonać się, że baza DBMS MySQL także działa i jest dostępna:

Teraz na serwer można zainstalować web aplikację, ale to już inna historia.
Jeżeli u Państwa wszystko się uruchomiło i w przeglądarce otworzyła się powitalna strona XAMPP – dalej można nie czytać.
Cała pozostała część artykułu poświęcona rozpatrzeniu różnych problemów i możliwych metod ich rozwiązania.

Część 2. Coś poszło nie tak…

F1. Nie uruchamia się MySQL

Najprawdopodobniejsza przyczyna – zajęty port 3306, do tego w oknie informacji w panelu sterowania XAMPP można będzie dostrzec, jaka dokładnie inna aplikacja zajęła port.
Najczęściej spowodowane to jest tym, że u Państwa już jest zainstalowany poza XAMPP i uruchamiany inny egzemplarz DBMS MySQL:

Co robić?
Oczywiście, wystarczy tylko jednen uruchomiony egzemplarz DBMS MySQL na komputerze. Państwo mogą zostawić ten, który już jest wykorzystywany i w ogóle nie uruchamiać MySQL w ramach XAMPP.
Jednak w takim razie Państwo, prawdopodobnie, muszą ustawić login i hasło dla dostępu do tego istniejącego egzemplarza DBMS MySQL z aplikacji phpMyAdmin.
Naciskamy przycisk Config naprzeciw modułu Apache i z rozwijanego menu wybieramy punkt phpMyAdmin:

W edytorze tekstowym otwiera się plik konfiguracyjny aplikacji phpMyAdmin, w którym trzeba wskazać login i hasło administratora DBMS:

(Jeżeli edytor tekstowy pokazuje tekst w “zmiętym” wyglądzie, to patrzymy rozdział niżej.
Zapisujemy zmiany i wchodzimy po przez przeglądarkę na adres http://localhost/phpmyadmin/, żeby przekonać się, że DBMS MySQL jest dostępna.

F2. Nie uruchamia się Apache

I znowu najprawdopodobniejsza przyczyna – zajęty port 80 albo 443, do tego w oknie informacji panelu sterowania XAMPP można będzie dostrzec, jaka dokładnie aplikacja zajęła port:

Tym razem «konkurentów» więcej


F2.1 Port 80 in use by “C:\Program Files (x86)\Skype\Phone\Skype.exe”


Porty 80 i 443 często zajmuje Skype, przy czym to mu całkowicie nie potrzebne dla normalnej pracy. Idziemy w ustawienia Skype, odłączamy, po czym restartujemy Skype – i port jest wolny:

Niestety, odłączyć te porty można nie we wszystkich wersjach Skype. Jeżeli Państwo są szczęśliwymi posiadaczami Windows 8 i wykorzystują tak zwaną wersję “Skype for modern Windows” Państwu nie poszczęściło się – w niej nie da się odłączyć wykorzystania portów 80 i 443.
Co robić?
Można zainstalować wersję “Skype for Windows desktop”, w której jest obecne potrzebne ustawienie, lub prze konfigurować na nowo Apache na wykorzystanie innych, niezajętych, portów jak to jest opisane trochę niżej, w rozdziale F2.3.

F2.2 Port 80 in use by “Unable to open process” with PID 4

To oznacza, że u Państwa na komputerze jest uruchomiony serwer Microsoft IIS (Internet Information Services).
Jeżeli Państwu jest on nie potrzebny – – można go odłączyć a zamiast niego uruchomić XAMPP.
Patrz. instrukcję odłączenia IIS na oficjalnej witrynie Microsoft
Jeżeli IIS Państwu jest potrzebny, wtedy musimy jeden z serwerów (albo IIS albo Apache) przestawić na nowo na wykorzystanie innych, niezajętych, portów jak to jest opisane w następnym rozdziale.

F2.3 Port 80 in use by …

Oprócz dwóch opisanych wyżej sytuacji, porty może zajmować jakiś inny serwer webowy.
Tu pojawia się sensowne pytanie — jeżeli u Państwa już jest web-serwer, być może nie warto instalować XAMPP, a kontynuować wykorzystanie już istniejącego?
Inny wariant — zatrzymać lub w całości usunąć wcześniej wykorzystywany serwer i zamiast niego spokojnie zainstalować XAMPP.
No i wreszcie, jeżeli Państwo z jakiś przyczyn chcą zostawić oba web-serwery, i nie mogą przestawić na nowo Skype albo IIS – – wtedy przyjdzie rozwiązać konflikt portów i nastawić na nowo Apache, wchodzący w skład XAMPP na inne porty.
Najpierw trzeba wybrać dwa wolne porty, które będą wykorzystywane zamiast 80 i 443.
Żeby zobaczyć, jakie porty są zajęte, można skorzystać z wbudowanego w XAMPP programu narzędziowego Netstat:

Załóżmy, że wybrano niezajęte porty 8080 i 8443.
Zmiany trzeba wprowadzić w trzech miejscach.
Najpierw zamieniamy ogólne ustawienia. Tam ukazują się porty, według których XAMPP będzie sprawdzać, czy “żywe” są jego moduły:

Ale podstawowe zmiany należy wprowadzić w pliki konfiguracyjne właśnie samego modułu Apache. Niezbędnie musimy modyfikować dwa pliki – httpd.conf i httpd-ssl.conf.
Naciskamy guzik Config naprzeciw modułu Apache i z rozwijanego menu wybieramy potrzebny punkt:

W edytorze tekstowym otwiera się plik konfiguracyjny, w którym trzeba znaleźć instrukcję Listen i zmienić port na wybrany:

(Jeżeli edytor tekstu pokazuje tekst w “pomiętym” wyglądzie, patrzymy poniżej rozdział F3)
Zapisujemy plik i powtarzamy analogiczne działania dla drugiego pliku konfiguracyjnego.
Po tym można znowu spróbować uruchomić Apache, i tym razem on powinien pomyślnie startować.
Jedyna niewygoda w takim wypadku polega na tym, że niestandardowy numer portu musimy zawsze wskazywać w adresie – teraz Państwa web-serwer będzie dostępny pod adresem http://localhost:8080/

F3. Konfiguracyjne pliki pokazują się w “pomiętym” wyglądzie.

Niech Państwo wykorzystują zamiast notepad.exe jakiś bardziej “inteligentny” edytor tekstu, na przykład, Notepad++:

F4. Apache pomyślnie uruchomił się, ale pod adresem http://localhost/ znajduje się nie XAMPP

Jeżeli w ustawieniach Apache jest wskazany nie standardowy port 80, a jakiś alternatywny, w takim razie trzeba jawnie wskazać numer portu w adresie, na przykład, http://localhost:8080/

F5. Apache pomyślnie uruchomił się, ale adres http://localhost/ nie otwiera się w przeglądarce

Możliwe przyczyny:
system nie wie, co oznacza nazwa sieciowa localhost, albo
w przeglądarce wskazane są ustawienia proxy, które nie pozwalają ustalać połączenia z lokalnym serwerem.
Żeby usunąć pierwszą przyczynę, spróbujemy w adresie wskazać nie nazwę sieciową, a adres IP: http://127.0.0.1/ (albo http://127.0.0.1:8080/ przy wykorzystaniu portu, odmiennego od standardowego).
Jeżeli udało się otworzyć powitalną stronę XAMPP – znaczy to że, problem jest na poziomie systemowych sieciowych ustawień.
Otwieramy w dowolnym edytorze tekstowym plik C:\windows\system32\drivers\etc\hosts i dodajemy tam linijkę
127.0.0.1 localhost

Niech Państwo pamiętają, że dla modyfikacji tego pliku są potrzebne prawa administratora.
Po tym, jak ta zmiana jest wniesiona – znów próbujemy wykorzystać w adresie nazwę sieciową, czyli otwieramy w przeglądarce adres http://localhost/, teraz wszystko powinno zadziałać prawidłowo.
Druga możliwa przyczyna, z powodu której nawet po adresie IP serwer nie udaje się otworzyć – – ustawienia przeglądarki, zgodnie z którą wszystkie zapytania są wysyłane do serwera proxy. Trzeba zrobić tak, żeby zapytania na adres 127. 0.0.1 tam nie wysyłały się a szły prosto do lokalnego web-serwera.
Przeglądarki Internet Explorer i Chrome wykorzystają systemowe ustawienia proxy, właśnie tak one powinny wyglądać (zaznaczony ptaszek “nie wykorzystać serwera proxy dla lokalnych adresów”):

Przeglądarka Firefox może mieć swoje własne ustawienia, odmienne od systemowych, wtedy trzeba wpisać adres 127. 0.0.1 na listę wyjątków:

Po tym przeglądarka powinna znaleźć lokalny serwer webowy i otworzyć jego powitalną stronę.
To już wszystko, teraz już serwer działa i można przechodzić do instalacji aplikacji!

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn