Как установить WordPress на облачный сервер VDS/VPS с Ubuntu 26.04: nginx, PHP 8.5 и MariaDB, база данных, настройки веб-сервера, бесплатный сертификат HTTPS, обновления и резервные копии.
Содержание
Для сайта на WordPress, которому не нужны собственные настройки сервера, обычно достаточно виртуального хостинга: там веб-сервер, PHP и базы данных уже настроены, а следить за обновлениями системы не требуется. Чем хостинг отличается от облачного сервера и когда стоит выбрать сервер, рассказано в статье Хостинг или облачный сервер.
Ниже описана установка на Ubuntu 26.04. В Ubuntu 24.04 команды те же, но устанавливается PHP 8.3, поэтому в путях к файлам PHP и в имени его службы вместо 8.5 укажите 8.3. Вход на наши серверы выполняется под учётной записью root (подробнее — в статье Как подключиться к серверу по SSH), поэтому sudo в командах не указан.
Вместо example.ru подставьте свой домен. Он должен указывать на IP-адрес сервера (A-запись), иначе на шаге с сертификатом certbot не сможет подтвердить домен.
Установка nginx, PHP и MariaDB
apt update
apt install nginx mariadb-server php-fpm php-mysql php-curl php-xml php-mbstring php-intl php-zip php-imagickВ Ubuntu 26.04 будут установлены PHP 8.5 и MariaDB 11.8. Это соответствует требованиям WordPress (PHP 8.3 или новее, MariaDB 10.11 или новее); PHP 8.5 поддерживается начиная с WordPress 6.9. Перечисленные модули PHP WordPress использует для работы с базой данных, изображениями, архивами и внешними запросами.
База данных и пользователь
Войдите в MariaDB командой mariadb: под root пароль не нужен. Создайте базу и пользователя для сайта, придумав надёжный пароль:
CREATE DATABASE wordpress CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'надёжный-пароль';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';
EXIT;Имя базы, имя пользователя и пароль понадобятся при установке WordPress. Другие операции с базами описаны в статье о MySQL и MariaDB.
Загрузка WordPress
cd /tmp
curl -O https://ru.wordpress.org/latest-ru_RU.tar.gz
tar -xzf latest-ru_RU.tar.gz
mv wordpress /var/www/example.ru
chown -R www-data:www-data /var/www/example.ruАрхив с сайта ru.wordpress.org содержит русскую версию WordPress. Владельцем файлов назначен пользователь www-data, от имени которого работает PHP. Благодаря этому WordPress сможет сам создать файл настроек wp-config.php при установке, а затем обновляться и устанавливать плагины и темы без доступа по FTP.
Настройка nginx
Создайте файл /etc/nginx/sites-available/example.ru:
server {
listen 80;
server_name example.ru www.example.ru;
root /var/www/example.ru;
index index.php;
client_max_body_size 64m;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* /(?:uploads|files)/.*\.php$ {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.5-fpm.sock;
}
location ~* \.(css|js|gif|ico|jpeg|jpg|png|svg|webp|woff2)$ {
expires max;
log_not_found off;
}
}try_files: запросы к несуществующим файлам передаются WordPress, благодаря чему работают постоянные ссылки вида/about/.- Правило с
deny allзапрещает выполнять PHP-файлы в папке загрузок. Если злоумышленнику удастся загрузить туда сценарий, запустить его он не сможет. client_max_body_size: наибольший размер запроса, а значит, и загружаемого файла. Такое же ограничение нужно задать в настройках PHP.
Включите сайт и проверьте настройки:
ln -s /etc/nginx/sites-available/example.ru /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginxРазмер загружаемых файлов
По умолчанию PHP принимает файлы размером не более 2 МБ, поэтому крупные изображения и архивы в раздел «Медиафайлы» не загрузятся. Измените в файле /etc/php/8.5/fpm/php.ini две строки:
upload_max_filesize = 64M
post_max_size = 64Mи перезапустите PHP командой systemctl restart php8.5-fpm.
Сертификат HTTPS
Выпустите сертификат Let's Encrypt до установки WordPress: тогда сайт сразу будет работать по HTTPS, и пароль администратора не будет передаваться в открытом виде.
apt install certbot python3-certbot-nginx
certbot --nginx -d example.ru -d www.example.rucertbot добавит в настройки nginx раздел для HTTPS и будет продлевать сертификат автоматически; подробнее — в статье о сертификатах certbot. Межсетевой экран ufw в образе Ubuntu выключен. Если вы его включили, до запуска certbot разрешите порты 80 и 443, как описано в статье Как открыть порт на сервере.
Установка WordPress в браузере
Откройте в браузере https://example.ru. Мастер установки попросит данные для подключения к базе: имя базы данных, имя пользователя и пароль, созданные ранее. В поле «Сервер базы данных» оставьте localhost, префикс таблиц можно не менять. Затем укажите название сайта, имя и пароль администратора и адрес электронной почты.
После установки закройте файл настроек от других пользователей сервера:
chmod 640 /var/www/example.ru/wp-config.phpЧто делать дальше
- Обновления WordPress. Новые установки WordPress по умолчанию обновляются автоматически, включая основные выпуски. Плагины и темы обновляйте в разделе «Обновления» консоли WordPress или включите для них автообновление на странице «Плагины».
- Обновления системы. PHP, nginx и MariaDB обновляются вместе с системой командами
apt updateиapt upgrade. Перед крупными обновлениями делайте снимок сервера. - Защита сервера. Настройте вход по SSH-ключу и защиту от подбора паролей, как описано в статье Как защитить сервер.
- Память. Если у сервера 1 ГБ памяти, добавьте файл подкачки: он снизит риск аварийного завершения MariaDB и PHP при нехватке памяти.
- Резервные копии. Снимок хранится 7 дней и удаляется при переустановке системы, поэтому резервную копию он не заменяет. Регулярно сохраняйте базу и файлы сайта и переносите копии за пределы сервера, например на свой компьютер. Копии создают следующие команды:
mariadb-dump wordpress > /root/wordpress.sql
tar -czf /root/wordpress-files.tar.gz -C /var/www example.ruНе нашли ответ? Напишите в поддержку — подскажем.


