Chcesz uruchomić stronę w PHP albo postawić WordPressa lokalnie, zanim wrzucisz cokolwiek na hosting? Potrzebujesz serwera. Możesz osobno instalować Apache, PHP i bazę danych i godzinami walczyć z konfiguracją — albo zainstalować XAMPP, który daje Ci całe środowisko w jednym instalatorze. W tym poradniku przejdziesz od pobrania pakietu, przez instalację na Windowsie, macOS i Linuksie, po pierwszą uruchomioną stronę pod adresem localhost i pierwszą bazę danych w phpMyAdmin. Bez teorii w próżni — same konkretne kroki, ścieżki i komendy.
Czym jest XAMPP i co dostajesz w pakiecie
XAMPP to darmowy, wieloplatformowy pakiet, który stawia na Twoim komputerze kompletny serwer WWW — taki sam zestaw technologii, jaki działa na większości hostingów współdzielonych. Nazwa to skrót: X (cross-platform, czyli Windows/macOS/Linux), Apache, MariaDB (dawniej MySQL), PHP i Perl. Projekt rozwija Apache Friends i pobierzesz go z apachefriends.org.
Po instalacji masz pod ręką:
- Apache — serwer HTTP, który serwuje Twoje strony pod adresem
localhost. - MariaDB — silnik baz danych, w pełni zgodny z MySQL (to fork MySQL, który powstał po przejęciu MySQL przez Oracle). W panelu nadal widnieje jako „MySQL”.
- PHP — interpreter, bez którego nie uruchomisz żadnego skryptu
.php. Aktualne wydania XAMPP dają do wyboru PHP w liniach8.0,8.1,8.2i8.3. - phpMyAdmin — graficzny panel webowy do zarządzania bazami danych (tworzenie tabel, zapytania SQL, import/eksport).
- Dodatki — Perl, OpenSSL (HTTPS lokalnie), serwer pocztowy Mercury, kontener Tomcat oraz na Windowsie klient FTP FileZilla. Przy prostym projekcie PHP większości z tego nie ruszysz.
Najważniejsze: XAMPP uruchamia kod na Twoim komputerze, lokalnie. Testujesz, psujesz i poprawiasz u siebie, a na serwer produkcyjny wrzucasz dopiero działającą wersję. Zero ryzyka, że eksperymentami położysz żywą stronę.
XAMPP, WAMP czy Laragon — co wybrać
XAMPP to nie jedyna opcja. Na Windowsie popularny jest też WAMP (Windows-only, łatwe przełączanie wersji PHP) oraz Laragon (lżejszy, z ładnym przełączaniem stacków i automatycznymi wirtualnymi hostami). XAMPP wygrywa, gdy chcesz dokładnie ten sam zestaw na trzech systemach i zero kombinowania — dlatego startujący najczęściej zaczynają właśnie od niego. Tej decyzji nie musisz przemyśliwać godzinami: na naukę PHP i WordPressa XAMPP wystarczy w zupełności.
Pobieranie i instalacja na Windowsie
Wejdź na apachefriends.org i pobierz instalator dla Windowsa z wybraną wersją PHP. Jeśli nie masz konkretnego powodu, weź najnowszą stabilną linię — chyba że projekt, nad którym pracujesz, wymaga starszego PHP (wtedy dopasuj wersję do produkcji).
- Uruchom pobrany plik
.exe(kliknij dwukrotnie). Jeśli wyskoczy ostrzeżenie o User Account Control i sugestia, by nie instalować wC:\Program Files— kliknijOK. UAC blokuje zapis w tym katalogu, a XAMPP musi tam pisać. - W oknie Select Components zaznacz to, czego naprawdę użyjesz. Do prostego projektu w PHP wystarczą MySQL (czyli MariaDB) i phpMyAdmin — resztę możesz odznaczyć i zaoszczędzić miejsce.
- Jako katalog instalacji podaj
C:\xampp— czyli główny katalog dysku, a nieProgram Files. To domyślna, sprawdzona ścieżka i wiele tutoriali ją zakłada. - Przejdź przez kolejne ekrany kreatora i poczekaj na zakończenie. Na koniec uruchom XAMPP Control Panel.
Instalacja na macOS i Linuksie
Na macOS pobierasz plik .dmg, montujesz go i przeciągasz XAMPP do folderu Aplikacje — tak jak każdą inną aplikację. Środowisko ląduje w /Applications/XAMPP, a zarządzasz nim przez aplikację manager-osx (zakładka Manage Servers, gdzie startujesz Apache i MySQL).
Na Linuksie pobierasz plik .run. Domyślnie XAMPP instaluje się w /opt/lampp. W terminalu, w katalogu z pobranym plikiem, nadaj prawo wykonywania i uruchom instalator (podstaw numer swojej wersji):
chmod a+x xampp-linux-x64-8.2.12-0-installer.runsudo ./xampp-linux-x64-8.2.12-0-installer.run
Po instalacji wszystkie usługi wystartujesz jednym poleceniem: sudo /opt/lampp/xampp start. Zobaczysz wtedy kolejno Starting Apache...ok, Starting MySQL...ok itd. Panel graficzny odpalisz przez sudo /opt/lampp/manager-linux-x64.run. Jeśli przy starcie bazy odezwie się firewall z pytaniem o połączenia — zezwól, przynajmniej dla połączeń lokalnych, bo baza działa w modelu klient–serwer i musi przyjmować lokalny ruch.
Panel sterowania i pierwszy start serwera
XAMPP Control Panel to Twoje centrum dowodzenia. Na Windowsie zobaczysz listę modułów (Apache, MySQL, FileZilla, Mercury, Tomcat), a obok każdego zestaw przycisków:
- Start / Stop — uruchamia i zatrzymuje dany moduł. Po starcie nazwa modułu podświetla się na zielono, a w logu na dole pojawia się
Status change detected: running. - Admin — otwiera panel administracyjny modułu (dla MySQL prowadzi prosto do phpMyAdmin).
- Config — daje dostęp do plików konfiguracyjnych danego modułu, np.
httpd.confApache. - Logs — pokazuje logi zdarzeń i błędów. To pierwsze miejsce, do którego zaglądasz, gdy coś nie startuje.
Do uruchomienia strony w PHP wystarczy, że wciśniesz Start przy Apache i MySQL. Przycisk Config w prawym górnym rogu panelu prowadzi do ustawień samego XAMPP-a, a Explorer otwiera folder instalacji.
Sprawdzenie, czy działa — Twój localhost
Gdy Apache świeci na zielono, otwórz przeglądarkę i wpisz w pasku adresu localhost (albo http://localhost). Powinna wyświetlić się strona powitalna Apache Friends — dashboard XAMPP-a. Jeśli ją widzisz, gratulacje: masz działający serwer WWW na własnym komputerze.
Pod adresem localhost/phpmyadmin dostaniesz się do phpMyAdmin, a wpisując localhost/dashboard wrócisz do panelu powitalnego. Adres localhost jest równoznaczny z IP 127.0.0.1 — to „ten komputer”, pętla zwrotna, która nigdy nie wychodzi do sieci.
Uruchamiamy własną stronę — folder htdocs
Cała magia dzieje się w jednym katalogu: htdocs. To document root Apache — wszystko, co tam wrzucisz, jest dostępne przez przeglądarkę. Na Windowsie znajdziesz go pod C:\xampp\htdocs, na Linuksie pod /opt/lampp/htdocs, na macOS pod /Applications/XAMPP/htdocs.
Zrób test w trzech krokach:
- W
htdocsutwórz nowy folder na swój projekt, np.mojastrona. Trzymanie każdego projektu w osobnym katalogu to dobry nawyk — później wywołasz go po nazwie. - W tym folderze stwórz plik
index.phpi wpisz do niego:. Funkcjaphpinfo()wyświetla wersję PHP i pełną konfigurację — idealny test, że interpreter działa. - W przeglądarce wejdź na
localhost/mojastrona. Zobaczysz tabelę z danymi PHP. Jeśli zamiast tego wyświetla Ci się surowy kod albo plik pobiera się zamiast otwierać — Apache nie obsługuje PHP albo wpisujesz adres bez przejścia przez serwer (np. otwierasz plik bezpośrednio jakofile://).
Od tej pory każda strona to po prostu folder w htdocs, który otwierasz pod localhost/nazwa-folderu. Tak samo wgrasz tu WordPressa, własny framework czy ćwiczenia z kursu PHP.
Pierwsza baza danych w phpMyAdmin
Większość realnych projektów potrzebuje bazy. Upewnij się, że w panelu działa MySQL, i wejdź na localhost/phpmyadmin. W domyślnej konfiguracji XAMPP loguje Cię automatycznie jako użytkownik root bez hasła — wygodne lokalnie, choć na produkcji byłoby to grzechem śmiertelnym.
Aby założyć bazę pod nowy projekt:
- W lewej kolumnie kliknij Nowa / New.
- Wpisz nazwę bazy, np.
sklep, wybierz kodowanieutf8mb4_general_ci(obsługuje polskie znaki i emoji) i zatwierdź. - Baza pojawi się na liście. Możesz teraz tworzyć w niej tabele klikami albo zakładką SQL wykonać zapytanie, np.
CREATE TABLE klienci (id INT AUTO_INCREMENT PRIMARY KEY, imie VARCHAR(50));.
Konto root, własny użytkownik i uprawnienia
Po instalacji baza ma konto administracyjne root z pełnymi uprawnieniami i pustym hasłem. Do nauki to wystarczy, ale gdy chcesz odwzorować warunki produkcyjne, załóż osobnego użytkownika dla swojej aplikacji:
- W phpMyAdmin przejdź do zakładki Konta użytkowników / User accounts i kliknij Dodaj konto użytkownika.
- Nadaj nazwę (np.
sklep_user), host ustaw nalocalhosti wpisz hasło. - W sekcji uprawnień przyznaj dostęp tylko do tej jednej bazy — zasada najmniejszych uprawnień. Aplikacja nie potrzebuje praw admina do całego serwera.
Chcesz wymusić logowanie do samego phpMyAdmin (zamiast auto-logowania jako root)? Zmień tryb autoryzacji w pliku config.inc.php — na Windowsie znajdziesz go w C:\xampp\phpMyAdmin\config.inc.php, na Linuksie w /opt/lampp/phpmyadmin/config.inc.php. Wystarczy zmienić wartość $cfg['Servers'][$i]['auth_type'] z config na cookie.
Najczęstsze problemy i jak je rozwiązać
Większość blokad pojawia się przy pierwszym starcie i sprowadza się do dwóch rzeczy: zajętych portów i konfliktów usług.
- Apache nie startuje — zajęty port 80. Najczęstszy winowajca to inna aplikacja używająca portu
80: serwer IIS, czasem Skype, a na Windowsie regularnie VMware lub usługa World Wide Web Publishing Service. Zamknij kolidującą aplikację albo zmień port Apache w plikuhttpd.conf— znajdź linięListen 80i ustaw np.Listen 8080(potem stronę wywołasz jakolocalhost:8080). - Konflikt na porcie 443 (HTTPS). Analogicznie, jeśli blokuje się szyfrowane połączenie, edytuj
httpd-ssl.confi zmień port443na inny, np.4433. - MySQL nie startuje. Zwykle masz już zainstalowany osobny MySQL/MariaDB jako usługę Windows i zajmuje port
3306. Zatrzymaj tę usługę albo zmień port wmy.ini(sekcja[mysqld], dyrektywaport). - Strona w przeglądarce pokazuje surowy kod PHP. Otwierasz plik bezpośrednio z dysku zamiast przez serwer. PHP musi przejść przez Apache — adres zawsze zaczynaj od
localhost/, nigdy nie klikaj pliku.phpwprost. - Pliki w htdocs nie są widoczne. Sprawdź, czy Apache jest uruchomiony (zielony w panelu) i czy plik startowy nazywa się
index.phplubindex.html— inaczej Apache pokaże listę plików albo błąd 403.
Gdy coś nie działa, otwórz Logs przy danym module. Komunikat błędu prawie zawsze wskazuje konkretny port lub plik — to szybsza droga niż zgadywanie.
Co dalej po XAMPP-ie
Masz już lokalny serwer, działający localhost i pierwszą bazę. To fundament, na którym zbudujesz dowolny projekt webowy. Naturalne kolejne kroki to: postawić WordPressa w htdocs i przejść przez instalator, zacząć kurs PHP i pisać skrypty łączące się z bazą przez mysqli lub PDO, albo odpalić framework jak Laravel czy Symfony. XAMPP będzie pod spodem działał tak samo — Ty tylko wrzucasz kolejne projekty do htdocs i pracujesz.
FAQ — najczęstsze pytania o XAMPP
Czy XAMPP jest darmowy?
Tak, w całości. XAMPP opiera się wyłącznie na wolnym oprogramowaniu (m.in. licencja GNU) i jest darmowy zarówno do nauki, jak i komercyjnie. Pobierzesz go bez rejestracji z apachefriends.org.
Gdzie XAMPP instaluje pliki moich stron?
W katalogu htdocs wewnątrz folderu instalacji: C:\xampp\htdocs na Windowsie, /opt/lampp/htdocs na Linuksie i /Applications/XAMPP/htdocs na macOS. Każdy podfolder w htdocs otwierasz pod adresem localhost/nazwa-folderu.
Jakie jest domyślne hasło do MySQL w XAMPP?
Domyślnie żadne. Logujesz się jako użytkownik root z pustym hasłem, dlatego phpMyAdmin wpuszcza Cię bez pytania. To bezpieczne tylko lokalnie — na publicznym serwerze obowiązkowo ustaw hasło i utwórz osobnych użytkowników.
Apache nie chce się uruchomić — co robić?
Niemal zawsze to zajęty port 80 (Skype, IIS, VMware, World Wide Web Publishing Service). Zamknij kolidującą aplikację albo zmień port w pliku httpd.conf (linia Listen) na np. 8080. Konkretny powód znajdziesz w logu Apache pod przyciskiem Logs.
Czy XAMPP nadaje się na serwer produkcyjny?
Nie. XAMPP to narzędzie do lokalnego testowania i nauki — domyślna konfiguracja jest celowo otwarta (root bez hasła, włączone moduły) i nieprzystosowana do publicznego internetu. Gotowy projekt przenosisz na właściwy hosting albo serwer VPS, gdzie konfigurujesz Apache, PHP i bazę pod kątem bezpieczeństwa.



