Гид по технологиям

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

• 8 min read • WordPress • Обновлено 17 Nov 2025
Установка WordPress на Rocky Linux 8.4 — LAMP
Установка WordPress на Rocky Linux 8.4 — LAMP

Иллюстрация: установка WordPress на Rocky Linux

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).

  1. Установите пакет httpd:
sudo dnf install httpd

При запросе подтвердите установку, введите “y” и нажмите Enter.

Установка веб-сервера httpd

  1. Включите автозапуск и запустите сервис:
sudo systemctl enable httpd
sudo systemctl start httpd

Команда systemctl enable обеспечивает автозапуск при загрузке системы.

  1. Проверьте статус сервиса:
sudo systemctl status httpd

Ожидаемый результат: httpd активен и работает.

Старт, включение и проверка httpd


Установка PHP и необходимых расширений

WordPress требует PHP 7.4 или выше. В этой инструкции мы используем репозиторий Remi для установки PHP 7.4.

  1. Подключите репозитории 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 в списке.

Проверка репозиториев EPEL и REMI

  1. Сбросьте модуль PHP по умолчанию и включите модуль remi-7.4:
sudo dnf module reset php

Подтвердите (y) при необходимости — будет импортирован GPG-ключ Remi.

Импорт GPG-ключа REMI

Затем включите модуль PHP 7.4:

sudo dnf module enable php:remi-7.4

Подтвердите (y).

Включение модуля PHP 7.4 из REMI

  1. Установите PHP и распространённые расширения, необходимые WordPress:
sudo dnf install php php-common php-mysqlnd php-gd php-imagick php-bcmath

После установки можно перейти к настройке базы данных.


Установка и настройка MariaDB

Здесь мы установим сервер баз данных MariaDB, обеспечим базовую безопасность и создадим базу и пользователя для WordPress.

  1. Установите MariaDB:
sudo dnf install mariadb mariadb-server

Установка MariaDB

  1. Включите и запустите сервис:
sudo systemctl enable mariadb
sudo systemctl start mariadb
  1. Проверьте статус:
sudo systemctl status mariadb

Ожидаемый вывод: mariadb active (running).

Проверка статуса MariaDB

  1. Запустите скрипт безопасности:
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

  1. Войдите в консоль MariaDB:
mysql -u root -p
  1. Создайте базу данных (пример имени wordpress_db):
CREATE DATABASE wordpress_db;
  1. Создайте пользователя (пример wpuser) и назначьте ему пароль:
CREATE USER wpuser@localhost IDENTIFIED BY 'strongpassword';

Замените ‘strongpassword’ на надёжный пароль.

  1. Дайте права пользователю на базу:
GRANT ALL PRIVILEGES ON wordpress_db.* TO wpuser@localhost;
  1. Примените изменения:
FLUSH PRIVILEGES;

Выйдите из mysql:

quit

Создание базы и пользователя


Загрузка WordPress

  1. Перейдите в каталог /var/www и скачайте WordPress:
cd /var/www/
wget https://wordpress.org/latest.tar.gz
  1. Распакуйте и назначьте владельца apache:
tar -xzvf latest.tar.gz
sudo chown -R apache:apache wordpress/

Теперь можно подготовить конфигурацию.


Настройка WordPress (wp-config.php)

  1. Перейдите в каталог WordPress:
cd /var/www/wordpress/
  1. Скопируйте пример конфигурации и откройте для редактирования:
cp wp-config-sample.php wp-config.php
nano wp-config.php
  1. Укажите настройки базы данных (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', '' );
  1. Сгенерируйте уникальные ключи и соли на сервисе 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.

  1. Установите пакеты:
sudo dnf install mod_ssl mod_http2
  1. Для тестовой локальной среды можно создать самоподписанный сертификат для 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

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

Если вывод содержит “ssl”, модуль активен.

Проверка mod_ssl


Получение SSL от Let’s Encrypt (certbot, webroot)

Для публичного домена используйте certbot с вебрут-плагином.

  1. Установите certbot:
sudo dnf install certbot
  1. Создайте директорию для валидации и назначьте права группе apache:
sudo mkdir -p /var/lib/letsencrypt/.well-known
sudo chgrp apache /var/lib/letsencrypt
sudo chmod g+s /var/lib/letsencrypt
  1. Добавьте конфигурацию в 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

Сохраните и закройте файл.

  1. Проверьте конфигурацию Apache и перезапустите сервис:
apachectl configtest
sudo systemctl restart httpd
  1. Запустите 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/.

Настройка certbot webroot


Настройка виртуального хоста Apache для WordPress

Создайте конфигурацию виртуального хоста, которая перенаправляет HTTP на HTTPS и указывает корень сайта /var/www/wordpress.

  1. Откройте файл конфигурации:
cd /etc/httpd/conf.d/
nano wordpress.conf
  1. Вставьте и отредактируйте (замените 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]
  

Сохраните файл.

  1. Проверьте конфигурацию и перезапустите Apache:
sudo apachectl configtest
sudo systemctl restart httpd

Если ошибок нет, сайт должен быть доступен по HTTPS.

Настройка виртуального хоста Apache


Установка WordPress через веб-интерфейс

  1. Откройте браузер и перейдите на http://domain.com — вас перенаправит на HTTPS.

Вы увидите экран выбора языка.

Выбор языка при установке WordPress

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

Установка WordPress

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

Установка WordPress завершена

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

Страница входа в WordPress

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

Индекс WordPress по умолчанию

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

Панель администратора WordPress

Установка плагина WordPress


Базовые меры безопасности и жесткие настройки

Важно: после установки выполните дополнительные меры безопасности.

  • Обновления: поддерживайте систему, 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

Тесты приёмки (Критерии приёмки)

  1. Сайт доступен по HTTPS на domain.com и корректно редиректит с HTTP на HTTPS.
  2. Страница установки WordPress отображается и позволяет завершить установку.
  3. Админ-панель доступна, а вход выполняется с созданными учётными данными.
  4. Веб-сервер обслуживает статические файлы (CSS/JS) и страницы без ошибок 500/403.
  5. Доступ к базе данных успешен: WordPress может создавать таблицы и записывать данные.

Ролевые чек-листы

Администратор сервера:

  • Обновить систему и установить EPEL/Remi
  • Установить httpd, PHP, MariaDB
  • Настроить виртуальный хост и SSL
  • Настроить бэкапы и мониторинг

Владелец сайта / контент-менеджер:

  • Создать учётную запись администратора WordPress
  • Установить тему и базовые плагины (SEO, бэкап, безопасность)
  • Настроить резервное копирование контента

Разработчик:

  • Проверить разрешения файлов и совместимость PHP-расширений
  • Настроить окружение разработки (локальное) и CI/CD при наличии
  • Выполнять тестирование производительности и нагрузки

Альтернативные подходы (когда этот план не подходит)

  • LEMP (Nginx + PHP-FPM): лучше при высоких нагрузках и обратном проксировании.
  • Docker / контейнеризация: удобнее для изоляции версий PHP и быстрого деплоя.
  • Управляемый хостинг WordPress (WP Engine, Kinsta): избавляет от администрирования сервера.
  • Использование PostgreSQL (через плагин) — нетрадиционно, требует дополнительных настроек.

Когда этот подход не подходит: если у вас высокая нагрузка, распределённая архитектура или желание минимизировать операционную нагрузку — рассмотрите управляемые решения или контейнеризацию.


Быстрый чек-лист на одну страницу (SOP)

  1. Обновить систему: sudo dnf update -y
  2. Установить httpd и запустить сервис
  3. Добавить EPEL/Remi, включить php:remi-7.4
  4. Установить PHP и расширения
  5. Установить mariadb, mysql_secure_installation
  6. Создать БД и пользователя
  7. Скачать WordPress, chown apache
  8. Настроить wp-config.php и ключи
  9. Установить mod_ssl, certbot и настроить well-known
  10. Настроить виртуальный хост, получить сертификат
  11. Завершить установку через веб и настроить плагины

Небольшая методология принятия решений (мини-метод)

  1. Оцените требования: трафик, SLA, команда поддержки.
  2. Выберите стек на основе требований: LAMP для простоты, LEMP/контейнеры для масштабирования.
  3. Настройте базовую безопасность и мониторинг до публикации.
  4. Разворачивайте бэкапы и проверяйте восстановление регулярно.

Краткая галерея исключений (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)

Если необходимо откатить установку:

  1. Остановите httpd: sudo systemctl stop httpd
  2. Восстановите файлы WordPress из бэкапа (замените /var/www/wordpress)
  3. Восстановите базу данных из дампа: mysql -u root -p wordpress_db < backup.sql
  4. Перезапустите сервисы: 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). Регулярно тестируйте восстановление из резервных копий.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро