Установка WordPress 4.0 и мультисайтов на CentOS 7
Коротко о документе
Этот материал описывает, как установить и настроить несколько сайтов WordPress версии 4.0 на сервере CentOS 7 в одной установке WordPress (Multisite). WordPress появился в 2003 году как проект для улучшения типографии текста и со временем стал самым распространённым self-hosted решением для блогов и сайтов.
Важно: руководство рассчитано на CentOS 7.0 и LAMP (Apache + MariaDB/MySQL + PHP). Перед началом настройте базовую установку сервера и назначьте статический IP (в примерах используется 192.168.0.100) и хостнейм (на примере server1.example.com).
Содержание
- Предварительная заметка
- Инициация базы данных
- Установка WordPress 4.0
- Подготовка пакетов и загрузка
- Права и каталоги для загрузок
- Настройка wp-config.php
- Конфигурация мультисайта
- Настройка Apache и .htaccess
- Веб-установка и настройка сети
- Рекомендации и чек-листы
- Критерии приёмки
- Ссылки
Предварительная заметка
Перед началом убедитесь, что у вас:
- Рабочий сервер CentOS 7.0 с интернет-доступом.
- Установлен LAMP (Apache, MariaDB/MySQL, PHP).
- Статический IP-адрес (пример: 192.168.0.100).
- Рабочая учётная запись root или sudo-права.
Примечание: во всех примерах сохранены значения так, как в оригинале (WordPress 4.0) — при развёртывании в продакшн обновляйте до актуальной стабильной версии.
Инициация базы данных
- Войдите в MySQL/MariaDB под root:
mysql -u root -p- Создайте базу данных и пользователя (в примере используются имена wordpressdb / wordpressuser и пароль wordpresspassword):
CREATE DATABASE wordpressdb;
CREATE USER wordpressuser@localhost IDENTIFIED BY 'wordpresspassword';
GRANT ALL PRIVILEGES ON wordpressdb.* TO wordpressuser@localhost;- Примените изменения и выйдите:
FLUSH PRIVILEGES;
exit- Перезапустите службы Apache и MariaDB:
service httpd restart
service mariadb restart- Разрешите HTTP/HTTPS в брандмауэре firewalld:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reloadВажно: если вы используете другой фаервол или облачную сеть, откройте соответствующие порты внешне.
Установка WordPress 4.0
Подготовка каталога и загрузка
Создайте временный каталог и установите необходимые утилиты:
mkdir temp
cd temp
yum install wget unzip net-toolsСкачайте архив WordPress (в примере используется http://wordpress.org/latest.zip):
wget http://wordpress.org/latest.zipЕсли планируете работать с изображениями, устанавливать плагины через веб-интерфейс и обновлять сайт, добавьте поддержку GD:
yum install php-gd
service httpd restartРаспакуйте WordPress в корень веб-документов:
unzip -q latest.zip -d /var/www/html/Права доступа и каталоги для загрузок
Установите владельца и права для каталога установки:
chown -R apache:apache /var/www/html/wordpress
chmod -R 755 /var/www/html/wordpressСоздайте каталог uploads и назначьте групповую собственность apache, чтобы веб-сервер мог записывать файлы:
mkdir -p /var/www/html/wordpress/wp-content/uploads
chown -R :apache /var/www/html/wordpress/wp-content/uploadsОбъяснение: группа apache позволит процессу веб-сервера создавать файлы в каталоге wp-content/uploads, необходимом для загрузки медиа.
Настройка wp-config.php
Скопируйте пример конфигурации и отредактируйте его:
cd /var/www/html/wordpress/
cp wp-config-sample.php wp-config.php
nano wp-config.phpИзмените параметры подключения к БД на значения, которые вы задали ранее:
define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wordpressuser');
define('DB_PASSWORD', 'wordpresspassword');Сохраните изменения.
Включение мультисайта (Multisite)
Чтобы разрешить установку мультисайта, добавьте в wp-config.php перед строкой / That’s all, stop editing! Happy blogging. /:
/* Multisite */
define('WP_ALLOW_MULTISITE', true);Это откроет в админке пункт для настройки сети.
Настройка Apache: AllowOverride и перезапуск
Разрешите использование .htaccess в конфигурации Apache, изменив директиву AllowOverride для /var/www/html:
Откройте файл конфигурации Apache:
nano /etc/httpd/conf/httpd.confНайдите секцию
Options Indexes FollowSymLinks
AllowOverride AllПерезапустите Apache:
service httpd restartСоздание .htaccess и права на него
Создайте пустой .htaccess и назначьте владельца apache:
touch /var/www/html/wordpress/.htaccess
chown apache /var/www/html/wordpress/.htaccessЧтобы WordPress мог автоматически записывать правила, можно установить права 664:
chmod 664 /var/www/html/wordpress/.htaccessЕсли предпочитаете редактировать файл вручную (без записи веб-сервером), используйте 644. В примере используется 644.
Веб-установка WordPress
Откройте в браузере:
http://192.168.0.100/wordpress/wp-admin/install.php
Выберите язык и продолжите. На экранах установки введите значения сайта и учетной записи администратора. В примере использованы значения:
Site Title = Wordpress-testsite
Admin Email = [email protected]
Username = admin
Admin password = howtoforge(Эти значения — пример. Используйте свои безопасные пароли.)



После установки войдите в учётную запись администратора:


После входа вы увидите стандартную административную панель. Версию WordPress можно проверить внизу или в консоли администрирования:

Настройка сети мультисайта через интерфейс
Перейдите: Инструменты → Настройка сети (Tools → Network setup).

Укажите название сети и admin email, затем нажмите Install. После этого WordPress покажет фрагменты кода, которые нужно добавить в wp-config.php и .htaccess.
В моём примере добавлены строки в wp-config.php (замените значением вашего сервера):
/* Multisite */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', '192.168.0.100');
define('PATH_CURRENT_SITE', '/wordpress/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* That's all, stop editing! Happy blogging. */Примечание: в примере используется структура «в подкаталоге» (SUBDOMAIN_INSTALL false). Если вы планируете использовать поддомены, установите SUBDOMAIN_INSTALL true и настройте DNS/виртуальные хосты.
В .htaccess замените текущие правила WordPress на предложенные (пример для пути /wordpress/):
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]После правок перезапустите Apache:
systemctl restart httpd.serviceВойдите заново и перейдите в My Sites → Network Admin → Dashboard, чтобы управлять сетью сайтов.


Добавление нового сайта: Sites → Add New.

Заполните поля по требованию и нажмите Add Site.

Поздравляем — у вас рабочая сеть WordPress 4.0 на CentOS 7.0.
Рекомендации по безопасности и эксплуатации
- Немедленно смените учётную запись admin и используйте уникальные пароли и двухфакторную авторизацию.
- Ограничьте доступ к файлам wp-config.php и .htaccess (chmod 640 или 600 при необходимости, но учитывайте возможность записи для веб-сервера).
- Для публичных сетей используйте HTTPS (сертификаты от Let’s Encrypt).
- Резервные копии базы и файлов — обязательны. Настройте автоматические бэкапы.
Важно: WordPress 4.0 устарел. Для живых проектов обновляйте ядро, плагины и темы до поддерживаемых версий и тестируйте обновления в стенде.
Роль‑ориентированные чек-листы
Администратор сервера:
- Установить LAMP и убедиться в доступности Apache и MariaDB.
- Открыть порты HTTP/HTTPS и настроить SELinux/правила доступа.
- Настроить системный бэкап.
Разработчик/DevOps:
- Настроить виртуальный хост и DNS (если нужны поддомены).
- Обеспечить мониторинг и логирование.
- Настроить CI/CD для тем/плагинов.
Сетевой администратор WordPress:
- Включить Multisite и выбрать подход: поддомены или подкаталоги.
- Убедиться, что .htaccess и wp-config.php содержат нужные правила.
- Управлять сетью сайтов через Network Admin.
Быстрая методология (минимум шагов)
- Подготовьте сервер и LAMP. 2. Создайте базу и пользователя. 3. Загрузите и распакуйте WordPress. 4. Настройте права и uploads. 5. Настройте wp-config.php и включите Multisite. 6. Разрешите AllowOverride и создайте .htaccess с правилами. 7. Выполните веб-установку и настройте сеть.
Модель принятия решения: поддомен или подкаталог
flowchart TD
A[Нужно использовать мультисайт?] -->|Нет| B[Обычная установка WordPress]
A -->|Да| C[Нужно, чтобы каждый сайт был на поддомене?]
C -->|Да| D[Использовать SUBDOMAIN_INSTALL = true; настроить DNS/виртуальные хосты]
C -->|Нет| E[Использовать SUBDOMAIN_INSTALL = false; сайты в подкаталогах]Когда использовать поддомены: если каждый сайт должен выглядеть как отдельный домен (site.example.com). Когда использовать подкаталоги: проще в локальной сети или когда DNS нельзя настроить для множества поддоменов.
Критерии приёмки
- WordPress успешно устанавливается и запускается на http://<ваш-ip>/wordpress/.
- Можно войти в панель администратора и установить Multisite.
- После добавления правил в wp-config.php и .htaccess сеть работает, и создаваемые сайты доступны.
- Веб-сервер может записывать файлы в wp-content/uploads.
Частые ошибки и как их устранить
- Ошибка 500 после правок .htaccess: проверьте синтаксис и права, посмотрите логи Apache (/var/log/httpd/error_log).
- Невозможно записать в uploads: проверьте владельца и группу (apache) и права.
- Сеть Multisite не работает для поддоменов: убедитесь, что DNS/виртуальные хосты настроены для wildcard (*.example.com).
Резюме
Вы успешно установили WordPress 4.0 и настроили мультисайт на CentOS 7.0. Следующие шаги: обеспечить безопасность (HTTPS, смена пароля admin), настроить бэкапы и протестировать добавление сайтов и тем в сети.
Ссылки
- WordPress : http://wordpress.org/
- CentOS : http://www.centos.org/
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента