WebServ – instalacja lokalnego serwera Apache, PHP i MySQL

cpp-polska.pl 1 tydzień temu

Lokalny serwer WWW, znany jako localhost, to niezbędne narzędzie dla wszystkich dewelopera. Umożliwia testowanie stron internetowych, aplikacji PHP i baz danych MySQL bezpośrednio na własnym komputerze, bez potrzeby zewnętrznego hostingu. W tym przewodniku skupiamy się na WebServ – polskojęzycznym pakiecie all-in-one z Apache, PHP, MySQL oraz narzędziami (m.in. phpMyAdmin, CesarFTP), który pozwala na szybki start bez skomplikowanej konfiguracji. Omówimy instalację, konfigurację, wersję portable, alternatywy manualne oraz wskazówki do zaawansowanego użytkowania, abyś mógł uruchomić pełny stos WAMP (Windows, Apache, MySQL, PHP) także na Windows 11.

Dlaczego warto używać lokalnego serwera?

Uruchomienie własnego serwera na komputerze symuluje środowisko produkcyjne, co jest najważniejsze przy tworzeniu dynamicznych witryn z bazami danych. WebServ wyróżnia się prostotą: to „jedna paczka” z Apache 2.2.22, PHP 5.3.20/5.4.10 (z PDFlib), MySQL 5.5.21, Perlem 5.14.2, MySQL Control Center 0.9.4, CesarFTP 0.99g, Webalizerem 2.1, klientami No-IP i DynDNS oraz phpMyAdmin 3.5.5. Dzięki temu możesz nie tylko rozwijać lokalnie, ale też udostępnić stronę poza sieć domową, korzystając z dynamicznego DNS.

Zalety WebServ:

  • łatwa instalacja w stylu „Dalej, Dalej”,
  • wersja portable – po instalacji skopiuj folder, odinstaluj – kopia działa samodzielnie bez ponownej instalacji,
  • brak hasła dla użytkownika MySQL root (od razu po starcie),
  • folder /httpd na pliki stron i /mysql/data na bazy, co ułatwia szybki backup kopią katalogu.

Ważne: komponenty w starszych wydaniach WebServ (np. PHP 5.x, MySQL 5.5) są przestarzałe i nie mają wsparcia bezpieczeństwa. Nie używaj ich w produkcji – rozważ nowsze alternatywy opisane niżej.

Instalacja WebServ – krok po kroku

Pobierz WebServ ze strony projektu lub z zaufanego archiwum. Instalacja jest prosta, ale unikaj folderu Program Files w Windows Vista+ (kontrola uprawnień może powodować problemy).

  1. Uruchom instalator i przejdź kreator, klikając Dalej.
  2. W sekcji konfiguracji PHP wybierz potrzebne moduły i ustawienia (np. poziom błędów).
  3. W ustawieniach MySQL pozostaw użytkownika root bez hasła tylko na czas lokalnych testów (zmień hasło później!).

Po instalacji najważniejsze lokalizacje to: /httpd (pliki .html/.php dostępne pod http://localhost) oraz /mysql/data (dane baz – możesz je kopiować do backupu).

Aby sprawdzić działanie serwera, otwórz w przeglądarce adres: http://localhost. Panel phpMyAdmin znajdziesz pod: http://localhost/phpmyadmin.

Wersja portable: zainstaluj WebServ, skopiuj cały folder (np. na pendrive), a następnie odinstaluj – skopiowana wersja uruchomi się samodzielnie bez ponownej instalacji.

Konfiguracja WebServ po instalacji

Po pierwszym uruchomieniu warto doprecyzować kilka ustawień:

  • Apache – pliki konfiguracyjne znajdziesz w podfolderach; w razie potrzeby włącz VirtualHosts i edytuj httpd.conf;
  • PHP – włącz rozbudowane error_reporting na czas developmentu, a logi błędów kieruj do pliku;
  • MySQL – loguj się jako root; bazy i użytkowników najłatwiej utworzysz w phpMyAdmin;
  • Udostępnianie online – skorzystaj z klientów No-IP/DynDNS do obsługi dynamicznego IP, jeżeli chcesz testować zdalny dostęp.

Kopia zapasowa: najprościej kopiować katalog /mysql/data oraz folder z plikami stron lub całą instalację portable.

Alternatywa – manualna instalacja Apache, PHP i MySQL (nowsze wersje)

WebServ jest przestarzały – dla PHP 8+ i MySQL 8+ warto wykonać instalację ręczną. Daje to większą elastyczność, ale wymaga edycji plików .ini/.conf.

1. Instalacja Apache (2.4.x)

Wykonaj następujące kroki, aby przygotować serwer HTTP:

  • pobierz binaria dla Windows (x64, VC15/VC16) z wiarygodnego źródła,
  • rozpakuj do ścieżki, np. C:\Server\bin\Apache24,
  • utwórz katalog na dokumenty, np. C:\Server\data\htdocs,
  • zabezpiecz uprawnienia do folderów serwera zgodnie z potrzebami.

W pliku C:\Server\bin\Apache24\conf\httpd.conf ustaw podstawowe dyrektywy:

ServerName localhost
DocumentRoot "C:/Server/data/htdocs"
<Directory "C:/Server/data/htdocs">
AllowOverride All
Require all granted
</Directory>

Następnie, jako administrator w Wierszu polecenia, zainstaluj i uruchom usługę Apache:

cd C:\Server\bin\Apache24\bin
httpd -k install
httpd -k start

Test działania: otwórz http://localhost.

2. Instalacja PHP (8.1+ Thread Safe)

Postępuj zgodnie z instrukcją, aby dołączyć PHP do Apache:

  • pobierz wersję Thread Safe (x64) z oficjalnego źródła,
  • rozpakuj do C:\Server\bin\PHP,
  • skopiuj php.ini-development do php.ini i wstępnie skonfiguruj,
  • dodaj folder PHP do zmiennej PATH (np. C:\Server\bin\PHP).

Aby połączyć Apache z PHP, dopisz na końcu httpd.conf poniższe linie:

LoadModule php_module "C:/Server/bin/PHP/php8apache2_4.dll"
AddHandler application/x-httpd-php .php
PHPIniDir "C:/Server/bin/PHP"

Zrestartuj Apache, aby zastosować zmiany:

httpd -k restart

By zweryfikować konfigurację, utwórz plik testowy C:\Server\data\htdocs\i.php z zawartością:

<?php phpinfo(); ?>

Otwórz w przeglądarce: http://localhost/i.php.

Zaawansowane PHP: w php.ini odkomentuj wymagane rozszerzenia (np. php_curl.dll, php_mbstring.dll), a dla SSL pobierz cacert.pem i ustaw ścieżkę: curl.cainfo = "C:\Server\certs\cacert.pem".

3. Instalacja MySQL (8.0+)

Aby skonfigurować nowoczesny serwer MySQL:

  • pobierz paczkę ZIP (x64) z oficjalnego źródła,
  • rozpakuj do C:\Server\bin\mysql-8.0,
  • utwórz katalog na dane, np. C:\Server\data\DB\data,
  • przygotuj plik konfiguracyjny my.ini.

Minimalna konfiguracja w pliku C:\Server\bin\mysql-8.0\my.ini może wyglądać tak:

[mysqld]
basedir=C:/Server/bin/mysql-8.0
datadir=C:/Server/data/DB/data
port=3306

Następnie zainicjuj i uruchom usługę (Wiersz polecenia jako administrator):

cd C:\Server\bin\mysql-8.0\bin
mysqld --initialize-insecure --console
mysqld --install MySQL
net start MySQL

Ustaw hasło administratora bazy danych:

mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED BY 'TwojeSilneHaslo!';

Możesz też użyć oficjalnego instalatora MySQL, który automatyzuje większość kroków.

4. Panel phpMyAdmin

phpMyAdmin znacznie ułatwia zarządzanie bazami:

  • pobierz i skopiuj do C:\Server\data\htdocs\phpmyadmin,
  • skonfiguruj config.inc.php (host, użytkownik, hasło),
  • wejdź na adres: http://localhost/phpmyadmin.

Jeśli chcesz uruchamiać usługi automatycznie po starcie systemu, ustaw autostart:

sc config Apache2.4 start= auto
sc config MySQL start= auto

Testowanie i tworzenie pierwszej strony

Aby gwałtownie potwierdzić połączenie z bazą, utwórz plik C:\Server\data\htdocs\test\index.php (lub w /httpd w WebServ) z następującą zawartością:

<?php
$link = mysqli_connect("localhost", "root", "", "testdb");
if ($link) echo "Połączenie OK!";
?>

Następnie utwórz bazę testdb w phpMyAdmin, a w przeglądarce otwórz: http://localhost/test.

Aktualizacje i utrzymanie

W trakcie pracy regularnie aktualizuj komponenty i wykonuj kopie zapasowe:

  • Apache – usuń folder bin\Apache24, rozpakuj nowszą wersję, skopiuj ustawienia z httpd.conf, uruchom ponownie usługę;
  • PHP – zachowaj php.ini, podmień folder PHP i zrestartuj Apache;
  • MySQL – zatrzymaj usługę (net stop MySQL), podmień folder binarny, sprawdź my.ini, uruchom ponownie;
  • kopie zapasowe – regularnie kopiuj C:\Server\data (bazy w DB, strony w htdocs).

Problemy i szybkie rozwiązania:

  • porty zajęte – zmień je w plikach konfiguracyjnych (np. MySQL na 3307),
  • błędy PHP – sprawdź logi Apache w pliku error.log,
  • Windows 11 – uruchamiaj terminal jako administrator i dodaj ścieżki do PATH.

Porównanie pakietów i alternatyw

Poniższa tabela ułatwia wybór rozwiązania w zależności od potrzeb:

Pakiet Zalety Wady Wersje komponentów
WebServ prosty, przenośny, po polsku stare wydania (PHP 5, MySQL 5) Apache 2.2, PHP 5.x
XAMPP aktualny, wieloplatformowy rozbudowany zestaw komponentów PHP 8+, MySQL 8+
Manualna instalacja pełna kontrola, najnowsze wersje bardziej złożona konfiguracja dowolne (np. PHP 8.1+)
WAMP wygodny GUI, szybkie panele mniejsza elastyczność PHP 8+, MySQL 8+

Dla początkujących warto rozważyć WebServ lub XAMPP, a dla profesjonalistów – ręczną instalację z aktualnymi wersjami Apache, PHP i MySQL.

Wskazówki zaawansowane i bezpieczeństwo

Poniżej znajdziesz rekomendacje, które poprawią bezpieczeństwo i wydajność środowiska:

  • Virtual hosts – w httpd.conf dodaj sekcje typu <VirtualHost *:80> ... </VirtualHost> i wskazuj osobne katalogi dla projektów;
  • SSL – włącz mod_ssl, wygeneruj certyfikat i ustaw HTTPS dla testów integracyjnych;
  • Bezpieczeństwo – zawsze ustaw silne hasło dla konta root, skonfiguruj zaporę (porty 80/443/3306) i nie eksponuj phpMyAdmin publicznie;
  • Wydajność – włącz OPcache w PHP, a w MySQL dostrój m.in. innodb_buffer_pool_size oraz query_cache_size (jeśli dostępne);
  • Migracja – eksportuj bazy do .sql, a pliki aplikacji kopiuj z katalogu htdocs.

Najważniejsze: nie pozostawiaj konta MySQL root bez hasła i nie używaj przestarzałych wersji w środowisku produkcyjnym.

Idź do oryginalnego materiału