WordPress – це справжня “робоча конячка”, яку можна використовувати для різних задач, наприклад тестування веб-додатків, а тому її корисно мати під рукою. Нижче подається готовий скрипт як швидко, майже за 5 хвилин, встановити CMS WordPress на чистий VPS на базі OS Ubuntu 24.04 з конфігурацією веб-сервера Nginx + PHP-FPM.
Архітектура Nginx + PHP-FPM – добра тим, що економить ресурси (RAM і CPU). Nginx – обробляє статику краще ніж Apache, а PHP-FPM – динамічні запити, зберігаючи оперативну пам’ять.
В якості хмарної платформи можна обрати будь-якого провайдера, наприклад Akamai Linode (простий, дешевий, стабільний).
Реєструємося, входимо в обліковий запис, створюємо новий інстанс з мінімальними характеристиками (Shared CPU, 1Gb) на базі OS Ubuntu 24.04. Обираємо будь-яку європейську локацію, додаємо SSH-ключі доступу і запускаємо створення VPS.
Коли VPS готовий – копіюємо його IP-адресу і направляємо на неї свій домен. Це треба зробити в панелі керування DNS (у реєстратора або в Сloudflare), додавши A-записи для @ та www. Проксування через Cloudflare можна не включати – ми використовуватимемо Certbot.
Файєрволи поки що не вмикаємо, доступ до портів 80 і 443 має бути відкритим.
Логінимося через SSH і виконуємо наступні команди:
sudo apt update && sudo apt upgrade -y– оновлюємо систему;sudo apt install nginx -y– встановлюємо веб-сервер NGINX;sudo apt install mariadb-server -y– встановлюємо сервер бази даних MariaDB;sudo apt install php php-fpm php-mysql php-xml php-mbstring php-curl php-gd unzip -y– встановлюємо необхідні PHP компоненти і модулі;sudo systemctl disable --now apache2– вимикаємо Apache2;sudo systemctl enable --now php8.3-fpm– вмикаємо PHP-FPM;sudo systemctl reload nginx– перезавантажуємо Nginx;systemctl status php8.3-fpm– перевіряємо роботу PHP-FPM;sudo mysql_secure_installation– інсталюємо базу даних MySQL;sudo mkdir -p /var/www/mysite && cd /var/www– створюємо директорію для WordPress і переходимо в неї;sudo wget https://wordpress.org/latest.zip– завантажуємо архів з WordPress;sudo apt install -y unzip– встановлюємо розархіватор;sudo unzip latest.zip– розархівовуємо WordPress;sudo rsync -a wordpress/ mysite/– синхронізація директорії WordPress;sudo chown -R www-data:www-data /var/www/mysite– виставляємо власника на всі файли та папки;sudo find /var/www/mysite -type d -exec chmod 755 {} \;– виставляємо права доступу для файлів;sudo find /var/www/mysite -type f -exec chmod 644 {} \;– виставляємо права доступу для папок;sudo mysqlCREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'ДУЖЕ_СИЛЬНИЙ_ПАРОЛЬ';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;– створюємо базу даних і користувача до неї;nano /etc/nginx/sites-available/mysite.conf– створюємо файл конфігурації Nginx, щоб з’єднати сайт з доменом;
server {
listen 80;
server_name example.com www.example.com;
root /var/www/mysite;
index index.php index.html;
# WordPress front-controller
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP через PHP-FPM 8.3
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock; # перевір, що існує саме цей сокет
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Захист прихованих файлів
location ~* /\. { deny all; }
# Збільшення ліміту завантажень (медіа у WP)
client_max_body_size 64m;
}
sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/– закріплюємо файл конфігурації;sudo nginx -t– тестуємо конфігурацію Nginx;sudo systemctl reload nginx– перезавантажуємо Nginx;
Відкриваємо в браузері сайт https://example.com і завершуємо інсталяцію WordPress, вказавши дані для доступу до бази даних:
- База:
wordpress - Користувач:
wpuser - Пароль: (свій)
- Хост:
localhost - Префікс:
wp_(або інший)
Налагоджуємо HTTPS:
sudo apt install -y certbot python3-certbot-nginx– встановлюємо Certbot для отримання SSL-сертифікату LetsEncrypt;sudo certbot --nginx -d example.com -d www.example.com --redirect– отримуємо сертифікат для роботи WordPress на HTTPS.
Автор: © Konrad Ravenstone, KR. Laboratories Research

