Перейти к содержимому
Не упустите специальную скидку 20% для новых клиентов! Промокод: KAVESNET20 Скопировано
WordPress

Ручная установка WordPress: полный гид по настройке на VDS

Установка WordPress на VDS без панели управления. Apache/Nginx, PHP, MySQL, права на файлы и шаги безопасности.

Команда KavesNET 20 ноября 2025 г. 3 мин чтения
Ручная установка WordPress

Хотите установить WordPress на VDS с нуля без Plesk/cPanel? Этот гид охватывает подготовку LAMP/LEMP стека на Ubuntu 22.04, размещение файлов WordPress, создание MySQL-БД и шаги безопасности.

Требования

  • 2 vCPU + 2 ГБ RAM VDS (начальный уровень)
  • Ubuntu 22.04 / Debian 12
  • Root-доступ (sudo)
  • DNS A-запись домена указывает на IP VDS

1. Обновить систему

sudo apt update && sudo apt upgrade -y

2. Установить LAMP (Apache + MySQL + PHP)

Для LEMP (Nginx) см. пост по Nginx.

sudo apt install apache2 mysql-server -y

# PHP 8.3 + модули WordPress
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \
    php8.3-mbstring php8.3-xml php8.3-zip php8.3-imagick libapache2-mod-php8.3 -y
sudo systemctl enable --now apache2 mysql

3. Защитить MySQL

sudo mysql_secure_installation
  • Установить root-пароль
  • Anonymous users → Yes (удалить)
  • Remote root login → Yes (запретить)
  • Test database → Yes (удалить)

Подробное управление MySQL — пост MariaDB/MySQL.

4. Создать БД для WordPress

sudo mysql -u root -p
CREATE DATABASE wordpress_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'СИЛЬНЫЙ_ПАРОЛЬ';
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

5. Скачать WordPress

cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/ваш-сайт.com

Для мульти-сайтов отдельные папки на каждый сайт.

6. Права

sudo chown -R www-data:www-data /var/www/ваш-сайт.com
sudo find /var/www/ваш-сайт.com -type d -exec chmod 755 {} \;
sudo find /var/www/ваш-сайт.com -type f -exec chmod 644 {} \;
sudo chmod -R 775 /var/www/ваш-сайт.com/wp-content

7. Apache vhost

sudo nano /etc/apache2/sites-available/ваш-сайт.com.conf
<VirtualHost *:80>
    ServerName ваш-сайт.com
    ServerAlias www.ваш-сайт.com
    DocumentRoot /var/www/ваш-сайт.com

    <Directory /var/www/ваш-сайт.com>
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/ваш-сайт.com_error.log
    CustomLog ${APACHE_LOG_DIR}/ваш-сайт.com_access.log combined
</VirtualHost>
sudo a2enmod rewrite
sudo a2ensite ваш-сайт.com.conf
sudo a2dissite 000-default.conf
sudo systemctl reload apache2

8. wp-config.php

cd /var/www/ваш-сайт.com
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
define( 'DB_NAME', 'wordpress_db' );
define( 'DB_USER', 'wp_user' );
define( 'DB_PASSWORD', 'СИЛЬНЫЙ_ПАРОЛЬ' );
define( 'DB_HOST', 'localhost' );

Authentication keys: https://api.wordpress.org/secret-key/1.1/salt/ → скопируйте и вставьте в wp-config.php.

9. SSL

Обязательно — см. пост Let’s Encrypt:

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache -d ваш-сайт.com -d www.ваш-сайт.com

10. Завершить в браузере

Открыть https://ваш-сайт.com:

  • Язык → Continue
  • Site Title, admin Username, Password, Email → Install WordPress

Готово за 5 секунд.

Безопасность после установки

  1. Не использовать “admin” как имя (популярная цель брутфорса)
  2. wp-admin за firewall — только ваш IP (пост UFW)
  3. Отключить XML-RPC — WP становится средством DDoS
  4. Плагин 2FA: Wordfence Login Security
  5. Авто-обновления: wp-config.phpdefine('WP_AUTO_UPDATE_CORE', 'minor');
  6. Cron-бэкапы: без Plesk — свой cron (пост cron)

Производительность

  • OPcache: php.iniopcache.enable=1
  • Object cache: Redis установить
  • Кэш-плагин: WP Rocket / LiteSpeed Cache
  • CDN: пост Cloudflare

Подробно — пост WordPress-хостинга.

Частые ошибки

  • “Error establishing database connection”: неверные данные DB или MySQL не запущен
  • 404 (permalinks): mod_rewrite не активен → sudo a2enmod rewrite
  • White screen of death: ошибка PHP → tail -f /var/log/apache2/error.log
  • “Allowed memory size exhausted”: в wp-config.phpdefine('WP_MEMORY_LIMIT', '256M');
  • Сбой загрузки изображений: права wp-content/uploads неверные

Итог

Ручная установка — 20-минутная задача, но полный контроль. Plesk требует доп. лицензии, ручная — бесплатна. Production WordPress: ручной + nginx-proxy + Let’s Encrypt + Cloudflare = самый быстрый стек.

Тарифы VDS KavesNET на NVMe SSD оптимизированы под WordPress.

По теме: Руководство по WordPress-хостингу · Управление MySQL/MariaDB

Теги WordPress Linux Apache Nginx Туториал

Похожие статьи

Возможно, вас также заинтересует.