Установка WordPress с Apache2, MariaDB и PHP 7 на Arch Linux
Кратко: шаг за шагом настраиваем Apache2 (mpm_prefork), MariaDB и PHP 7 на Arch Linux и устанавливаем WordPress в /srv/http/wordpress. В статье — все команды, советы по правам и безопасности, проверочные чек-листы и рекомендации по устранению проблем.
Важно: предполагается, что у вас есть доступ root или sudo и базовая работающая сеть. Перед началом обновите систему.
Введение
WordPress — популярная система управления контентом (CMS), ориентированная на блогинг и публикации. Система работает поверх стека LAMP/LEMP и использует плагины и темы для расширения функциональности.
Определение: LAMP — набор Linux + Apache + MariaDB/MySQL + PHP. MariaDB — форк MySQL, совместим по протоколу.
Цель статьи: полностью вручную установить и настроить WordPress с Apache2, MariaDB и PHP 7 на Arch Linux. Инструкции подходят для одиночного сервера и малого VPS с ~1 ГБ оперативной памяти.
Что вам нужно перед началом
- Рабочая инсталляция Arch Linux с правами sudo.
- Домен (опционально) или IP-адрес сервера.
- Минимум 1 ГБ ОЗУ рекомендовано.
- Базовые навыки работы в терминале.
Краткий план работ
- Обновить систему.
- Установить и настроить Apache (prefork), создать виртуальный хост.
- Установить MariaDB и создать базу/пользователя.
- Установить PHP 7 и модуль для Apache.
- Развернуть файлы WordPress, настроить права и выполнить веб-инсталляцию.
- Опционально: включить пермалинки и модуль rewrite.
Установка и настройка Apache, MariaDB и PHP для WordPress
Перед началом убедитесь, что база пакетов актуальна:
sudo pacman -SyuНастройка Apache
Установите Apache 2:
sudo pacman -Sy apacheМы используем MPM prefork, потому что модуль libphp7.so работает в режиме prefork. Откройте файл конфигурации mpm_prefork и отредактируйте параметры под сервер с ~1 ГБ ОЗУ:
sudo nano /etc/apache2/mods-available/mpm_prefork.confПример оптимизированных значений:
StartServers 2
MinSpareServers 6
MaxSpareServers 12
MaxRequestWorkers 30
MaxRequestsPerChild 3000
Пояснение: эти параметры ограничивают одновременно обрабатываемые запросы и уменьшают потребление памяти.
Затем отключите KeepAlive для снижения числа одновременно открытых соединений (рекомендуется для низкопамятных VPS):
sudo nano /etc/httpd/conf/extra/httpd-default.confKeepAlive OffОткройте основной конфиг httpd.conf и закомментируйте строку include conf/extra/httpd-vhosts.conf, чтобы не мешала наша механика виртуальных хостов:
sudo nano /etc/httpd/conf/httpd.conf #Include conf/extra/httpd-vhosts.conf
В том же файле добавьте в конец строку IncludeOptional conf/sites.d/*.conf, чтобы поддерживать дополнительные виртуальные хосты через sites.d:
IncludeOptional conf/sites.d/*.confСоздайте каталог для конфигов виртуальных хостов и папку для сайта:
sudo mkdir -v /etc/httpd/conf/sites.dsudo mkdir /srv/http/wordpressСоздайте файл виртуального хоста, например wordpress.conf:
sudo nano /etc/httpd/conf/sites.d/wordpress.confВставьте следующее (замените ServerName на ваш домен или IP):
DocumentRoot /srv/http/wordpress
ServerName wparchserver.tld
ServerAdmin [email protected]
ErrorLog /var/log/httpd/wparchserver-error_log
TransferLog /var/log/httpd/wparchserver-access_log
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order deny,allow
Allow from all
Require all granted
Перезапустите Apache, чтобы применить изменения:
sudo systemctl restart httpdНастройка MariaDB
Установите MariaDB и клиентские библиотеки:
sudo pacman -S mariadb mariadb-clients libmariadbclientИнициализируйте директорию данных MariaDB:
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysqlЗапустите службу и включите автозапуск:
sudo systemctl start mysqld.servicesudo systemctl enable mysqld.serviceЗапустите утилиту безопасной настройки:
sudo mysql_secure_installationОна предложит задать root‑пароль, удалить анонимных пользователей, запретить удалённый root‑доступ и удалить тестовую базу. Для базовой установки можно принять значения по умолчанию и придумать надёжный пароль.
Создание базы данных и пользователя для WordPress
Войдите в MariaDB под root:
mysql -u root -pСоздайте базу данных (пример: dbwordpress):
CREATE DATABASE dbwordpress;Создайте пользователя и назначьте пароль (измените пароль на свой):
CREATE USER wpuser@localhost IDENTIFIED BY 'wpP455w0rd';Выдайте все права для этой базы пользователю:
GRANT ALL PRIVILEGES ON dbwordpress.* TO wpuser@localhost ;Обновите таблицы привилегий и выйдите:
FLUSH PRIVILEGES;exit;Совет по безопасности: используйте уникальные пароли и храните их в менеджере паролей.
Установка PHP 7 и модулей
Установите PHP 7 и модули для Apache и обработки изображений:
sudo pacman -Sy php php-apache php-gdОткройте /etc/php/php.ini и настройте сообщения об ошибках, логирование и время обработки по входящим данным. Приведённая ниже конфигурация — хорошая отправная точка для 1 ГБ ОЗУ:
sudo nano /etc/php/php.iniДобавьте/измените:
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
log_errors = On
error_log = /var/log/php/error.log
max_input_time = 30В этом же файле включите расширения mysqli и gd, раскомментировав строки:
...
extension=mysqli.so
extension=gd.so
...Создайте директорию для логов PHP и передайте её в собственность пользователя Apache (http):
sudo mkdir /var/log/phpsudo chown http /var/log/phpПо умолчанию Apache может загружать mpm_event_module, который не совместим с mod_php в режиме prefork. Откройте httpd.conf и закомментируйте модуль mpm_event, включите mpm_prefork:
sudo nano /etc/httpd/conf/httpd.conf...
#LoadModule mpm_event_module modules/mod_mpm_event.so
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
...
Включите модуль PHP 7 для Apache, добавив:
LoadModule php7_module modules/libphp7.so
Include conf/extra/php7_module.conf
Добавьте парсинг PHP в секции mime_module:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Сделайте index.php приоритетным в DirectoryIndex, поместив его перед index.html:
DirectoryIndex index.php index.html

Перезапустите Apache после всех изменений:
sudo systemctl restart httpdРазвёртывание WordPress
Установите wget и rsync, если их ещё нет:
sudo pacman -Sy wget rsyncСкачайте официальную сборку WordPress и распакуйте её (примерные команды):
wget https://ru.wordpress.org/latest-ru_RU.tar.gz -O latest.tar.gz
# распаковка
tar -zxvf latest.tar.gzСкопируйте файлы в /srv/http/wordpress/:
sudo rsync -avP wordpress/ /srv/http/wordpress/Создайте конфигурационный файл wp-config.php на основе шаблона и впишите параметры базы данных:
sudo cp /srv/http/wordpress/wp-config-sample.php /srv/http/wordpress/wp-config.phpОтредактируйте wp-config.php и укажите DB_NAME, DB_USER и DB_PASSWORD:
/** The name of the database for WordPress */
define('DB_NAME', 'dbwordpress');
/** MySQL database username */
define('DB_USER', 'wpuser');
/** MySQL database password */
define('DB_PASSWORD', 'wpP455w0rd');Задайте владельца файлов и корректные права. В Arch Apache использует пользователя http. Назначаем http и группу http владельцами:
sudo chown -Rv http:http /srv/http/wordpress/Разрешения для директорий — 775 (внутри примера ниже используем 775 для директорий и 644 для файлов):
sudo find /srv/http/wordpress/ -type d -exec chmod -v 775 {} \;Файлы:
sudo find /srv/http/wordpress/ -type f -exec chmod -v 644 {} \;Пояснение: 775 дает владельцу и группе право на запись. В окружениях с общим доступом к файловой системе может потребоваться иная модель прав.
Теперь завершите установку через веб-интерфейс: откройте браузер и перейдите на ваш домен или IP. Начнётся мастер установки WordPress.

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

Заполните данные сайта (название, учётная запись администратора и пароль). Нажмите «Установить».

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

Опционально: включение пермалинков (человеко‑читаемые URL)
Чтобы включить пермалинки, активируйте модуль rewrite в Apache. Откройте httpd.conf и раскомментируйте:
LoadModule rewrite_module modules/mod_rewrite.soПерезапустите Apache:
sudo systemctl restart httpdСоздайте файл .htaccess в корне WordPress и назначьте владельца http:
sudo touch /srv/http/wordpress/.htaccesssudo chown -v http:http /srv/http/wordpress/.htaccessВ админке WordPress перейдите Настройки -> Постоянные ссылки и сохраните выбранный формат.

Проверка и тестирование
Критерии приёмки
- Страница сайта открывается по http(s) без ошибок 500.
- В админке WordPress можно войти с учётной записью администратора.
- Публикация новой записи работает и доступна по корректной ссылке.
- Логи Apache и PHP не содержат критических ошибок.
Минимальные тесты (acceptance):
- Откройте / и /wp-admin/ — убедитесь, что ответы 200.
- Создайте запись и проверьте внешний вид на фронтенде.
- Проверьте загрузку изображения через медиа‑менеджер.
- Проверьте работу плагина кеширования (если установлен).
Рекомендации по безопасности и эксплуатации
- Настройте регулярное резервное копирование базы и файлов (rsync + дамп mysqldump).
- Закройте доступ к phpMyAdmin (если установлен) и к /wp-admin через защиту по IP, если это возможно.
- Используйте HTTPS (Let’s Encrypt) — установка certbot и автоматическое продление.
- Регулярно обновляйте пакеты: sudo pacman -Syu.
- Ограничьте доступ к /wp-config.php через директивы Apache или .htaccess.
Пример правила для защиты wp-config.php в Apache:
Require all denied
Резервное копирование и восстановление
Бэкап базы командой:
mysqldump -u root -p dbwordpress > dbwordpress-$(date +%F).sqlБэкап файлов сайта:
rsync -a /srv/http/wordpress/ /path/to/backup/wordpress/Восстановление: распаковать файлы в /srv/http/wordpress и импортировать дамп через mysql.
Устранение распространённых проблем
Ошибка 500 сразу после установки
- Проверьте /var/log/httpd/* и /var/log/php/error.log.
- Убедитесь, что модуль PHP загружен и Apache работает в prefork.
- Проверьте права на файлы и владельца (http:http).
Проблемы с загрузкой изображений
- Проверьте права каталога wp-content/uploads — должна быть запись для http.
- Проверьте настройки max_input_time и upload_max_filesize в php.ini.
Проблемы с пермалинками (404)
- Убедитесь, что модуль rewrite активирован и .htaccess имеет корректный набор правил.
- Проверьте AllowOverride All для корневого каталога в виртуальном хосте.
Когда этот подход не подходит
- На очень мощных серверах лучше использовать PHP-FPM + Nginx (LEMP) для лучшей масштабируемости.
- Для мультисайтовых инсталляций WordPress может потребоваться иное разделение прав и более строгие контроли безопасности.
Альтернативный подход
Если вы хотите более лёгкую и масштабируемую конфигурацию:
- Используйте Nginx + PHP-FPM + MariaDB.
- Рассмотрите контейнеризацию (Docker, Podman) для изоляции окружений.
Шаблоны и чек-листы
Чек‑лист до запуска
- Обновлена система pacman -Syu
- Установлен Apache, MariaDB, PHP
- Инициализирована база данных MariaDB
- Создана БД и пользователь для WP
- Правильно сконфигурирован виртуальный хост
- Назначены права и владелец файлов
- Завершена веб-установка WordPress
- Настроены бэкапы и HTTPS
Роль‑based задачи
- Системный админ: установка пакетов, конфиг Apache, права файлов, автозапуск служб.
- DBA/DevOps: инициализация MariaDB, бэкапы, мониторинг базы.
- Разработчик: проверка плагинов и темы, отладка PHP ошибок.
Совместимость и миграция
- Если вы мигрируете с другой дистрибуции, проверьте пути модулей Apache и названия пакетов PHP.
- При переходе на PHP 8 проверьте совместимость активных плагинов и темы.
Короткая стратегия отката
- Остановите Apache: sudo systemctl stop httpd
- Восстановите файлы из последнего бэкапа rsync.
- Импортируйте SQL‑дамп: mysql -u root -p dbwordpress < dump.sql
- Запустите Apache: sudo systemctl start httpd
Краткое резюме
Вы только что прошли процесс ручной установки WordPress на Arch Linux с Apache2, MariaDB и PHP 7. Мы настроили сервер, создали базу данных и пользователя, развернули файлы WordPress, задали права, включили пермалинки и привели рекомендации по безопасности и резервному копированию.
Если нужно, ниже — быстрые ресурсы и чек‑лист для развертывания в продакшн.
Важно:
- Регулярно обновляйте систему и плагины.
- Делайте резервные копии и тестируйте восстановление.
- По возможности используйте HTTPS и минимальные привилегии для БД.
Дополнительные ресурсы
- Официальная документация WordPress: https://wordpress.org
- Документация Arch Linux по Apache и PHP: https://wiki.archlinux.org
Конец статьи.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента