W tym tutorialu pokażę jak stworzyć własny hosting WordPress. Ostatnio wykonałem kilka recenzji hostingów WordPress i w każdym z nich znalazłem pewne mankamenty. W jednym nie było dedykowanego adresu IP, w kolejnych występowały stosunkowo długie i częste przerwy techniczne. Najczęstsze są jednak problemy z wydajnością. Długie czasy odpowiedzi pogarszają SEO i wyniki w PageSpeed Insights. Niska wydajność PHP zniechęca do prac administracyjnych i rozwijania strony bo… wolno działa panel administracyjny. Tam nie może działać tania sztuczka Cache, która może coś dać na prostym blogu lub na stronie, na której zazwyczaj nic się nie dzieje.
Sklepy internetowe ledwo działają na co drugiej usłudze zarządzanego hostingu WordPress chyba, że wykupimy pakiet hostingowy za tysiące złotych. Wielu polskich dostawców dla oszczędności zasobów oferuje hostingi nieprzystosowane do WordPressa, w których stosuje się niszowe serwery WWW, które nie są kompatybilne z WordPressem i nie są brane pod uwagę w testach. Rozszerzenia typu Brotli, dostęp do najnowszej wersji PHP to rzadkość. Krajowe firmy hostingowe nie nadążają za szybkimi zmianami technologicznymi, a dostosowanie się do nich wiąże się zazwyczaj z samymi korzyściami.
Przewodnik, który właśnie czytasz to instrukcja stworzenia własnego hostingu WWW na serwerze VPS lub dedykowanym. Dzięki administracji własnym serwerem:
- uzyskujemy pełną niezależność w zarządzaniu serwerem,
- decydujemy o tym jakie technologie mają być włączone,
- ustalamy kiedy i jak wykonywana jest kopia zapasowa,
- to od nas zależy kiedy występują ewentualne przerwy techniczne.
Uruchomienie własnego serwera WWW nie wymaga specjalistycznych umiejętności. Dużym plusem będzie znajomość podstawowych komend systemu Linux aby sprawniej wykonywać zmiany konfiguracji w przyszłości. Systemem operacyjnym będzie Ubuntu 20.04 Focal Fossa.
Jak można przeczytać w artykule Hosting WordPress – czym się różni od zwykłego hostingu, poza instalacją serwera WWW musimy zadbać o instalację wybranych rozszerzeń PHP. W ramach dodatku wykonamy też inne zalecane działania włączymy obsługę HTTP/2, kompresji Brotli i włączymy moduł PageSpeed dla bezkompromisowej wydajności.
Minimalne parametry serwera
Minimalne wymagania WordPressa są znacznie niższe od najmniejszych opcji serwerów VPS jakie możemy w tym momencie nabyć. Zalecam jednak aby wyposażyć się w minimum 2GB RAM i zadbać o to aby posiadać potrzebne miejsce na dysku. Z serwerami jest jak z komputerem osobistym – więcej rdzeni i więcej RAMu zawsze gwarantuje, że konkretne operacje będą wykonywane szybciej. Nie ma żadnej technologii lub sztuczki optymalizacyjnej, która spowodowałaby, że słabszy procesor dorówna mocy procesorowi o większej ilości rdzeni lub wyższym taktowaniu zegara. W przypadku WordPressa oraz innych stron opartych o dowolny system CMS, moc procesora jest bardzo odczuwalna podczas pracy w panelu oraz wszędzie tam, gdzie nie może zadziałać prosta pamięć podręczna np. w sklepach internetowych z koszykiem. Konwersja i skalowanie grafik, publikacja nowego postu, logowanie się, składanie zamówienia to operacje, które zajmują odwrotnie proporcjonalny czas do mocy naszego serwera.
Wykupując serwer VPS zadbajmy o to aby miał on preinstalowany system Ubuntu 20.04. Oczywiście ja skorzystam z usług Google Cloud ale możesz wykupić serwer u dowolnego dostawcy. Pamiętaj przy tym, że możesz użyć tak naprawdę dowolnej aktualnej dystrybucji i nawet nie musisz korzystać z usług hostingowych – na upartego instalację możesz uruchomić na dowolnym komputerze z systemem Linux lub na takich urządzeniach jak Raspberry Pi.
W ramach tego tutorialu skonfigurujemy standardowy i jednocześnie nowoczesny stos LAMP. Stos LAMP to skrót powstały od pierwszych liter oprogramowania stosowanego w tym rozwiązaniu czyli: Linux, Apache, MySQL i PHP. Jest to rozwiązanie polecane w samej dokumentacji systemu WordPress i najpopularniejszy stack służący do hostingu zwyczajnych stron internetowych.
Krok 1: Instalacja serwera Apache
Serwer Apache odpowiada za przetwarzanie żądań HTTP. Po jego zainstalowaniu na dowolnym komputerze dysponujemy serwerem HTTP, który mógłby już przechowywać statyczne strony internetowe. Apache ma dobrą dokumentację i bardzo rozwiniętą społeczność. Pracę rozpoczniemy od zaktualizowania menedżera paczek:
sudo apt update
Instalację serwera Apache rozpocznie taka komenda:
sudo apt install apache2
Komendy tego typu trzeba potwierdzić klawiszem Y – yes lub T – tak. Po instalacji serwera Apache nasz hosting już musi działać. Wchodzimy na adres IP serwera czyli przykładowo http://123.123.123.123/

W Google Cloud przy zakładaniu serwera zaznaczyłem aby ruch HTTP i HTTPS był odblokowany. Jeżeli strona nie działa to prawdopodobnie firewall domyślnie blokuje port 80 i 443. Aby go odblokować skorzystaj z komendy sudo ufw app list i wybierz Apache Full.
Krok 2: Instalacja MySQL
Instalacja serwera MySQL pozwoli tworzyć i zarządzać bazą danych MySQL, w której WordPress zapisuje treści postów i ustawienia zapisane w panelu konfiguracyjnym. Tutaj też wszystko ogranicza się do jednej komendy.
sudo apt install mysql-server
Następnie wykonujemy skrypt bezpiecznej instalacji:
sudo mysql_secure_installation
Odpowiadamy na wszystkie pytania według własnych potrzeb, ustawiamy siłę hasła, samo hasło i możemy przystąpić do przetestowania czy serwer MySQL działa:
sudo mysql

Jeżeli widzimy powitanie możemy zamknąć mysql poleceniem exit;
Krok 3: Instalacja PHP
Aby zainstalować najnowszą wersję PHP w Ubuntu 20.04 musimy dodać repozytorium głównego dewelopera PHP, który utrzymuje paczki dla Ubuntu i Debiana:
sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php
Następnie możemy przystąpić do instalacji PHP 8.1 i modułu dla Apache:
sudo apt update sudo apt upgrade sudo apt install php8.1 libapache2-mod-php8.1
Możemy teraz zrestartować serwer Apache:
sudo /etc/init.d/apache2 restart
Sprawdzamy czy PHP działa. W tym celu przechodzę do domyślnego folderu gdzie jest zainstalowana strona:
cd /var/www/html
Tworzę plik test.php:
sudo nano test.php
Tworze prosty skrypt PHP typu Hello World i jeżeli skrypt test.php zwrócił oczekiwaną zawartość to wszystko jest w porządku.
W tym momencie mamy podstawowe środowisko LAMP, na którym da się zainstalować dowolną aplikację PHP. Można już w tym momencie zainstalować testowego WordPressa aby wykluczyć wystąpienie jakichkolwiek błędów.
Krok 4: Instalacja wybranych rozszerzeń PHP
Rozszerzenia PHP to opcjonalne dodatki do środowiska PHP, które usprawniają działanie aplikacji lub wzbogacają PHP o nowe funkcje:
sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-redis php8.1-intl
Po tym kroku restartujemy serwer Apache.
Krok 5: Tworzenie bazy danych WordPress
Aby móc zainstalować WordPressa, potrzebujemy bazy danych. W tym celu możemy uruchomić MySQL z wiersza poleceń i wykonać taką instrukcję:
CREATE DATABASE wordpress;
Następnie potrzebujemy użytkownika i nadajemy mu potrzebne uprawnienia. Zarówno użytkownik jak i baza danych nosi nazwę 'wordpress’. Warto dopasować nazwy do własnych preferencji i ustawić mocniejsze hasło:
CREATE USER 'wordpress'@'%' IDENTIFIED WITH mysql_native_password BY 'haslo123!'; GRANT ALL ON wordpress.* TO 'wordpress'@'%';
Krok 6: Instalacja WordPress
Przechodzę do katalogu var/www/html i pobieram najnowszą wersję WordPress. Wypakowuję pliki a zawartość przenoszę o jeden poziom wyżej aby nie instalować WordPressa w folderze wordpress:
sudo wget https://wordpress.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz
sudo mv wordpress/* .
Jeżeli korzystamy z domyślnego katalogu Apache /www/html/ należy usunąć plik index.html:
sudo rm index.html
Ostatnim krokiem będzie udzielenie uprawnień do folderu:
sudo chmod -R 777 *
Oraz dodanie do wp-config.php instrukcji, aby działało pobieranie wtyczek bezpośrednio z panelu administracyjnego:
define( 'FS_METHOD', 'direct' );
Uruchamiam standardową instalację WordPress za pomocą przeglądarki. Adres serwera to localhost a nazwa bazy, użytkownika i hasło znamy z kroku piątego. Przechodzimy do WordPress „stan witryny” i instalujemy ewentualne brakujące rozszerzenia.
Podsumowane
Jak widać, stworzenie własnego hostingu WordPress na serwerze z systemem Linux to proste zadanie nie wymagające dużych nakładów pracy. W cenie najtańszych VPSów możemy stworzyć hosting idealnie skrojony pod nasze potrzeby. Umiejętność administracji serwerami i tworzenia hostingu jest bardzo przydatna w czasach taniejących chmur i niestety zazwyczaj malejącej jakości standardowych usług hostingu zarządzanego.
Źródła
- https://wordpress.org/about/requirements/
- https://wordpress.org/support/article/how-to-install-wordpress/
Odpowiedz lub skomentuj