Wstęp

W dzisiejszych czasach coraz więcej osób tworzy strony internetowe, zarówno jako część swojej pracy, jak i jako hobby. Często potrzebujemy sposobu na hostowanie i testowanie tych stron lokalnie, zanim zostaną udostępnione publicznie. W tym artykule pokaże Ci jak przebiega instalacja serwera lokalnego.

Zobacz jak skonfigurować Apache2 na systemie Windows, aby obsługiwał PHP, MySQL i umożliwiał hostowanie wielu stron internetowych na Twoim komputerze.

Instalacja serwera lokalnego wraz ze wszystkimi składnikami

Apache

Apache to oprogramowanie umożliwiające komputerowi realizować funkcjonalność serwera. Dzięki niemu będziemy mogli sprawdzić jak zachowywała by się nasza strona na zewnętrznym hostingu.

Pobieranie apache

Po wejściu na stronę: https://www.apachelounge.com/download/, na samej górze znajdziesz najnowszą wersję Apache, aby ją pobrać kliknij na link podobny do tego zaznaczonego na żółto:

Instalacja serwera

Pobrane archiwum w formacie .zip otwórz i znajdujący się w nim folder “Apache24” wypakuj do “C:\Program Files”.

Po wejściu do naszego nowego katalogu powinieneś/aś zobaczyć następujący widok:

Interpreter PHP

Żeby nasz serwer mógł wykonywać skrypty PHP potrzebuje on tzw.: “interpretera”.

Pobieranie interpretera

Jeśli ktoś ma taką potrzebę to Istnieje możliwość pobrania starszych wersji PHP ja jednak skupię się na najnowszej, która na dzień dzisiejszy (20.01.2023) ma numer 8.2.1. Aby pobrać interpreter dla systemu Windows wejdź na tę stronę: https://windows.php.net/download i wyszukaj na niej “VS16 x64 Thread Safe

Uwaga! Na stronie można znaleźć również wersję: “Non Thread Safe“. Nam zależy żeby pobrać wersję: “Thread Safe“.

Gdy znajdziesz odpowiednią wersję kliknijzaznaczonym na żółto w link co powinno rozpocząć pobieranie:

Instalacja PHP

Teraz wystarczy w katalogu “C:\Program Files” utworzyć nowy folder, nazwać go “PHP” i wypakować do niego wszystkie pliki z pobranego archiwum. Po tej operacji folder powinien wyglądać jak na rzucie ekranu:

Baza danych MySQL

MySQL to system zarządzania relacyjnymi bazami danych. Dzięki temu, że jest on otwartoźródłowy, społeczność deweloperska stworzyła jego ulepszoną wersję o nazwie MariaDB. MariaDB jest wstecznie kompatybilna co oznacza, że oferuje tą samą funkcjonalność co MySQL ale posiada jeszcze dodatkowe funkcje.

Pobieranie MariaDB

Serwer bazy danych możesz pobrać z tej strony: https://mariadb.org/download/.

Po wejściu na nią musisz jeszcze uzupełnić formularz, aby móc pobrać odpowiednią dla Ciebie wersję. Większość opcji powinna zaznaczyć się automatycznie. Jeśli jednak by się tak nie stało to poniżej pokazuje jakie opcje należy wybrać:

W polu “MariaDB Server Version” wybierz wersję oznaczoną literami “RC” co oznacza, że jest to najnowsza, stabilna wersja.

Wersje oznaczone “alpha” i “beta” to wczesne wersje służące do testowania nowych funkcji i poprawek i mogą zawierać błędy dlatego nas nie interesują.

W rubryce “Operating System” wybierz naturalnie “Windows“, w “Architecture“: “x86_64“, a w “Package Type”: “MSI Package“, natomiast w “Mirror” nie ma znaczenia co wybierzesz. Jeśli całość wygląda tak jak na rzucie ekranu to możesz nacisnąć przycisk “Download“:

Instalacja bazy danych

Po pobraniu pliku instalacyjnego uruchom go. Proces instalacji jest bardzo prosty i sprowadza się do przyciskania “next”, aż do natrafienia na okno wyboru hasła dla użytkownika “root”:

Musisz wtedy wpisać hasło dla użytkownika administracyjnego. Dla przykładu wpisałem w tym miejscu “root” jednak Ty możesz wybrać inne, dowolne hasło.

Należy również zaznaczyć opcje “enable access from remote machines for ‘root’ user” oraz Use UTF8 as default server’s character set“.

