HELPER VPS

Instalacja WordPressa na VPS: sposoby dla obrazów WordPress, LEMP i Docker

Instalując WordPressa na własnym serwerze, sam decydujesz o wszystkim: wtyczkach, motywach, a nawet ustawieniach serwera. Wybierz sposób instalacji najlepiej pasujący do obrazu wybranego przy tworzeniu serwera i wykonuj kolejne kroki.

Wybierz jeden z trzech sposobów

W HELPER VPS przygotowania do WordPressa skracają się wyraźnie już przez sam wybór obrazu przy tworzeniu serwera. Wybierz jeden sposób pasujący do Twojej sytuacji.

  • Obraz WordPress: na Ubuntu 24.04 instalowane są Nginx, MySQL, PHP i WordPress. Wystarczy przejść ekran instalacji w przeglądarce, więc to najszybszy sposób na uruchomienie bloga.
  • Obraz LEMP: sam instalujesz WordPressa na serwerze z gotowymi Nginx, MySQL i PHP. Wygodne, gdy chcesz trzymać kilka stron na jednym serwerze lub samodzielnie ustalić strukturę folderów i ustawienia.
  • Obraz Docker: WordPress i baza danych działają w kontenerach. Wygodne przy przenoszeniu strony na inny serwer lub wielokrotnym tworzeniu tego samego środowiska.

Mały blog może zacząć od najmniejszego planu ogólnego z 12 GB pamięci, podczas gdy sklepy internetowe lub ruchliwe strony szybciej otwierają strony na wysokowydajnym serwerze NVMe z szybkim dyskiem. Zalecenia dotyczące rozmiaru znajdziesz na stronie WordPress VPS.

Najpierw podłącz domenę

Jeśli planujesz używać domeny, podłącz ją przed instalacją, a certyfikat HTTPS uzyskasz od razu. Utwórz dwa poniższe rekordy w panelu DNS u rejestratora domeny.

  • Rekord A: nazwa @ (oraz www), wartość adres IPv4 serwera
  • Rekord AAAA: nazwa @ (oraz www), wartość adres IPv6 serwera

Propagacja rekordów trwa zwykle od kilku minut do kilku godzin. Jeśli na serwerze polecenie ping -c 3 example.com pokazuje IP Twojego serwera, wszystko gotowe. W poleceniach poniżej zastąp example.com swoją domeną.

Sposób 1. Szybki start z obrazu WordPress

  • Na ekranie tworzenia serwera wybierz region i rozmiar, a z listy obrazów WordPress.
  • Gdy serwer przejdzie w status „Działa”, otwórz w przeglądarce http://YOUR_SERVER_IP.
  • Wybierz język, ustaw tytuł strony, login administratora, hasło i e-mail, a instalacja jest zakończona.
  • Zaloguj się do panelu administratora pod adresem http://YOUR_SERVER_IP/wp-admin.

Ustaw długie i złożone hasło administratora, a zamiast loginu admin wybierz nazwę znaną tylko Tobie, a próby logowania nie będą groźne. Aby podłączyć domenę i HTTPS, po prostu wykonaj kroki z sekcji o HTTPS poniżej.

Sposób 2. Ręczna instalacja na serwerze LEMP

W obrazie LEMP są już zainstalowane Nginx, MySQL i PHP-FPM. Wystarczy dodać rozszerzenia PHP potrzebne WordPressowi, bazę danych i ustawienia strony. Instrukcja dla Ubuntu 24.04, w innych wersjach Ubuntu i w Debianie kolejność jest taka sama.

Krok 1. Zainstaluj rozszerzenia PHP

Terminal
apt update
apt install -y php-mysql php-curl php-gd php-mbstring php-xml php-zip php-intl php-imagick
php -v
ls /run/php/

php -v pokazuje wersję PHP, a ls /run/php/ nazwę gniazda PHP-FPM. W Ubuntu 24.04 jest PHP 8.3, więc zobaczysz php8.3-fpm.sock, w Debianie 13 PHP 8.4 i php8.4-fpm.sock. Użyj tej nazwy w ustawieniach Nginx poniżej.

Krok 2. Utwórz bazę danych i użytkownika

Jeśli jesteś połączony jako root, polecenie mysql otwiera MySQL bez hasła. Cztery linie poniżej tworzą osobną bazę danych i użytkownika dla WordPressa. Zmień hasło na długie i je zanotuj.

mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'change_this_long_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Krok 3. Pobierz WordPressa

Terminal
cd /var/www
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz && rm latest.tar.gz
chown -R www-data:www-data /var/www/wordpress

Jeśli ustawisz właściciela folderu na użytkownika serwera WWW (www-data), instalator w przeglądarce sam utworzy plik konfiguracyjny, a wtyczki i motywy zainstalujesz prosto z panelu administratora.

