HELPER VPS

Встановлення WordPress на VPS: способи для образів WordPress, LEMP і Docker

Якщо встановити WordPress на власний сервер, ви самі вирішуєте все: плагіни, теми й навіть налаштування сервера. Оберіть спосіб встановлення, який найкраще пасує до образу, обраного під час створення сервера, і виконуйте кроки.

Оберіть один із трьох способів

У HELPER VPS підготовка до WordPress помітно скорочується вже тим, що ви обираєте образ під час створення сервера. Оберіть один спосіб під свою ситуацію.

  • Образ WordPress: на Ubuntu 24.04 встановлюються Nginx, MySQL, PHP і WordPress. Досить пройти екран встановлення в браузері, тож це найшвидший спосіб відкрити блог.
  • Образ LEMP: ви самі ставите WordPress на сервер з готовими Nginx, MySQL і PHP. Зручно, якщо потрібно тримати кілька сайтів на одному сервері або самостійно задати структуру папок і налаштування.
  • Образ Docker: WordPress і база даних запускаються в контейнерах. Зручно для перенесення сайту на інший сервер або багаторазового створення однакового середовища.

Невеликий блог може починатися з найменшого загального плану на 12 ГБ, тоді як інтернет-магазини або завантажені сайти швидше відкривають сторінки на високопродуктивному NVMe сервері зі швидким диском. Рекомендації щодо розмірів є на сторінці WordPress VPS.

Спершу підключіть домен

Якщо ви плануєте використовувати домен, підключіть його до встановлення, і сертифікат HTTPS можна буде отримати одразу. Створіть два записи нижче в панелі керування DNS у реєстратора домену.

  • Запис A: ім'я @ (і www), значення IPv4 адреса сервера
  • Запис AAAA: ім'я @ (і www), значення IPv6 адреса сервера

Поширення записів зазвичай триває від кількох хвилин до кількох годин. Якщо на сервері команда ping -c 3 example.com показує IP вашого сервера, усе готово. У командах нижче замініть example.com на свій домен.

Спосіб 1. Швидкий старт з образу WordPress

  • На екрані створення сервера оберіть регіон і розмір, а в списку образів WordPress.
  • Коли сервер перейде в статус «Працює», відкрийте в браузері http://YOUR_SERVER_IP.
  • Оберіть мову, задайте назву сайту, логін адміністратора, пароль і e-mail, і встановлення завершено.
  • Увійдіть до панелі адміністратора за адресою http://YOUR_SERVER_IP/wp-admin.

Задайте довгий і складний пароль адміністратора, а замість логіна admin оберіть ім'я, відоме лише вам, і спроби входу будуть не страшні. Для підключення домену й HTTPS просто виконайте кроки з розділу про HTTPS нижче.

Спосіб 2. Ручне встановлення на сервер LEMP

В образі LEMP уже встановлені Nginx, MySQL і PHP-FPM. Лишається додати потрібні WordPress розширення PHP, базу даних і налаштування сайту. Інструкція для Ubuntu 24.04, в інших версіях Ubuntu і в Debian порядок той самий.

Крок 1. Встановіть розширення PHP

Термінал
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 показує версію PHP, а ls /run/php/ ім'я сокета PHP-FPM. В Ubuntu 24.04 стоїть PHP 8.3, тож ви побачите php8.3-fpm.sock, у Debian 13 PHP 8.4 і php8.4-fpm.sock. Використовуйте це ім'я в налаштуваннях Nginx нижче.

Крок 2. Створіть базу даних і користувача

Якщо ви підключені під root, команда mysql відкриває MySQL без пароля. Чотири рядки нижче створюють окрему базу даних і користувача для WordPress. Замініть пароль на довгий і запишіть його.

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;

Крок 3. Завантажте WordPress

Термінал
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

Якщо зробити власником папки користувача вебсервера (www-data), інсталятор у браузері сам створить файл налаштувань, а плагіни й теми можна буде ставити просто з панелі адміністратора.

Крок 4. Налаштуйте сайт у 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;
    }
}
Термінал
ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx

Якщо nginx -t виводить syntax is ok, test is successful, налаштування правильні. Якщо домену поки немає, вкажіть _ у server_name і видаліть посилання на сайт за замовчуванням (/etc/nginx/sites-enabled/default), і сайт відкриється за IP адресою.

Крок 5. Завершіть встановлення в браузері

Відкрийте http://example.com, і з'явиться екран встановлення. Вкажіть ім'я бази даних wordpress, користувача wpuser, пароль з кроку 2 і хост localhost, задайте назву сайту й обліковий запис адміністратора, і все готово.

Спосіб 3. Встановлення через Docker Compose

На сервері з образу Docker або на сервері, де ви встановили Docker вручну, один файл запускає WordPress разом з MariaDB. Замініть обидва паролі на довгі.

Термінал
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

Відкрийте http://YOUR_SERVER_IP, і з'явиться екран встановлення. Дані бази вже прописано у файлі, тож лишається задати назву сайту й обліковий запис адміністратора. Записи й завантажені файли зберігаються в томі wp, база даних у томі db, і під час оновлення контейнерів до нової версії все зберігається.

Для HTTPS на сайті в Docker найзручніше поставити перед ним зворотний проксі. Ще простіше використати образ Coolify або Dokploy: досить ввести домен в інтерфейсі, і сертифікат підключиться автоматично.

Підключення сертифіката HTTPS

На образі WordPress і сервері LEMP безкоштовний сертифікат Let's Encrypt отримується через Certbot і одразу підключається до Nginx. Домен має вказувати на IP сервера.

Термінал
apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.com -d www.example.com

Введіть e-mail і прийміть умови, і сертифікат буде випущено, а до налаштувань Nginx додасться HTTPS. Certbot продовжує сертифікат автоматично. Потім у панелі WordPress у розділі «Налаштування > Загальні» змініть адресу WordPress і адресу сайту на https. Якщо ви використовуєте файрвол, відкрийте обидва порти командою ufw allow 80,443/tcp.

Що налаштувати після встановлення

  • Постійні посилання: оберіть у розділі «Налаштування > Постійні посилання» варіант з назвою запису, і адреси стануть зрозумілішими. Рядок try_files у налаштуваннях Nginx вище обробляє такі адреси.
  • Розмір завантаження: щоб завантажувати великі зображення чи файли тем, збільште до одного розміру client_max_body_size у Nginx та upload_max_filesize, post_max_size у /etc/php/8.3/fpm/php.ini, потім виконайте systemctl restart php8.3-fpm.
  • Надсилання пошти: листи про реєстрацію, відновлення пароля й замовлення надсилайте через SMTP плагін, підключений до порту 587 чи 465 сервісу надсилання пошти. Докладніше в посібнику з надсилання пошти.
  • Оновлення: регулярно оновлюйте ядро WordPress, плагіни й теми з панелі адміністратора, а сервер командою apt update && apt upgrade -y.
  • Резервні копії: записи й база даних це цінності, які не відновити заново. Увімкніть автоматичне резервне копіювання під час створення сервера або зберігайте копії способами з посібника з резервних копій і знімків.

Щоб встановити все заново, знову оберіть образ WordPress у розділі перевстановлення на сторінці сервера, і сервер повернеться в чистий стан. Диск буде встановлено заново, тож спершу завантажте потрібні записи через «Інструменти > Експорт», а порядок дій дивіться в посібнику з перевстановлення.

Корисні посібники на тему

Налаштування, які варто зробити слідом за цим посібником.

Усі посібники