WordPress на serverplus за 10 минут
Поднять сайт на WordPress на VPS serverplus можно буквально за 10 минут. Ниже — два пути: через Docker Compose (самый быстрый и чистый) и классический LEMP (nginx + PHP + MariaDB), если хотите всё «руками». Плюс домен, бесплатный SSL и базовая защита.
Что понадобится
- VPS serverplus: для старта хватает 1–2 vCPU, 2 ГБ RAM, 20+ ГБ диска. Тип диска —
ssd-universal(хороший баланс под сайт и БД). - ОС: Ubuntu 24.04 LTS (или 22.04 LTS) — рекомендуемый вариант.
- Домен (желательно) — чтобы включить HTTPS. Понадобится доступ к DNS домена.
- Доступ по SSH к серверу (по ключу).
Требования WordPress (актуально). PHP 8.3+, MariaDB 10.6+ или MySQL 8.0+, HTTPS. В обоих способах ниже эти версии уже учтены.
Способ 1 — Docker Compose (быстро и чисто)
WordPress и база поднимаются двумя файлами и одной командой. Ничего не «мусорит» в системе, легко переносить и обновлять.
1. Установите Docker
# официальный скрипт установки Docker curl -fsSL https://get.docker.com | sudo sh # проверка sudo docker version
2. Создайте проект
mkdir -p ~/wordpress && cd ~/wordpress
Создайте файл .env с паролями (замените на свои, надёжные):
MYSQL_ROOT_PASSWORD=change_me_root MYSQL_DATABASE=wordpress MYSQL_USER=wp_user MYSQL_PASSWORD=change_me_strong
Создайте docker-compose.yml:
services: db: image: mariadb:11 restart: always environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} volumes: - db_data:/var/lib/mysql wordpress: image: wordpress:php8.3-apache restart: always depends_on: - db ports: - "80:80" environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_NAME: ${MYSQL_DATABASE} WORDPRESS_DB_USER: ${MYSQL_USER} WORDPRESS_DB_PASSWORD: ${MYSQL_PASSWORD} volumes: - wp_data:/var/www/html volumes: db_data: wp_data:
3. Запустите
sudo docker compose up -d # статус контейнеров sudo docker compose ps
Откройте в браузере http://IP_вашего_сервера — увидите мастер установки WordPress. Готово, дальше — раздел «Первый вход».
Firewall. Откройте нужные порты:
sudo ufw allow OpenSSH,sudo ufw allow 80,sudo ufw allow 443, затемsudo ufw enable.
Способ 2 — Классический LEMP (nginx + PHP + MariaDB)
Если предпочитаете ставить компоненты напрямую в систему. Команды — для Ubuntu 24.04.
1. Пакеты
sudo apt update sudo apt install -y nginx mariadb-server \ php-fpm php-mysql php-gd php-xml php-mbstring php-curl php-zip
2. База данных
sudo mysql_secure_installation # задайте пароль root, ответьте Y на вопросы sudo mysqlCREATE DATABASE wordpress CHARACTER SET utf8mb4; CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'change_me_strong'; GRANT ALL ON wordpress.* TO 'wp_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
3. Файлы WordPress
cd /tmp && curl -O https://wordpress.org/latest.tar.gz tar xzf latest.tar.gz sudo cp -r wordpress /var/www/mysite sudo chown -R www-data:www-data /var/www/mysite
4. nginx-сайт
Создайте /etc/nginx/sites-available/mysite (замените домен и версию PHP-FPM при необходимости):
server { listen 80; server_name example.com www.example.com; root /var/www/mysite; index index.php; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } }sudo ln -s /etc/nginx/sites-available/mysite /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx
Дальше откройте сайт по домену/IP и пройдите мастер установки.
Домен и DNS
Чтобы сайт открывался по домену и работал HTTPS, направьте домен на IP сервера:
- A-запись
@→ IP вашего VPS. - A-запись
www→ тот же IP (или CNAME на основной домен).
Обновление DNS может занять от нескольких минут до пары часов. Проверить: dig +short example.com.
Бесплатный SSL (HTTPS) за минуту
После того как домен указывает на сервер, включите HTTPS сертификатом Let’s Encrypt через certbot.
Для LEMP (nginx)
sudo apt install -y certbot python3-certbot-nginx sudo certbot --nginx -d example.com -d www.example.com
Certbot сам пропишет HTTPS в конфиг nginx и настроит автопродление.
Для Docker-способа. Проще всего добавить перед WordPress реверс-прокси с автоматическим TLS (например Caddy или Nginx Proxy Manager) — он сам выпустит и продлит сертификат. Либо поставить certbot на хост и проксировать на порт контейнера.
Первый вход и базовая настройка
- Откройте сайт → мастер WordPress: выберите язык, задайте название сайта, логин администратора (не
admin!) и надёжный пароль. - Зайдите в
/wp-admin→ «Настройки» → задайте корректный адрес сайта (сhttps://). - Удалите демо-контент и лишние темы/плагины, поставьте нужную тему.
- Настройте «Постоянные ссылки» (ЧПУ) в «Настройки → Постоянные ссылки».
Базовая защита
- Не используйте логин
adminи придумайте длинный пароль; включите двухфакторную аутентификацию плагином. - Обновляйте всё: ядро WordPress, темы и плагины — большинство взломов идёт через устаревшие плагины.
- Ставьте плагины только из доверенных источников и удаляйте неиспользуемые.
- Firewall и SSH: наружу — только 80/443 и SSH; вход по SSH-ключу, не по паролю.
- Резервные копии: храните бэкапы отдельно от сервера (снапшот + выгрузка в объектное S3-хранилище serverplus).
- HTTPS обязателен — это и безопасность, и плюс к SEO.
Обновления и бэкапы
Docker-способ — обновление образов:
cd ~/wordpress sudo docker compose pull sudo docker compose up -d
Бэкап (Docker): сохраните тома с файлами и дамп базы данных:
# дамп базы sudo docker compose exec db \ sh -c 'mariadb-dump -u root -p"$MYSQL_ROOT_PASSWORD" wordpress' > wp-db.sql
Файлы (каталог wp-content с темами/плагинами/загрузками) и дамп БД — это всё, что нужно для восстановления. Держите их в S3 или на отдельном сервере.
Частые вопросы
Какой способ выбрать — Docker или LEMP?
Для быстрого и аккуратного старта — Docker Compose: проще ставить, обновлять и переносить. LEMP берите, если нужен полный контроль над конфигурацией или так привычнее.
Хватит ли минимального VPS?
Для небольшого сайта/блога — да: 1–2 vCPU и 2 ГБ RAM. Под нагрузку и много плагинов добавьте RAM и возьмите ssd-universal или nvme-fast под базу.
Можно ли без домена?
Для теста — да, по IP. Но для нормального сайта нужен домен: без него не выпустить SSL, а HTTPS сегодня обязателен.
Как ускорить сайт?
Плагин кэширования, оптимизация изображений, свежая версия PHP (8.3+) и диск ssd-universal/nvme-fast под базу. Для трафика — CDN.
Сайт не открывается после установки.
Проверьте firewall (открыты 80/443), что контейнеры/службы запущены (docker compose ps или systemctl status nginx php8.3-fpm), и что DNS указывает на нужный IP.