Установка WordPress на VPS: пошаговая инструкция (Ubuntu 24.04)
WordPress на собственном VPS — это полный контроль и выделенные ресурсы. Эта инструкция проведёт вас от чистого сервера Ubuntu 24.04 до защищённого HTTPS-сайта на Nginx, PHP 8.3 и MariaDB примерно за полчаса.

Чтобы установить WordPress на VPS, нужно поставить веб-сервер (Nginx), PHP и базу данных (MariaDB), создать базу и пользователя для WordPress, загрузить WordPress в папку сайта, направить домен на сервер и выпустить бесплатный SSL-сертификат. На чистом сервере с Ubuntu 24.04 всё занимает около 30 минут, а в итоге вы получаете сайт, которому ресурсы сервера принадлежат целиком.
В инструкции приведена каждая команда. Понадобятся VPS с доступом root или sudo, зарегистрированный домен и базовые навыки работы в терминале. Везде заменяйте example.com на свой домен.
Зачем держать WordPress на VPS?
Виртуальный хостинг проще, но VPS даёт то, чего нет на общих тарифах:
- Выделенные ресурсы. CPU и RAM закреплены за вашим сервером, и нагруженный сосед не тормозит ваш сайт.
- Полный контроль. Выбор версии PHP, настройка кэша, установка Redis и любых нужных инструментов.
- Запас для роста. Несколько сайтов, тестовые копии и другие приложения на одном сервере.
Обратная сторона — ответственность: обновления, безопасность и резервные копии на вас. Если не хочется этим заниматься, проще взять управляемый хостинг на Plesk; варианты мы сравнили в статье VPS или виртуальный хостинг.
Что нужно перед началом
| Что | Рекомендация |
|---|---|
| Операционная система | Ubuntu 24.04 LTS (PHP 8.3 и MariaDB в стандартных репозиториях) |
| Ресурсы | Для небольшого сайта хватит 1 vCPU и 2 ГБ RAM; для WooCommerce или высокой нагрузки — больше |
| Домен | A-запись для основного домена и www с IP-адресом VPS |
| Доступ | SSH под root или пользователем с sudo, лучше по ключу |
Сначала настройте DNS, чтобы записи успели обновиться, пока вы ставите софт. Какие записи нужны, описано в инструкции как привязать домен к VPS.
Шаг 1: установка Nginx, PHP и MariaDB
Подключитесь по SSH, обновите систему и установите стек LEMP вместе с расширениями PHP, которые WordPress использует для изображений, многоязычного текста, XML и обновлений:
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx mariadb-server php-fpm php-mysql php-curl php-gd \
php-intl php-mbstring php-xml php-zip php-imagickUbuntu 24.04 ставит PHP 8.3 с PHP-FPM, с которым Nginx общается через Unix-сокет. Nginx и MariaDB запускаются автоматически и включены в автозагрузку.
Шаг 2: создание базы данных и пользователя
Запустите скрипт безопасности MariaDB (задайте пароль root или оставьте вход через сокет, удалите анонимных пользователей и тестовую базу), затем откройте консоль MariaDB и создайте отдельную базу и пользователя:
sudo mariadb-secure-installation
sudo mariadb
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;Используйте длинный случайный пароль и храните его в менеджере паролей. Отдельный пользователь с доступом только к одной базе не даст взломанному сайту прочитать остальные базы.
Шаг 3: загрузка WordPress
Скачивайте WordPress только с официального сайта, перенесите его в корень сайта и передайте права пользователю веб-сервера:
cd /tmp
curl -O https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz
sudo mv wordpress /var/www/example.com
sudo chown -R www-data:www-data /var/www/example.comШаг 4: настройка Nginx для WordPress
Создайте файл /etc/nginx/sites-available/example.com со следующим блоком server. Строка try_files включает ЧПУ (постоянные ссылки), а последний блок закрывает доступ к файлам вроде .htaccess или папке .git:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
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|git) {
deny all;
}
}Включите сайт, удалите страницу по умолчанию, проверьте конфигурацию и откройте в файрволе SSH, HTTP и HTTPS:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t && sudo systemctl reload nginx
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enableufw enable, иначе можно потерять доступ к серверу.Шаг 5: бесплатный SSL-сертификат
Когда домен уже указывает на VPS, Certbot получит сертификат Let's Encrypt и поправит конфигурацию Nginx так, чтобы HTTP автоматически перенаправлялся на HTTPS. Сертификаты продлеваются сами; тестовый прогон это подтверждает:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com
sudo certbot renew --dry-runЕсли Certbot выдаёт ошибку, обычно A-запись ещё не указывает на сервер. Проверьте командой dig +short example.com и дождитесь истечения старого TTL.
Шаг 6: установщик WordPress
- Откройте
https://example.comв браузере и выберите язык. - Укажите базу
wordpress, пользователяwpuser, ваш пароль и серверlocalhost. WordPress сам создастwp-config.php. - Задайте название сайта и логин администратора, отличный от
admin, с надёжным паролем. - Войдите в
/wp-admin, откройте Настройки, Постоянные ссылки и выберите Название записи.
Шаг 7: лимиты PHP и производительность
Стандартный размер загрузки мал для тем и медиафайлов. Увеличьте лимиты в конфигурации PHP-FPM и перезапустите службу:
# /etc/php/8.3/fpm/php.ini
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 120
sudo systemctl restart php8.3-fpmДля скорости OPcache в Ubuntu включён по умолчанию. Добавьте плагин страничного кэша, сжимайте и уменьшайте изображения перед загрузкой, а при росте трафика подключите Redis с плагином объектного кэша.
Защита и обслуживание VPS с WordPress
- Обновляйте всё: пакеты Ubuntu, ядро WordPress, темы и плагины. Включите автоматические обновления безопасности.
- Укрепите SSH: вход по ключу, отключите вход по паролю и под root. Полный список — в нашем чек-листе безопасности VPS.
- Делайте резервные копии файлов и базы по расписанию и храните их вне сервера.
- Ставьте меньше плагинов: каждый — это код, которому нужно доверять и который нужно обновлять.
- Ограничьте попытки входа плагином или Fail2Ban, чтобы замедлить перебор паролей.
Частые проблемы и решения
| Проблема | Вероятная причина | Решение |
|---|---|---|
| 502 Bad Gateway | Неверный путь к сокету PHP-FPM или служба остановлена | Проверьте имя сокета в /run/php/ и перезапустите php8.3-fpm |
| Ошибка установки соединения с базой данных | Неверные данные в wp-config.php | Ещё раз проверьте имя базы, пользователя и пароль |
| Постоянные ссылки дают 404 | Нет строки try_files | Добавьте её в блок location / и перезагрузите Nginx |
| Обновления просят данные FTP | Файлы не принадлежат www-data | Повторите chown для папки сайта |
| Не загружаются большие файлы | Лимит PHP или Nginx | Увеличьте upload_max_filesize и client_max_body_size |
WordPress на VPS от mistREG
VPS-тарифы mistREG работают на NVMe SSD и железе AMD EPYC и разворачиваются автоматически примерно через 60 секунд после оплаты; Ubuntu 24.04 есть среди доступных образов. Оплатить можно криптовалютой или картой, а домен зарегистрировать в том же аккаунте с бесплатным скрытием WHOIS и DNS. Тарифа VPS Start (1 vCPU, 2 ГБ RAM, 15 ГБ SSD) достаточно для типичного небольшого сайта на WordPress.
Не хотите администрировать сервер? Хостинг Plesk с LiteSpeed запускает WordPress без командной строки. В остальных случаях создайте аккаунт, сравните тарифы VPS и загляните в FAQ или напишите в Telegram @mistnetwork.


