Jak zainstalować WordPress na lokalnym serwerze — XAMPP krok po kroku | WebMajka
Jak zainstalować WordPress na lokalnym serwerze — przewodnik krok po kroku
Instalacja WordPress lokalnie na własnym komputerze to złoty standard pracy nad stroną: testujesz motywy, wtyczki, migracje bez ryzyka rozwalenia produkcyjnej witryny, bez czekania na hosting, bez opłat. WordPress na XAMPP działa praktycznie identycznie jak na serwerze webowym — z wyjątkiem kilku niuansów (np. wysyłka maili, SSL), o których napiszę dalej. W tym poradniku pokażę pełną procedurę: pobranie i instalacja XAMPP, konfiguracja bazy MySQL, rozpakowanie plików WordPressa, edycja wp-config.php, uruchomienie kreatora instalacji oraz ustawienie fake sendmail do testowania maili. Cały proces zajmie ci 20 minut.
Dlaczego warto mieć WordPress bez serwera?
Praca na localhost ma kilka przewag nad zdalnym serwerem. Szybkość — lokalne zapytania MySQL wykonują się milisekundowo, nie czekasz na transfer przez internet. Bezpieczeństwo testów — eksperymentuj z nowymi wtyczkami bez ryzyka, że rozwalisz żywą stronę klienta. Brak kosztów — nie płacisz za hosting pod projekty demo. Praca offline — możesz kodować w pociągu, kawiarni, na wakacjach. Wersjonowanie — łatwo podpiąć projekt pod git i wrócić do wcześniejszej wersji. Jedyne minusy: wysyłka maili wymaga fake sendmail, SSL jest kłopotliwy, a do prezentacji klientowi trzeba użyć tuneli (ngrok) lub migracji na prawdziwy hosting.
Wymagania systemowe
WordPress 6.x (aktualna wersja) potrzebuje:
| Komponent | Minimum | Zalecane |
|---|---|---|
| PHP | 7.4 | 8.1 lub 8.2 |
| MySQL | 5.7 | 8.0 |
| MariaDB | 10.3 | 10.11 |
| Apache / Nginx | 2.4 / 1.20 | 2.4 z mod_rewrite |
| Pamięć RAM | 2 GB | 8 GB |
| Dysk | 150 MB | 500 MB |
XAMPP w wersji 8.1+ spełnia wszystkie wymagania. Jeśli pracujesz na starszym sprzęcie, wersja XAMPP Lite też wystarczy dla typowych projektów WordPress.
Krok 1 — Pobranie i instalacja XAMPP
Pobierz XAMPP z apachefriends.org — wybierz wersję z PHP 8.1 dla swojego systemu (Windows, macOS, Linux). Uruchom instalator jako administrator. W kreatorze zaznacz komponenty:
- Apache (serwer WWW)
- MySQL (baza danych)
- PHP (silnik skryptowy)
- phpMyAdmin (panel zarządzania bazą)
Zainstaluj XAMPP w C:\xampp — trzymanie poza Program Files eliminuje problemy z prawami dostępu Windows UAC. Po instalacji uruchom XAMPP Control Panel i wystartuj moduły Apache i MySQL przyciskiem Start.
# Jeśli Apache nie startuje, sprawdź zajęte porty (CMD jako admin)
netstat -ano | findstr :80
netstat -ano | findstr :443
# Zatrzymanie IIS (często konflikt z Apache)
iisreset /stop
Otwórz w przeglądarce http://localhost/ — strona powitalna XAMPP oznacza sukces.
Krok 2 — Utworzenie bazy danych MySQL
Wejdź na http://localhost/phpmyadmin/. Kliknij zakładkę Bazy danych i utwórz nową bazę o nazwie wordpress z kodowaniem utf8mb4_unicode_ci. Alternatywnie wykonaj zapytanie SQL:
CREATE DATABASE wordpress
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'SilneHaslo123!';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
Zapisz dane bazy: nazwa (wordpress), użytkownik (wpuser lub root), hasło. Na localhost domyślny root ma puste hasło — wystarczy do zabawy, ale odradzam, jeśli planujesz przenieść konfigurację później.
Krok 3 — Pobranie i rozpakowanie WordPressa
Pobierz WordPressa z wordpress.org/download — otrzymasz plik wordpress-x.x.zip. Rozpakuj go do C:\xampp\htdocs\mojastrona\ (wybierz dowolną nazwę — nie musi być wordpress).
cd C:\xampp\htdocs
mkdir mojastrona
# rozpakuj archiwum WordPressa do folderu mojastrona
Struktura folderu powinna wyglądać tak:
htdocs/mojastrona/
├── wp-admin/
├── wp-content/
├── wp-includes/
├── wp-config-sample.php
├── index.php
└── ...
Krok 4 — Konfiguracja wp-config.php
To serce instalacji. Skopiuj wp-config-sample.php do wp-config.php i edytuj sekcję bazy danych:
// ** Ustawienia MySQL ** //
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'SilneHaslo123!' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
Dalej wygeneruj unikalne klucze bezpieczeństwa — wejdź na api.wordpress.org/secret-key/1.1/salt/, skopiuj wygenerowane linie i wklej w miejsce domyślnych:
define( 'AUTH_KEY', 'losowy-string-1' );
define( 'SECURE_AUTH_KEY', 'losowy-string-2' );
define( 'LOGGED_IN_KEY', 'losowy-string-3' );
define( 'NONCE_KEY', 'losowy-string-4' );
define( 'AUTH_SALT', 'losowy-string-5' );
define( 'SECURE_AUTH_SALT', 'losowy-string-6' );
define( 'LOGGED_IN_SALT', 'losowy-string-7' );
define( 'NONCE_SALT', 'losowy-string-8' );
Dla pracy deweloperskiej włącz też tryb debug — doda się na końcu pliku, przed komentarzem "That's all, stop editing!":
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Logi trafią do wp-content/debug.log — bezcenne przy szukaniu błędów wtyczek.