Krok 4. Skonfiguruj stronę w Nginx

/etc/nginx/sites-available/wordpress
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/wordpress;
    index index.php;
    client_max_body_size 64m;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
    location ~ /\.ht {
        deny all;
    }
}
Terminal
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Jeśli nginx -t wyświetla syntax is ok, test is successful, konfiguracja jest poprawna. Jeśli nie masz jeszcze domeny, wpisz _ w server_name i usuń link do domyślnej strony (/etc/nginx/sites-enabled/default), a strona otworzy się pod adresem IP.

Krok 5. Dokończ instalację w przeglądarce

Otwórz http://example.com, a pojawi się ekran instalacji. Podaj nazwę bazy danych wordpress, użytkownika wpuser, hasło z kroku 2 i host localhost, ustaw tytuł strony i konto administratora, i gotowe.

Sposób 3. Instalacja przez Docker Compose

Na serwerze z obrazu Docker lub na serwerze, na którym zainstalowałeś Dockera ręcznie, jeden plik uruchamia WordPressa razem z MariaDB. Zmień oba hasła na długie.

Terminal
mkdir -p /opt/wordpress && cd /opt/wordpress
cat > compose.yaml <<'EOF'
services:
  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: wordpress
      MARIADB_USER: wpuser
      MARIADB_PASSWORD: change_this_long_password
      MARIADB_ROOT_PASSWORD: change_this_other_password
    volumes:
      - db:/var/lib/mysql
  wordpress:
    image: wordpress:latest
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: change_this_long_password
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp:/var/www/html
volumes:
  db:
  wp:
EOF
docker compose up -d

Otwórz http://YOUR_SERVER_IP, a pojawi się ekran instalacji. Dane bazy są już wpisane w pliku, więc zostaje ustawić tytuł strony i konto administratora. Wpisy i przesłane pliki są przechowywane w wolumenie wp, baza danych w wolumenie db, a przy aktualizacji kontenerów do nowej wersji wszystko zostaje.

Dla HTTPS na stronie w Dockerze najwygodniej postawić przed nią reverse proxy. Jeszcze prościej użyć obrazu Coolify lub Dokploy: wystarczy wpisać domenę w interfejsie, a certyfikat podłączy się automatycznie.

Podłączenie certyfikatu HTTPS

Na obrazie WordPress i serwerze LEMP darmowy certyfikat Let's Encrypt uzyskasz przez Certbot i od razu podłączysz do Nginx. Domena musi wskazywać na IP serwera.

Terminal
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Podaj e-mail i zaakceptuj warunki, a certyfikat zostanie wystawiony, a do konfiguracji Nginx dojdzie HTTPS. Certbot odnawia certyfikat automatycznie. Następnie w panelu WordPressa w „Ustawienia > Ogólne” zmień adres WordPressa i adres witryny na https. Jeśli używasz zapory, otwórz oba porty poleceniem ufw allow 80,443/tcp.

Co ustawić po instalacji

  • Bezpośrednie odnośniki: wybierz w „Ustawienia > Bezpośrednie odnośniki” wariant z nazwą wpisu, a adresy staną się czytelniejsze. Linia try_files w konfiguracji Nginx powyżej obsługuje takie adresy.
  • Rozmiar przesyłanych plików: aby przesyłać duże obrazy lub pliki motywów, zwiększ do tej samej wartości client_max_body_size w Nginx oraz upload_max_filesize i post_max_size w /etc/php/8.3/fpm/php.ini, a następnie wykonaj systemctl restart php8.3-fpm.
  • Wysyłka poczty: wiadomości o rejestracji, resetowaniu hasła i zamówieniach wysyłaj przez wtyczkę SMTP podłączoną do portu 587 lub 465 usługi wysyłki poczty. Więcej w poradniku wysyłki poczty.
  • Aktualizacje: regularnie aktualizuj rdzeń WordPressa, wtyczki i motywy z panelu administratora, a serwer poleceniem apt update && apt upgrade -y.
  • Kopie zapasowe: wpisy i baza danych to zasoby, których nie odtworzysz. Włącz automatyczne kopie zapasowe przy tworzeniu serwera lub zachowuj kopie sposobami z poradnika kopii zapasowych i migawek.

Aby zainstalować wszystko od nowa, wybierz ponownie obraz WordPress w sekcji reinstalacji na stronie serwera, a serwer wróci do czystego stanu. Dysk zostanie zainstalowany od nowa, więc najpierw pobierz potrzebne wpisy przez „Narzędzia > Eksport”, a kolejność kroków sprawdź w poradniku reinstalacji.

Przydatne poradniki na ten temat

Ustawienia, które warto zrobić po tym poradniku.

Wszystkie poradniki