ISPmanager 6 Business и выше включают встроенный установщик CMS. WordPress устанавливается автоматически с созданием БД, загрузкой файлов и настройкой конфигурации — весь процесс занимает 3–5 минут против получаса ручной установки.
Автоматическая установка через CMS
Путь в панели: WWW → CMS → Создать → WordPress.
| Поле | Рекомендация |
|---|---|
| Домен | Ваш домен |
| Директория | Оставьте пустым (корень) |
| Версия | Последняя стабильная |
| Логин администратора | НЕ «admin» — выберите уникальный |
| Ваш рабочий email |
Панель сама создаёт базу данных, пользователя MySQL с ограниченными правами и заполняет wp-config.php — вручную трогать эти поля не нужно; подробнее о работе с базами — в статье базы данных в ISPmanager 6.
Ручная установка WordPress
Ручной путь нужен, если сайт разворачивается не в корень домена, требуется нестандартная структура каталогов или CMS переносится с другого хостинга вместе с готовой базой.
Шаг 1: создать сайт и БД
1. WWW → Домены → Создать → example.com (PHP 8.2, Nginx)
2. Базы данных → MySQL → Создать → example_wp
Шаг 2: загрузить WordPress
# Через SSH
cd /var/www/user1/data/www/example.com/www/
wget https://wordpress.org/latest.tar.gz
tar xzf latest.tar.gz --strip-components=1
rm latest.tar.gz
Шаг 3: настроить wp-config.php
cp wp-config-sample.php wp-config.php
nano wp-config.php
# Заполнить:
define('DB_NAME', 'user1_example_wp');
define('DB_USER', 'user1_wpuser');
define('DB_PASSWORD', 'пароль_из_ISPmanager');
define('DB_HOST', 'localhost');
После установки обязательно установите SSL (Let's Encrypt) и включите редирект HTTP → HTTPS в настройках домена — подробный порядок описан в статье SSL в ISPmanager 6.
Разбор типичных ошибок установки
- Error establishing a database connection — чаще всего опечатка в имени пользователя или базы: ISPmanager добавляет префикс аккаунта (
user1_) автоматически, а при ручном вводе в wp-config.php его легко забыть. - 403 Forbidden при обращении к wp-admin — Nginx-конфигурация ISPmanager по умолчанию не пропускает
PATH_INFO-запросы к некоторым файлам; проверьте, что домен создан с шаблоном именно для WordPress, а не как «статический сайт». - Are you sure you want to do this? (проверка nonce не проходит) — после переноса файлов вручную забыли обновить
siteurlиhomeв таблицеwp_options, из-за чего куки и nonce привязаны к другому домену. - The uploaded file exceeds the upload_max_filesize directive — лимит PHP в ISPmanager ниже, чем нужно для загрузки медиатеки; правится в разделе домена «Настройки PHP», а не в самом WordPress.
Сравнение: автоматическая установка против ручной
| Критерий | Через CMS-установщик | Вручную по SSH |
|---|---|---|
| Время | 3–5 минут | 15–30 минут |
| Создание БД и пользователя | Автоматически | Вручную |
| Подходит для переноса готового сайта | Нет | Да |
| Контроль над структурой каталогов | Ограничен | Полный |
Оптимальная конфигурация Nginx для WordPress
ISPmanager автоматически добавляет базовые правила. Для дополнительной оптимизации через SSH используйте раздел «Дополнительные директивы»:
# Кэш статики в конфиге сайта
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
# Блокировка прямого доступа к wp-config.php
location = /wp-config.php {
deny all;
}
Не редактируйте конфиги Nginx вручную для доменов, управляемых ISPmanager — панель перезапишет изменения при следующем сохранении настроек сайта. Используйте раздел «Дополнительные директивы» в настройках домена.
Когда автоматический установщик не подходит
- Сайт переносится с другого хостинга вместе с существующей базой и медиафайлами — установщик создаёт чистую базу, а не подключает готовую.
- Нужен мультисайт WordPress (Multisite) со своей структурой поддоменов — стандартный мастер CMS его не настраивает.
- Требуется установка конкретной старой версии WordPress для совместимости с legacy-плагином — установщик всегда ставит последнюю стабильную.
- Нужна отдельная база данных на внешнем сервере MySQL вместо локальной — мастер CMS создаёт пользователя только для локального сокета, а внешнее подключение придётся прописывать в wp-config.php вручную после установки.
Как проверить, что установка прошла успешно
# Проверить, что сайт открывается без ошибок PHP
curl -sI https://example.com/ | head -5
# Проверить версию WordPress и активную тему через WP-CLI
wp core version --path=/var/www/user1/data/www/example.com/www/
wp theme list --path=/var/www/user1/data/www/example.com/www/
# Проверить, что база подключена и таблицы созданы
wp db check --path=/var/www/user1/data/www/example.com/www/
Если все три команды отработали без ошибок, а страница отдаёт HTTP 200 — установка завершена. Последний шаг — зайти в /wp-admin/ под учётной записью администратора и сменить пароль на постоянный, если использовался временный.