Krok 5 — Kreator instalacji WordPressa
Otwórz w przeglądarce http://localhost/mojastrona/. WordPress automatycznie wykryje brak instalacji i uruchomi kreator w 2 krokach:
1. Wybór języka — wybierz polski i kliknij Kontynuuj.
2. Dane witryny:
- Tytuł witryny: np. "Moja lokalna strona"
- Nazwa użytkownika: np. admin (NIGDY tak nie nazywaj na produkcji!)
- Hasło: mocne, zapisz gdzieś
- Adres email: np. test@localhost.local
- Widoczność dla wyszukiwarek: odznacz na testach (zapobiega indeksacji)
Kliknij Zainstaluj WordPress. Po 3–5 sekundach dostaniesz komunikat sukcesu. Zaloguj się na http://localhost/mojastrona/wp-admin/ — witasz się z panelem administracyjnym.
Krok 6 — Konfiguracja fake sendmail do testowania maili
WordPress często wysyła maile (powiadomienia, reset haseł, nowi użytkownicy), ale lokalny serwer nie ma SMTP. Rozwiązanie — fake sendmail, które przechwytuje wiadomości i zapisuje je do pliku lub wysyła przez Gmail.
Otwórz C:\xampp\sendmail\sendmail.ini i skonfiguruj dla Gmaila:
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=twoj.email@gmail.com
auth_password=haslo-aplikacji-gmail
force_sender=twoj.email@gmail.com
Uwaga: na koncie Gmail musisz wygenerować hasło aplikacji (nie główne hasło). Następnie w C:\xampp\php\php.ini znajdź sekcję [mail function]:
[mail function]
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from=twoj.email@gmail.com
sendmail_path="\"C:\xampp\sendmail\sendmail.exe\" -t"
Zrestartuj Apache. Od tego momentu WordPress wyśle prawdziwe maile przez Gmail. Alternatywnie użyj wtyczki WP Mail SMTP i Mailtrap — wiadomości trafiają do skrzynki testowej bez spamowania prawdziwych adresów.
Typowe problemy i rozwiązania
Podczas instalacji WordPressa na XAMPP możesz natrafić na znane pułapki:
- Błąd "Error establishing a database connection" — sprawdź dane w
wp-config.php(nazwa bazy, użytkownik, hasło) oraz czy MySQL jest uruchomiony w XAMPP. - Biała strona — włącz
WP_DEBUGi sprawdźdebug.log; zwykle winowajca to wtyczka lub motyw. - "Briefly unavailable for scheduled maintenance" — skasuj plik
.maintenancew głównym katalogu. - Nie działają hiperłącza — włącz
mod_rewritew Apache (LoadModule rewrite_module modules/mod_rewrite.sow httpd.conf), plusAllowOverride Allw dyrektywie<Directory>. - Limit wgrywanych plików 2 MB — w php.ini ustaw
upload_max_filesize = 64Mipost_max_size = 64M. - Ostrzeżenia deprecated PHP — zmień wersję PHP w XAMPP z 8.2 na 8.1 (stabilniejsza dla starszych wtyczek).
Podobną procedurę dla sklepu opisałem w artykule o instalacji PrestaShop lokalnie.
Optymalizacja WordPressa na lokalnym serwerze
WordPress na XAMPP bywa wolny — głównie przez brak cache i nadmiar wtyczek deweloperskich. Kilka porad:
1. Wyłącz nieużywane wtyczki — każda aktywna wtyczka spowalnia loading.
2. Użyj lekkiego motywu — dla testów wystarczy Twenty Twenty-Four lub GeneratePress.
3. Zainstaluj Query Monitor — wtyczka pokazuje wolne zapytania SQL, duplikaty, hookowanie akcji.
4. Włącz OPcache w php.ini — zend_extension=opcache + opcache.enable=1 przyspiesza PHP 2–3×.
5. Używaj InnoDB — domyślny silnik MyISAM w MySQL jest wolniejszy dla typowych zapytań WP.
Migracja jak wgrać WordPress na serwer produkcyjny
Gdy strona jest gotowa, przenieś ją na hosting:
1. Eksport bazy — phpMyAdmin → Eksport → Szybki → SQL → pobierz.
2. Pakowanie plików — cały folder mojastrona/ do ZIP (pomijaj wp-content/cache).
3. Wgrywanie na serwer — przez FTP lub panel hostingu. Rozpakowanie bezpośrednio w cPanel jest szybsze.
4. Import bazy — utwórz bazę na hostingu, zaimportuj plik SQL.
5. Edycja wp-config.php — nowe dane MySQL (nazwa, użytkownik, hasło, host).
6. Zmiana URL w bazie — wykonaj:
UPDATE wp_options SET option_value = 'https://mojadomena.pl'
WHERE option_name = 'siteurl';
UPDATE wp_options SET option_value = 'https://mojadomena.pl'
WHERE option_name = 'home';
Dla serializowanych ustawień użyj wtyczki Better Search Replace — zwykłe SQL-owe REPLACE psuje zserializowane dane. Dla klientów oferujemy kompletne wdrożenie stron na WordPress wraz z pozycjonowaniem.
Podsumowanie — WordPress instalacja krok po kroku
Instalacja WordPress na XAMPP to obowiązek każdego, kto poważnie zajmuje się tym CMS-em. Lokalny serwer daje swobodę eksperymentów, szybkość, brak kosztów i pełną kontrolę. Kluczowe momenty procesu: poprawna konfiguracja wp-config.php (baza, sole bezpieczeństwa, tryb debug), włączenie mod_rewrite dla ładnych linków oraz skonfigurowanie fake sendmail do testowania maili. Jeśli dopiero zaczynasz przygodę z WordPressem, przeczytaj też artykuły czym jest WordPress i jak wybrać motyw WordPress — zrozumienie ekosystemu CMS-a zaowocuje szybszą pracą.
Najczęściej zadawane pytania (FAQ)
Czy WordPress działa bez serwera internetowego?
Jak wysyłać maile z WordPressa na localhost?
sendmail.ini i php.ini, wygeneruj w Gmailu hasło aplikacji i wpisz dane SMTP. Alternatywnie użyj wtyczki WP Mail SMTP z Mailtrap.io — wiadomości trafią do testowej skrzynki zamiast prawdziwych adresów, co chroni przed spamem podczas developmentu.Który XAMPP wybrać dla WordPressa?
Dlaczego WordPress na localhost ładuje się wolno?
zend_extension=opcache + opcache.enable=1 — daje 2-3× przyspieszenie PHP.Jak przenieść WordPressa z XAMPP na hosting?
Czy muszę edytować wp-config.php ręcznie?
Jak włączyć ładne linki (permalinki) na XAMPP?
mod_rewrite Apache do generowania permalinków. Otwórz C:\xampp\apache\conf\httpd.conf, odszukaj linię #LoadModule rewrite_module modules/mod_rewrite.so i usuń #. W sekcji <Directory "C:/xampp/htdocs"> zmień AllowOverride None na AllowOverride All. Zrestartuj Apache — permalinki zaczną działać.