W następnym oknie zostaw wartości domyślne i przejdź kolejno dalej, aż do rozpoczęcia instalacji. Po jej ukończeniu wciśnij “finish“. Aby sprawdzić czy wszystko działa w “Menu Start” wyszukaj frazę “maria” i uruchom program “MySQL Client (MariaDB (x64))“.

rzut ekranu eksporatora windows

Po otwarciu terminala powinieneś ujrzeć ekran logowania. Jeśli wpiszesz podane przez siebie podczas instalacji hasło, i Twój terminal wygląda tak jak poniżej to instalacja przebiegła pomyślnie.

Enter password: ****
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 10.11.1-MariaDB mariadb.org binary distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]>

Instalacja serwera lokalnego ciąg dalszy: Konfiguracja serwera

Sama instalacja serwera lokalnego niestety nie wystarczy. Pomimo, że zainstalowałeś wszystko poprawnie to Twój serwer jeszcze nie działa. Musisz go skonfigurować.

Apache cz. 1

Przejdź do katalogu: “C:\Program Files\Apache24\conf” i otwórz plik “httpd.conf“. Można go otworzyć za pomocą dowolnego edytora tekstu np. notatnika systemowego.

Po otwarciu pliku znajdź następujące linijki i zamień je na ich poniższe odpowiedniki:

Define SRVROOT "c:/Apache24"
Define SRVROOT "C:/Program Files/Apache24"

<Directory />
    AllowOverride none
    Require all denied
</Directory>
<Directory />
    AllowOverride All
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

#Include conf/extra/httpd-vhosts.conf
Include conf/extra/httpd-vhosts.conf

Gdy to zrobisz, musisz przewinąć plik na sam dół i na końcu dodać następujący kod:

ScriptInterpreterSource Registry

# PHP8 module
PHPIniDir "C:/Program Files/PHP"
LoadModule php_module "C:/Program Files/PHP/php8apache2_4.dll"
AddType application/x-httpd-php .php

Uwaga! Jeśli zainstalowałeś inną wersję PHP niż 8 to nazwa pliku “php8apache2_4.dll” w powyższym kodzie będzie inna. Aby dowiedzieć się jaką nazwę ma Twój plik musisz przejść do lokalizacji: “C:/Program Files/PHP/” i poszukać pliku o podobnej nazwie.

Interpreter PHP

Zmienne środowiskowe

Pierwszą rzeczą, którą musisz teraz zrobić to dodać dodać do systemu zmienne środowiskowe. W tym celu przejdź do pulpitu, naciśnij prawy przycisk myszy na “Ten komputer” i wybierz z menu kontekstowego “Właściwości(alternatywnie możesz zaznaczyć “Ten komputer” i użyć skrótu klawiszowego [Alt] + [Enter]).

Otworzy Ci się okno ustawień. Na górze w karcie “Specyfikacja urządzenia” wybierz: “Zaawansowane ustawienia systemu

Następnie w karcie: “Zaawansowane” otwórz: “Zmienne środowiskowe

W oknie “Zmienne środowiskowe” są dwie sekcje: “Zmienne użytkownika” oraz “Zmienne systemowe“. W zmiennych użytkownika wybierz z listy zmienną o nazwie: “Path” i naciśnij: “Edytuj“.

Następnie wybierz: “Nowy” i wklej poniższy tekst:

C:\Program Files\PHP

Jeśli całość wygląda jak na rzucie ekranu to można nacisnąć “OK”. Wrócimy tym samym do poprzedniego okna, w którym tym razem wybierzemy opcję “Nowa …” w sekcji “Zmienne systemowe“.

W rubryce “Nazwa” wpisz:

PHPRC

Natomiast w “Wartość“:

C:\Program Files\php;C:\Program Files\php\ext

Zapisz nowe ustawienia klikając we wszystkich oknach “OK“. Tym samym zostawiając tę część za sobą.

Plik php.ini

Konfiguracja interpretera PHP jest już prawie zakończona. Zostało jedynie przejść do folderu: “C:\Program Files\PHP” i zmienić nazwę znajdującego się tam pliku “php.ini-development” na “php.ini“.

Gdy nazwa pliku zostanie już zmieniona trzeba będzie jeszcze otworzyć ten plik w notatniku i znaleźć w nim poniższy kod:

;extension=bz2
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=oci8_19  ; Use with Oracle Database 19 Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

Usuń z tego fragmentu wszystkie średniki. Poprawiony kod powinien wyglądać w następujący sposób:

extension=bz2
extension=curl
extension=ffi
extension=ftp
extension=fileinfo
extension=gd
extension=gettext
extension=gmp
extension=intl
extension=imap
extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
extension=oci8_19  ; Use with Oracle Database 19 Instant Client
extension=odbc
extension=openssl
extension=pdo_firebird
extension=pdo_mysql
extension=pdo_oci
extension=pdo_odbc
extension=pdo_pgsql
extension=pdo_sqlite
extension=pgsql
extension=shmop

Zabieg ten “włączy” wybrane rozszerzenia języka PHP dla naszego serwera.

Apache cz. 2

Jeśli dotarłeś do tego momentu to gratuluję cierpliwości. Instalacja serwera lokalnego z obsługą wielu stron jest już prawie zakończona. Spróbuj teraz uruchomić serwer. W tym celu otwórz: “Menu Start“, wyszukaj: “CMD” i otwórz: “Wiersz polecenia” klikając: “Uruchom jako administrator“.

Wpisz teraz po kolei następujące komendy, każdą z nich potwierdź enterem:

cd C:\Program Files\Apache24\bin
httpd.exe -k install
net start Apache2.4

W tym momencie Twój serwer powinien już działać. Aby to sprawdzić możesz otworzyć folder: “C:\Program Files\Apache24\htdocs“, usunąć z niego wszystkie pliki i utworzyć nowy o nazwie “index.php“. Jego zawartość powinna być następująca:

<?php
    phpinfo();
?>

Teraz jeśli otworzysz przeglądarkę internetową i wpiszesz adres: “localhost/“. Powinna Ci się wyświetlić następująca strona:

Jeśli tak jest to gratuluje! Twój serwer działa.

Co dalej?

Jeśli wykonałeś/aś wszystkie kroki to instalacja serwera lokalnego z obsługą wieku stron jest, że prawie za Tobą. Zostały Ci już do zrobienia tylko kilka rzeczy.

Automatyczne uruchamianie serwera wraz ze startem systemu Windows

Twój serwer działa jednak jeśli nie chcesz uruchamiać go ręcznie za pomocą wiersza poleceń, za każdym razem gdy włączasz komputer powinieneś włączyć auto uruchamianie apache w Menadżera Usług Windows. Aby to zrobić otwórz: “Menu Start” i wpisz frazę: “Usługi“.

Po otwarciu tego programu ukaże Ci się lista wszystkich usług sytemu Windows. Lista domyślnie ułożona jest alfabetycznie więc gdzieś na samej górze powinna znajdować się usługa o nazwie: “Apache2.4” – to właśnie jej powinieneś szukać..

Gdy ją zlokalizujesz trzeba otworzyć jej właściwości klikając na nią dwukrotnie lewym przyciskiem myszy. Otworzy Ci się nowe okienko, w którym z listy o nazwie: “Typ uruchomienia” wybierz: “Automatyczny“.

Na koniec kliknij przycisk “OK“. To wystarczy aby Twój serwer uruchamiał się automatycznie przy starcie systemu.

Obsługa wielu stron

Serwer już działa jednak obsługuje on tylko jedną stronę na raz. Jej adres to wspomniany wcześniej “localhost/“. Natomiast folder, w którym znajdują się jej pliki to “C:\Program Files\Apache24\htdocs“. Oczywiście można w ten sposób używać serwera jednak bardziej wymagający programiści mogą z czasem chcieć mieć każdy projekt na oddzielnej stronie i w oddzielnym katalogu.

Dodajmy zatem do niego tzw. Wirtualne hosty. Tworzy się je poprzez edycję dwóch plików. Jeden to plik konfiguracyjny apache natomiast drugi to plik systemowy. Jako przykład utworzymy dwa hosty: “localhost” i “localhost2.

Na początek utwórz w dowolnym miejscu na dysku dwa foldery. Moga one znajdować się np. na pulpicie. Ich nazwa może być dowolna jednak dla uproszczenia najlepiej będzie nazwać je tak jak nasze hosty, czyli: “localhost” i “localhost2.

Edycja pliku “httpd-vhosts.conf

Teraz otwórz folder: “C:\Program Files\Apache24\conf\extra“. Jest w nim plik o nazwie: “httpd-vhosts.conf“. Na początek otwórz go i usuń całą z niego zawartość, a na jej miejsce wklej następujący kod:

<VirtualHost *:80>
    DocumentRoot "C:\Users\krzys\Pulpit\localhost"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "C:\Users\krzys\Pulpit\localhost2"
    ServerName localhost2
</VirtualHost>

Każdy pojedynczy host powinien znajdować się pomiędzy: “<VirtualHost *:80>” i “</VirtualHost>“. Jak widać w powyższym przykładzie są dwa takie bloki kodu. Każdy z nich zawiera następującą linijkę:

DocumentRoot "C:\Users\krzys\Pulpit\localhost2"

Jest to nic innego jak lokalizacje utworzonych wcześniej folderów, w których będą trzymane pliki projektu.

Druga linijka to adres url jaki trzeba będzie wpisać, żeby otworzyć daną stronę internetową.

ServerName localhost2

Oznacza to, że po otwarciu w przeglądarce: “localhost2/” wyświetli ona stronę internetową z folderu “C:\Users\krzys\Pulpit\localhost2“. Prawda, że proste?

Edycja pliku hosts

Uprawnienia do edycji pliku hosts

Edycja jednego pliku była by zbyt prosta dlatego w Windowsie musisz znaleźć jeszcze jeden plik. Znajduje się on w katalogu systemowym: “C:\WINDOWS\System32\drivers\etc” i ma on nazwę: “hosts” (bez żadnego rozszerzenia). Domyślnie nie będziesz mieć uprawnień do jego edycji dlatego trzeba najpierw zezwolić sobie takie działania.

Uwaga! Plik hosts jest ważnym plikiem systemowym. Przed przystąpieniem do jego edycji należy na wszelki wypadek zrobić jego kopię zapasową.

Aby to zrobić wejdź do folderu: “C:\WINDOWS\System32\drivers\etc“, naciśnij prawy przycisk myszy na pliku “hosts” i wybierz: “Właściwości“.

Po otwarciu okna: “Właściwości” odznacz: “Tylko do odczytu” i przejdź do zakładki: “Zabezpieczenia

W zakładce tej naciśnij przycisk “Edytuj

Następnie wybierz z listy swoją nazwę użytkownika i w kolumnie: “Zezwalaj” zaznacz: “Pełna kontrola“. Jeśli Twoja nazwa użytkownika jest na liście więcej niż jeden raz to powtórz tę czynność dla każdej z nich.

Po wszystkim zapisz nowe ustawienia klikając wszędzie: “OK“.

Jak edytować plik hosts?

Teraz gdy masz już uprawnienia do zapisu pliku możesz go otworzyć przy pomocy dowolnego edytora tekstu. Na jego końcu wklej kod:

127.0.0.1       localhost
127.0.0.1       localhost2

Każda z linijek odpowiedzialna jest za inny projekt i składa się od tego samego adresu IP oraz nazwy url naszego projektu. Każdy projekt musi mieć oddzielny wpis w tym pliku, dlatego dodając wirtualny host do pliku “httpd-vhosts.conf” musimy dodać go także do pliku “host“.

Restart serwera

Teraz gdy utworzyłeś wirtualne hosty: “localhost” i “localhost1” musisz zresetować serwer. Najszybszy sposób, żebyś tego dokonał to ponowne otwarcie Menadżera Usług Windows, teraz naciśnij prawy przycisk myszy na usłudze “Apache24” i z menu kontekstowego wybierz “Uruchom ponownie“.

Gdy serwer się zresetuje wszystko powinno działać, a ty będziesz mógł się cieszyć dwoma “localhostami” na jednym komputerze. Oczywiście możesz utworzyć ich więcej, a ich nazwa może być dowolna.

Podsumowanie

W tym artykule pokazałem Ci, jak skonfigurować Apache2 na systemie Windows, aby obsługiwał PHP, MySQL i umożliwiał hostowanie wielu stron internetowych lokalnie. Pamiętaj, że możesz skonfigurować dowolną liczbę wirtualnych hostów, każdy z własnymi ustawieniami i katalogami. Ta konfiguracja pozwala na wygodne testowanie i rozwijanie stron internetowych.

Jeśli masz jakieś uwagi lub pytania dotyczące artykułu zapraszam do dyskusji w komentarzach lub wiadomość poprzez formularz kontaktowy.

Zapraszam również do zobaczenia pozostałych artykułów z kategorii: Poradniki.

0 Shares:
Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *