Установка WordPress на Rocky Linux 8.4 (LAMP)

WordPress — один из самых популярных движков для управления контентом (CMS). Проект стартовал в 2003 году как форк b2/cafelog, распространяется под GPLv2 и является свободным ПО. По разным оценкам более 34% сайтов в интернете используют WordPress.
Причины популярности: простота, гибкость и огромная экосистема плагинов и тем. WordPress подходит для блогов, интернет-магазинов, корпоративных сайтов, сообществ и других задач.
В этом руководстве вы установите WordPress на Rocky Linux 8.4 под LAMP-стеком (Linux, Apache/httpd, MariaDB, PHP). Инструкция рассчитана на администратора сервера с sudo-привилегиями.
Содержание
- Предварительные требования
- Установка Apache/httpd
- Установка PHP и расширений (Remi)
- Установка и настройка MariaDB
- Создание базы данных и пользователя
- Загрузка WordPress и настройка wp-config.php
- Включение mod_ssl и генерация самоподписанного сертификата
- Установка certbot и получение Let’s Encrypt (webroot)
- Настройка виртуального хоста Apache для WordPress (HTTP→HTTPS)
- Установка через веб-интерфейс и базовая проверка
- Дополнения: безопасность, резервное копирование, тесты приёмки, альтернативы
Предварительные требования
- Сервер с Rocky Linux 8.4, все пакеты обновлены.
- Пользователь с правами root через sudo.
- Доменное имя, указывающее на IP сервера (для установки Let’s Encrypt).
Важно: если вы тестируете локально без домена, шаги с certbot и Let’s Encrypt можно пропустить — будет использован самоподписанный сертификат для локального HTTPS.
Установка Apache / httpd
Сначала установим веб-сервер Apache (httpd).
- Установите пакет httpd:
sudo dnf install httpdПри запросе подтвердите установку, введите “y” и нажмите Enter.

- Включите автозапуск и запустите сервис:
sudo systemctl enable httpd
sudo systemctl start httpdКоманда systemctl enable обеспечивает автозапуск при загрузке системы.
- Проверьте статус сервиса:
sudo systemctl status httpdОжидаемый результат: httpd активен и работает.

Установка PHP и необходимых расширений
WordPress требует PHP 7.4 или выше. В этой инструкции мы используем репозиторий Remi для установки PHP 7.4.
- Подключите репозитории EPEL и Remi:
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpmПодтвердите установку (y).
Проверьте список репозиториев:
sudo dnf repolistВы увидите репозитории epel и remi в списке.

- Сбросьте модуль PHP по умолчанию и включите модуль remi-7.4:
sudo dnf module reset phpПодтвердите (y) при необходимости — будет импортирован GPG-ключ Remi.

Затем включите модуль PHP 7.4:
sudo dnf module enable php:remi-7.4Подтвердите (y).

- Установите PHP и распространённые расширения, необходимые WordPress:
sudo dnf install php php-common php-mysqlnd php-gd php-imagick php-bcmathПосле установки можно перейти к настройке базы данных.
Установка и настройка MariaDB
Здесь мы установим сервер баз данных MariaDB, обеспечим базовую безопасность и создадим базу и пользователя для WordPress.
- Установите MariaDB:
sudo dnf install mariadb mariadb-server
- Включите и запустите сервис:
sudo systemctl enable mariadb
sudo systemctl start mariadb- Проверьте статус:
sudo systemctl status mariadbОжидаемый вывод: mariadb active (running).

