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

Установка Textpattern на CentOS 8

• 5 min read • Инструкции • Обновлено 25 Nov 2025
Установка Textpattern на CentOS 8
Установка Textpattern на CentOS 8

Textpattern — лёгкая и настраиваемая CMS на PHP. В этом пошаговом руководстве показано, как установить Textpattern на чистую CentOS 8: обновление системы, установка Apache/PHP/MariaDB, настройка SELinux, получение SSL через certbot и финальная веб-конфигурация CMS. Включены рекомендации по безопасности, отладке и контрольные списки ролей.

Оглавление

  • Требования
  • Шаг 1: Установка необходимого ПО
  • Шаг 2: Установка Textpattern
  • Шаг 3: Настройка базы данных
  • Шаг 4: Конфигурация Apache и SSL
  • Шаг 5: Веб‑настройка Textpattern
  • Рекомендации по безопасности и SELinux
  • Отладка и частые ошибки
  • Контрольные списки по ролям
  • Когда этот подход не подходит
  • Краткое резюме

Требования

  • Чистая система CentOS 8 с доступом к root или пользователю с sudo.
  • Зарегистрированное доменное имя, указывающее на сервер.

Если вы вошли как sudo‑пользователь, переключитесь на root для удобства:

sudo su -

Установите переменную окружения $VISUAL для удобного редактирования файлов (пример — nano):

echo "export VISUAL=nano" >> ~/.bash_profile
. ~/.bash_profile

Примечание: переменная $VISUAL используется в шагах, где мы открываем системные конфигурационные файлы.

Шаг 1: Установка необходимого ПО

  1. Обновите систему:
dnf update -y
  1. Установите пакеты: wget, tar, Apache, MariaDB, PHP и нужные расширения, а также утилиты для управления SELinux:
dnf install -y wget tar httpd mariadb-server php php-xml php-mysqli php-json php-mbstring php-zip php-zlib policycoreutils-python-utils
  1. Включите и запустите службы Apache и MariaDB:
systemctl enable --now httpd.service mariadb.service
  1. certbot не входит в стандартные репозитории CentOS 8, поэтому используем certbot-auto:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Установите certbot (появится приглашение установить зависимости через dnf; введите “y”):

certbot-auto --install-only

Перезапустите Apache:

systemctl restart httpd.service

Важно: certbot-auto иногда устаревает — если команда не работает, используйте официальный репозиторий EPEL или snapd (альтернативный подход описан в разделе «Альтернативы»).

Шаг 2: Установка Textpattern

  1. Скопируйте ссылку на последний релиз (.tar.gz) с Releases на GitHub и загрузите её на сервер, например:
wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz
  1. Распакуйте архив и переместите содержимое в корневую директорию веб‑сервера:
tar -xzf textpattern*.tar.gz
rm -f textpattern*.tar.gz
mv textpattern* /var/www/html/textpattern
  1. Дайте права владельца Apache для корректной работы (запись в некоторые директории):
chown -R apache:apache /var/www/html/textpattern
  1. Настройте контексты SELinux для директорий, в которых нужна запись:
semanage fcontext -a -t httpd_sys_content_t "/var/www/html/textpattern(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/themes(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/images(/.*)?"
semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/textpattern/files(/.*)?"
restorecon -Rv /var/www/html

Совет: если semanage отсутствует, установите пакет policycoreutils-python-utils (мы делали это ранее).

Шаг 3: Настройка базы данных

  1. Запустите скрипт простого усиления безопасности MariaDB:
mysql_secure_installation

Следуйте приглашениям. Для root задайте сложный пароль и примените рекомендуемые настройки (удаление анонимных пользователей, запрет удалённого входа root, удаление тестовой базы и перезагрузка привилегий).

  1. Войдите в консоль MariaDB и создайте базу данных и пользователя для Textpattern. Замените textpattern_user_password на надёжный пароль:
mysql -u root -p

MariaDB [(none)]> CREATE DATABASE textpattern_db;
MariaDB [(none)]> CREATE USER textpattern_user IDENTIFIED BY 'textpattern_user_password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON textpattern_db.* TO textpattern_user;
MariaDB [(none)]> \q

Краткое определение: привилегии GRANT дают пользователю права на работу с базой (создание/чтение/запись таблиц), необходимых для CMS.

Шаг 4: Конфигурация Apache и SSL

  1. Откройте брандмауэр для HTTP/HTTPS трафика:
firewall-cmd --add-service http --add-service https --permanent
firewall-cmd --reload
  1. Создайте виртуальный хост для сайта. Откройте файл конфигурации:
$VISUAL /etc/httpd/conf.d/textpattern.conf

Вставьте (замените your_domain на ваш домен):



DocumentRoot "/var/www/html/textpattern"
ServerName your_domain


  AllowOverride All


  1. Перезагрузите Apache, чтобы применить конфигурацию:
systemctl reload httpd.service
  1. Получите SSL‑сертификат и настройте перенаправление HTTPS командой certbot (замените your_domain и email):
certbot-auto --apache -d "your_domain" -m "[email protected]" --redirect

Эта команда:

  • Получит сертификат LetsEncrypt для вашего домена.
  • Создаст конфигурацию Apache с SSL (файл textpattern-le-ssl.conf).
  • Обновит конфигурацию, чтобы перенаправлять HTTP на HTTPS.

Важно: проверяйте, что DNS для your_domain уже указывает на IP сервера перед запуском certbot.

Шаг 5: Веб‑настройка Textpattern

  1. Откройте в браузере https://your_domain/textpattern/setup/ и выберите язык.
  2. Введите данные базы данных (MySQL user name, password, server — обычно localhost, database, table prefix — можно оставить пустым).
  3. Инсталлятор проверит данные и предложит сгенерированный конфигурационный фрагмент. Создайте файл конфигурации и вставьте данные:
$VISUAL /var/www/html/textpattern/textpattern/config.php

Вставьте сгенерированный код, сохраните файл и вернитесь в инсталлятор.

  1. На следующем шаге задайте учётную запись администратора и основные настройки сайта.
  2. После успешной настройки удалите каталог setup:
rm -rf /var/www/html/textpattern/textpattern/setup

Сайт готов к использованию.

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

  • Используйте сильные пароли для пользовательских и административных учётных записей.
  • Регулярно обновляйте систему и пакеты (dnf update).
  • Делайте резервные копии /var/www/html/textpattern и дампы базы данных (mysqldump).
  • Ограничьте доступ к SSH (ключи вместо пароля, изменение порта, fail2ban).
  • Проверяйте права на файлы: минимальные права для веб‑контента и только там, где нужна запись.
  • Настройте автоматическое продление сертификатов LetsEncrypt (certbot-auto обычно добавляет крон‑задачу; проверьте: systemctl list-timers или crontab).

Краткая подсказка по резервному копированию:

  • Файлы: rsync или tar на удалённый бэкап.
  • База: mysqldump textpattern_db > backup.sql

Отладка и частые ошибки

  1. Ошибка 500 после установки:
    • Проверьте логи Apache: /var/log/httpd/error_log
    • Проверьте права и контексты SELinux: restorecon -Rv /var/www/html
  2. Проблемы с подключением к базе:
    • Убедитесь, что пользователь и пароль верны и привилегии назначены.
    • В случае локальной установки используйте host = localhost.
  3. certbot не может проверить домен:
    • Проверьте DNS (A/AAAA записи).
    • Убедитесь, что порт 80 открыт и не блокируется прокси.
  4. SELinux блокирует запись:
    • Для диагностики включите audit2why и audit2allow или временно переключите SELinux в permissive для теста: setenforce 0 (не рекомендуется в проде).

Контрольные списки по ролям

Системный администратор:

  • Установить системные обновления.
  • Настроить брандмауэр и SSH.
  • Создать резервные копии и скрипты их тестирования.

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

  • Настроить CI/CD для деплоя тем и плагинов.
  • Проверить права доступа и автоматическое обновление сертификатов.
  • Настроить мониторинг доступности веб‑сайта и метрики логов.

Контент‑менеджер:

  • Настроить учётную запись администратора в CMS.
  • Проверить работу тем и загрузку изображений.
  • Ознакомиться с политикой резервного копирования и процедурой восстановления.

Когда этот подход не подходит

  • Если нужна многосерверная архитектура с балансировкой нагрузки — этот инструкция предназначена для одиночного сервера.
  • Для высоконагруженных сайтов стоит рассмотреть выделение отдельной базы данных, CDN и кеширование (Varnish, Redis).
  • На системах с ограниченными репозиториями certbot-auto может отсутствовать — лучше использовать snapd или официальные пакеты.

Альтернативные варианты

  • SSL через snapd: установить certbot через snap (если certbot-auto устарел).
  • Использовать nginx вместо Apache — в этом случае конфигурация виртуального хоста и SELinux меток будет отличаться.
  • Docker-контейнеры: размещение Textpattern в контейнерах для упрощения миграций и масштабирования.

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

Установка Textpattern на CentOS 8 включает обновление системы, установку Apache/PHP/MariaDB, настройку SELinux, получение SSL через certbot и завершение конфигурации через веб‑инсталлятор. Следуйте контрольным спискам по ролям, делайте регулярные бэкапы и проверяйте логи при возникновении ошибок.

Важно

  • Всегда храните пароли вне публичных репозиториев и используйте безопасные хранилища секретов.

Полезные ссылки

  • Документация certbot и управление сертификатами.

Конец руководства.

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