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

Установка WordPress с Apache2, MariaDB и PHP 7 на Arch Linux

• 7 min read • DevOps • Обновлено 27 Nov 2025
Установка WordPress на Arch Linux
Установка WordPress на 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 ГБ ОЗУ рекомендовано.
  • Базовые навыки работы в терминале.

Краткий план работ

  1. Обновить систему.
  2. Установить и настроить Apache (prefork), создать виртуальный хост.
  3. Установить MariaDB и создать базу/пользователя.
  4. Установить PHP 7 и модуль для Apache.
  5. Развернуть файлы WordPress, настроить права и выполнить веб-инсталляцию.
  6. Опционально: включить пермалинки и модуль 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.conf
KeepAlive Off

Откройте основной конфиг httpd.conf и закомментируйте строку include conf/extra/httpd-vhosts.conf, чтобы не мешала наша механика виртуальных хостов:

sudo nano /etc/httpd/conf/httpd.conf
      #Include conf/extra/httpd-vhosts.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.d
sudo 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.service
sudo 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/php
sudo 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
...

Disable Apache event module.

Включите модуль PHP 7 для Apache, добавив:

LoadModule php7_module modules/libphp7.so
Include conf/extra/php7_module.conf

Enable the Apache PHP module.

Добавьте парсинг PHP в секции mime_module:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Add PHP parsing.

Сделайте index.php приоритетным в DirectoryIndex, поместив его перед index.html:


    DirectoryIndex index.php index.html

Change the Directory Index.

Перезапустите 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.

WordPress installation starts.

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

Select your language in Wordpress.

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

Enter WordPress deatils like site name, username and password.

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

Успешный экран входа в 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/.htaccess
sudo chown -v http:http /srv/http/wordpress/.htaccess

В админке WordPress перейдите Настройки -> Постоянные ссылки и сохраните выбранный формат.

Постоянные ссылки в WordPress

Проверка и тестирование

Критерии приёмки

  • Страница сайта открывается по http(s) без ошибок 500.
  • В админке WordPress можно войти с учётной записью администратора.
  • Публикация новой записи работает и доступна по корректной ссылке.
  • Логи Apache и PHP не содержат критических ошибок.

Минимальные тесты (acceptance):

  1. Откройте / и /wp-admin/ — убедитесь, что ответы 200.
  2. Создайте запись и проверьте внешний вид на фронтенде.
  3. Проверьте загрузку изображения через медиа‑менеджер.
  4. Проверьте работу плагина кеширования (если установлен).

Рекомендации по безопасности и эксплуатации

  • Настройте регулярное резервное копирование базы и файлов (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 проверьте совместимость активных плагинов и темы.

Короткая стратегия отката

  1. Остановите Apache: sudo systemctl stop httpd
  2. Восстановите файлы из последнего бэкапа rsync.
  3. Импортируйте SQL‑дамп: mysql -u root -p dbwordpress < dump.sql
  4. Запустите Apache: sudo systemctl start httpd

Краткое резюме

Вы только что прошли процесс ручной установки WordPress на Arch Linux с Apache2, MariaDB и PHP 7. Мы настроили сервер, создали базу данных и пользователя, развернули файлы WordPress, задали права, включили пермалинки и привели рекомендации по безопасности и резервному копированию.

Если нужно, ниже — быстрые ресурсы и чек‑лист для развертывания в продакшн.

Важно:

  • Регулярно обновляйте систему и плагины.
  • Делайте резервные копии и тестируйте восстановление.
  • По возможности используйте HTTPS и минимальные привилегии для БД.

Дополнительные ресурсы

Конец статьи.

Поделиться: 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 быстро