- Запустите скрипт безопасности:
mysql_secure_installationСкрипт предложит установить пароль root для MariaDB, удалить анонимных пользователей, запретить удалённый вход для root, удалить тестовую базу и перезагрузить таблицы привилегий. Рекомендуется ответить “Y” на все вопросы.
Пример диалога:
Set root password? [Y/n] Y
... Success!
Remove anonymous users? [Y/n] Y
... Success!
Disallow root login remotely? [Y/n] Y
... Success!
Remove test database and access to it? [Y/n] Y
... Success!
Reload privilege tables now? [Y/n] Y
... Success!
All done!Это завершит базовую защиту MariaDB.
Создание базы данных и пользователя для WordPress
- Войдите в консоль MariaDB:
mysql -u root -p- Создайте базу данных (пример имени wordpress_db):
CREATE DATABASE wordpress_db;- Создайте пользователя (пример wpuser) и назначьте ему пароль:
CREATE USER wpuser@localhost IDENTIFIED BY 'strongpassword';Замените ‘strongpassword’ на надёжный пароль.
- Дайте права пользователю на базу:
GRANT ALL PRIVILEGES ON wordpress_db.* TO wpuser@localhost;- Примените изменения:
FLUSH PRIVILEGES;Выйдите из mysql:
quit
Загрузка WordPress
- Перейдите в каталог /var/www и скачайте WordPress:
cd /var/www/
wget https://wordpress.org/latest.tar.gz- Распакуйте и назначьте владельца apache:
tar -xzvf latest.tar.gz
sudo chown -R apache:apache wordpress/Теперь можно подготовить конфигурацию.
Настройка WordPress (wp-config.php)
- Перейдите в каталог WordPress:
cd /var/www/wordpress/- Скопируйте пример конфигурации и откройте для редактирования:
cp wp-config-sample.php wp-config.php
nano wp-config.php- Укажите настройки базы данных (DB_NAME, DB_USER, DB_PASSWORD и DB_HOST):
// MySQL settings - You can get this info from your web host //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress_db' );
/** MySQL database username */
define( 'DB_USER', 'wpuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'strongpassword' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );- Сгенерируйте уникальные ключи и соли на сервисе WordPress и вставьте их в wp-config.php. Ссылка для генерации: https://api.wordpress.org/secret-key/1.1/salt/
Вставьте сгенерированные значения вместо стандартных.
После правок сохраните файл (Ctrl+X, затем Y).
Включение mod_ssl на Rocky Linux
Для получения HTTPS-сертификата и поддержки SSL в Apache потребуется модуль mod_ssl и mod_http2.
- Установите пакеты:
sudo dnf install mod_ssl mod_http2- Для тестовой локальной среды можно создать самоподписанный сертификат для localhost:
openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/localhost.key -x509 -days 365 -out /etc/pki/tls/certs/localhost.crtОтветьте на вопросы приветствия или нажмите Enter — сертификат будет использоваться локально.

- Убедитесь, что модуль SSL загружен:
apachectl -M | grep sslЕсли вывод содержит “ssl”, модуль активен.

Получение SSL от Let’s Encrypt (certbot, webroot)
Для публичного домена используйте certbot с вебрут-плагином.
- Установите certbot:
sudo dnf install certbot- Создайте директорию для валидации и назначьте права группе apache:
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt- Добавьте конфигурацию в Apache для обслуживания /.well-known:
cd /etc/httpd/conf.d/
nano well-known.confВставьте:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
Сохраните и закройте файл.
- Проверьте конфигурацию Apache и перезапустите сервис:
apachectl configtest
sudo systemctl restart httpd- Запустите certbot webroot (замените email и domain.com на ваши значения):
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d domain.com -d www.domain.comПосле завершения сертификаты будут в /etc/letsencrypt/live/domain.com/.

Настройка виртуального хоста Apache для WordPress
Создайте конфигурацию виртуального хоста, которая перенаправляет HTTP на HTTPS и указывает корень сайта /var/www/wordpress.
- Откройте файл конфигурации:
cd /etc/httpd/conf.d/
nano wordpress.conf- Вставьте и отредактируйте (замените domain.com на ваш домен и пути к SSL):
# httpd port 80
ServerName domain.com
ServerAlias www.domain.com
# automatic redirect http to https
Redirect permanent / https://domain.com/
# httpd port 443/ssl
ServerName domain.com
ServerAlias www.domain.com
# WordPress path directory
DocumentRoot /var/www/wordpress
Protocols h2 http:/1.1
Redirect permanent / https://domain.com/
ErrorLog /var/log/httpd/domain.com-error.log
CustomLog /var/log/httpd/domain.com-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCompression off
Options FollowSymlinks
AllowOverride All
Require all granted
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
Сохраните файл.
- Проверьте конфигурацию и перезапустите Apache:
sudo apachectl configtest
sudo systemctl restart httpdЕсли ошибок нет, сайт должен быть доступен по HTTPS.

Установка WordPress через веб-интерфейс
- Откройте браузер и перейдите на http://domain.com — вас перенаправит на HTTPS.
Вы увидите экран выбора языка.

- Укажите заголовок сайта, имя пользователя, пароль и email администратора. Нажмите “Install WordPress”.

- После успешной установки вы увидите страницу с подтверждением. Нажмите “Log In”.

- Войдите в панель администратора, используя созданные учётные данные.

- Вы попадёте на главную страницу сайта и в админ-панель (Dashboard).

- В админке вы можете установить темы и плагины: меню “Плагины → Добавить новый”.


Базовые меры безопасности и жесткие настройки
Важно: после установки выполните дополнительные меры безопасности.
- Обновления: поддерживайте систему, PHP, Apache, MariaDB и сам WordPress в актуальном состоянии.
- Резервные копии: настройте регулярные бэкапы файлов /var/www/wordpress и базы данных.
- Права файлов: директории 755, файлы 644; владельцем должен быть apache (или httpd-демон).
- Ограничьте доступ к wp-config.php (chmod 600 при необходимости) и сохраните резервную копию в безопасном месте.
- Ограничьте попытки входа: плагин «Limit Login Attempts» или аналог.
- Используйте двухфакторную аутентификацию для администраторов.
- Регулярно сканируйте плагины и темы на уязвимости; устанавливайте только из доверенных источников.
- Настройте HTTP заголовки безопасности (Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy).
Короткая команда для резервной копии базы (пример):
mysqldump -u wpuser -p wordpress_db > /root/backups/wordpress_db_$(date +%F).sqlТесты приёмки (Критерии приёмки)
- Сайт доступен по HTTPS на domain.com и корректно редиректит с HTTP на HTTPS.
- Страница установки WordPress отображается и позволяет завершить установку.
- Админ-панель доступна, а вход выполняется с созданными учётными данными.
- Веб-сервер обслуживает статические файлы (CSS/JS) и страницы без ошибок 500/403.
- Доступ к базе данных успешен: WordPress может создавать таблицы и записывать данные.
Ролевые чек-листы
Администратор сервера:
- Обновить систему и установить EPEL/Remi
- Установить httpd, PHP, MariaDB
- Настроить виртуальный хост и SSL
- Настроить бэкапы и мониторинг
Владелец сайта / контент-менеджер:
- Создать учётную запись администратора WordPress
- Установить тему и базовые плагины (SEO, бэкап, безопасность)
- Настроить резервное копирование контента
Разработчик:
- Проверить разрешения файлов и совместимость PHP-расширений
- Настроить окружение разработки (локальное) и CI/CD при наличии
- Выполнять тестирование производительности и нагрузки
Альтернативные подходы (когда этот план не подходит)
- LEMP (Nginx + PHP-FPM): лучше при высоких нагрузках и обратном проксировании.
- Docker / контейнеризация: удобнее для изоляции версий PHP и быстрого деплоя.
- Управляемый хостинг WordPress (WP Engine, Kinsta): избавляет от администрирования сервера.
- Использование PostgreSQL (через плагин) — нетрадиционно, требует дополнительных настроек.
Когда этот подход не подходит: если у вас высокая нагрузка, распределённая архитектура или желание минимизировать операционную нагрузку — рассмотрите управляемые решения или контейнеризацию.
Быстрый чек-лист на одну страницу (SOP)
- Обновить систему: sudo dnf update -y
- Установить httpd и запустить сервис
- Добавить EPEL/Remi, включить php:remi-7.4
- Установить PHP и расширения
- Установить mariadb, mysql_secure_installation
- Создать БД и пользователя
- Скачать WordPress, chown apache
- Настроить wp-config.php и ключи
- Установить mod_ssl, certbot и настроить well-known
- Настроить виртуальный хост, получить сертификат
- Завершить установку через веб и настроить плагины
Небольшая методология принятия решений (мини-метод)
- Оцените требования: трафик, SLA, команда поддержки.
- Выберите стек на основе требований: LAMP для простоты, LEMP/контейнеры для масштабирования.
- Настройте базовую безопасность и мониторинг до публикации.
- Разворачивайте бэкапы и проверяйте восстановление регулярно.
Краткая галерея исключений (Edge cases)
- SELinux включён и мешает доступу: используйте restorecon и setsebool для httpd.
- Файлы не загружаются: проверьте права и SELinux контекст.
- Ошибки 500 после установки плагина: отключите плагин, переименовав папку в /var/www/wordpress/wp-content/plugins.
- Проблемы с получением сертификата: проверьте DNS, HTTP-ответ на /.well-known/acme-challenge/
Краткий глоссарий (1-строчные определения)
- LAMP: стек Linux + Apache + MariaDB/MySQL + PHP.
- httpd: демон Apache HTTP Server.
- certbot: клиент Let’s Encrypt для получения SSL-сертификатов.
- webroot: плагин certbot, использующий размещение файлов в веб-корне для DCV (домейн-валидатор).
- wp-config.php: основной конфигурационный файл WordPress.
Примечания по приватности и соответствию (GDPR)
Если вы обрабатываете персональные данные пользователей ЕС, убедитесь, что:
- На сайте есть корректная политика конфиденциальности.
- Собираемые данные минимально необходимы и безопасно хранятся.
- Реализована возможность удаления/экспорта данных по запросу пользователя.
- Плагины хранения данных/аналитики соответствуют требованиям защиты данных.
Короткая инструкция для отката (rollback)
Если необходимо откатить установку:
- Остановите httpd: sudo systemctl stop httpd
- Восстановите файлы WordPress из бэкапа (замените /var/www/wordpress)
- Восстановите базу данных из дампа: mysql -u root -p wordpress_db < backup.sql
- Перезапустите сервисы: sudo systemctl start mariadb; sudo systemctl start httpd
Заключение
Поздравляем — вы установили WordPress на Rocky Linux 8.4 под LAMP и обеспечили сайт HTTPS с помощью Let’s Encrypt. В ходе руководства вы:
- Установили и настроили Apache, PHP и MariaDB
- Защитили MariaDB и создали базу данных для WordPress
- Загрузили WordPress и настроили wp-config.php
- Настроили виртуальный хост и SSL (самоподписанный и Let’s Encrypt через webroot)
- Выполнили базовые шаги безопасности и получили чек-листы для эксплуатации
Следующие шаги: выбрать и настроить тему, установить необходимые плагины (резервное копирование, безопасность, кеширование), настроить мониторинг и план обновлений.
Wichtig: После каждого крупного изменения проверяйте доступность сайта и корректность логов (/var/log/httpd/* и /var/log/messages). Регулярно тестируйте восстановление из резервных копий.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента