Установка Textpattern на Debian 10: пошаговый гид

Textpattern — свободная CMS на PHP. Она лёгкая, быстрая и легко расширяется темами и плагинами. В этом руководстве мы установим Textpattern на свежий сервер с Debian 10.
Для кого это руководство
Коротко: для системных администраторов и разработчиков, которым нужно быстро развернуть лёгкую CMS с HTTPS. Требуются базовые навыки командной строки, работа с apt, доступ root или sudo и доменное имя.
Краткое определение: Textpattern — CMS с минимальным набором зависимостей, ориентированная на простую публикацию и кастомизацию через темы.
Требования
- Свежая система Debian 10 с доступом к root или пользователю с sudo.
- Зарегистрированное доменное имя, указывающее на сервер.
- Рекомендуется резервная копия перед изменениями на production.
Если вы вошли под sudo-пользователем, переключитесь на root:
sudo su -
Установите переменную окружения $VISUAL на предпочитаемый текстовый редактор. Пример для nano:
echo "export VISUAL=nano" >> ~/.profile
. ~/.profileШаг 1: Установка необходимого ПО
Обновите кэш пакетов:
apt update
Установите Nginx, PHP-FPM, расширения PHP, MariaDB и certbot:
apt install -y nginx mariadb-server php-fpm php-xml php-mysql php-json php-mbstring php-zip certbot
Включите и запустите службы Nginx и MariaDB:
systemctl enable --now nginx.service mariadb.serviceImportant: По умолчанию Debian 10 поставляется с PHP 7.3. Если вы используете другой репозиторий и другую версию PHP, учтите изменения в имени сокета PHP-FPM (см. раздел о совместимости).
Шаг 2: Загрузка Textpattern
Скопируйте ссылку на .tar.gz релиз Textpattern с их страницы Releases на GitHub и загрузите на сервер с помощью wget. Пример для версии 4.7.3:
wget https://github.com/textpattern/textpattern/releases/download/4.7.3/textpattern-4.7.3.tar.gz
Распакуйте архив и переместите содержимое в директорию веб-рута:
tar -xzf textpattern*.tar.gz
rm textpattern*.tar.gz
mv textpattern* /var/www/html/textpatternСовет: Проверьте права и владельца после перемещения, особенно если вы работаете в окружении с несколькими пользователями.
Шаг 3: Настройка базы данных
Для начала выполните mysql_secure_installation, чтобы выполнить базовую защиту MariaDB:
mysql_secure_installation
Ответьте на вопросы скрипта и задайте надежный пароль для root. Пример взаимодействия:
Enter current password for root (enter for none):
Set root password? [Y/n] y
New password: your_password
Re-enter new password: your_password
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y
Затем создайте базу данных и пользователя для Textpattern. Войдите в MySQL-шелл:
mysql -u root -p
Введите пароль root, затем выполните команды (замените textpattern_user_password на сложный пароль):
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)]> \qSecurity note: Для production избегайте использования root для приложений. Давайте минимальные привилегии, необходимые для работы CMS.
Шаг 4: Конфигурация Nginx и HTTPS
Сначала получите SSL-сертификат от Let’s Encrypt, используя certbot с веб-рутом:
certbot certonly --webroot --webroot-path /var/www/html -d "your_domain" -m "[email protected]"
При корректной настройке DNS certbot получит сертификат, который мы применим к конфигурации Nginx.
Отключите конфигурацию по умолчанию:
rm /etc/nginx/sites-enabled/default
Откройте новый файл конфигурации:
$VISUAL /etc/nginx/sites-available/textpattern
Вставьте конфигурацию, заменив your_domain на ваш домен:
server {
listen 80;
#replace your_domain below
server_name your_domain;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
#replace your_domain below
server_name your_domain;
root /var/www/html/textpattern;
index index.php;
ssl on;
#replace your_domain below
ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
location ~* \.php$ {
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
Примечание: Путь к сокету fastcgi_pass может отличаться, если у вас другая версия PHP (например, php7.4-fpm.sock или php8.0-fpm.sock). Проверьте /run/php/ или systemd unit для точного имени.
Создайте символическую ссылку в sites-enabled:
ln -s /etc/nginx/sites-available/textpattern /etc/nginx/sites-enabled/
Проверьте синтаксис конфигурации и перезагрузите Nginx:
nginx -t
systemctl reload nginx.serviceImportant: Если certbot выдаёт ошибки валидации, проверьте DNS записи и временно разрешите HTTP доступ к /.well-known/acme-challenge.
Шаг 5: Веб-установщик Textpattern и финальные шаги
Перейдите в браузере по адресу https://your_domain/textpattern/setup/ чтобы запустить веб-установщик. После выбора языка введите данные базы данных:
- MySQL user name: textpattern_user
- MySQL password: пароль, который вы задали для textpattern_user
- MySQL server: localhost
- MySQL database: textpattern_db
- Table prefix: оставьте пустым
Инсталлятор проверит доступ к базе данных и сгенерирует конфигурацию. Затем создайте файл конфигурации на сервере:
$VISUAL /var/www/html/textpattern/textpattern/config.php
Вставьте сгенерированный конфиг, сохраните и выйдите. Продолжите установку через веб-интерфейс: создайте администратора и настройте сайт.
После успешной установки удалите каталог setup:
rm -rf /var/www/html/textpattern/textpattern/setup
Дайте системному пользователю Nginx права на запись в нужные директории:
chown -R www-data /var/www/html/textpattern/{files,images,themes}
Админка Textpattern будет доступна по адресу https://your_domain/textpattern
Рекомендации по безопасности и обслуживанию
- Настройте автоматическое продление сертификатов Let’s Encrypt: certbot обычно добавляет systemd таймер. Проверьте работу командой sudo certbot renew –dry-run.
- Включите firewall (ufw) и разрешите только порты 22, 80, 443 по необходимости.
- Рассмотрите установку fail2ban для защиты SSH и Nginx.
- Регулярно обновляйте систему: apt update && apt upgrade.
Отладка и типичные ошибки
502 Bad Gateway после настройки Nginx
- Проверьте, запущен ли PHP-FPM: systemctl status php7.3-fpm (или вашу версию).
- Убедитесь, что fastcgi_pass в конфигурации указывает на существующий сокет.
Ошибки доступа к базе данных
- Проверьте правильность логина/пароля и привилегий пользователя в MariaDB.
- Проверьте, что MySQL слушает локально и разрешает подключение от localhost.
certbot не может получить сертификат
- Убедитесь, что ваш домен указывает на IP сервера.
- Временно разрешите HTTP и проверьте /.well-known/acme-challenge ручным запросом.
Альтернативные варианты и совместимость
- Веб-сервер: вместо Nginx можно использовать Apache с mod_php или PHP-FPM. Apache упростит .htaccess-правила, но Nginx обычно работает быстрее.
- БД: Textpattern поддерживает MySQL/MariaDB. Для внешних баз учтите доступ и брандмауэр.
- PHP: Textpattern корректно работает на PHP 7.3+, но убедитесь в наличии нужных расширений (xml, mysql, mbstring, zip).
Совместимость: если вы планируете обновление Debian или PHP, проверьте изменение пути сокета PHP-FPM и синтаксиса конфигураций.
Чек-листы по ролям
Системный администратор
- Установить и настроить Nginx, PHP-FPM, MariaDB
- Получить и проверить SSL сертификат
- Настроить firewall и fail2ban
Разработчик / интегратор
- Настроить конфигурацию Nginx для корректной обработки PHP
- Проверить права на директории files, images, themes
- Подготовить резервную стратегию и план обновлений
Контент-менеджер
- Создать учётную запись администратора в веб-установщике
- Настроить основные параметры сайта и тему
Мини-методология развертывания
- Подготовьте сервер и DNS. 2. Установите базовый стек (Nginx, PHP-FPM, MariaDB). 3. Загрузите Textpattern и создайте БД. 4. Настройте Nginx и SSL. 5. Завершите установку через веб-интерфейс. 6. Проверьте безопасность и резервирование.
Примеры тестов приёмки
- Сайт доступен по HTTPS и редиректит с HTTP.
- Админка доступна и позволяет залогиниться после создания учетной записи.
- Права на записи в папках корректны (загрузка изображений, установка тем).
- SSL-сертификат валиден и certbot может выполнить dry-run renewal.
Советы по миграции и обновлению
- При переходе на другую версию PHP сначала установите новую версию, проверьте сокеты и конфиги PHP-FPM, затем переключите fastcgi_pass.
- Перед обновлением Textpattern сделайте бэкап базы и файлов: дамп MySQL и архив каталога /var/www/html/textpattern.
Краткое резюме
Textpattern — компактная CMS, которую легко развернуть на Debian 10. Процесс включает подготовку сервера, установку стека, создание базы данных, получение SSL и завершение установки через веб-интерфейс. Обратите внимание на права доступа и версию PHP при настройке fastcgi.
Важно: После установки настройте автоматическое обновление сертификатов и регулярные бэкапы.
Сообщение для публикации (анонс, 100–200 слов):
Развёрнутое руководство по установке Textpattern на Debian 10. В статье показано, как шаг за шагом подготовить сервер, установить Nginx, PHP-FPM и MariaDB, настроить HTTPS через Let’s Encrypt, запустить веб-инсталлятор Textpattern и обеспечить базовую безопасность. Подходит для администраторов и разработчиков, желающих быстро получить лёгкую CMS с минимальными зависимостями.
Социальный предпросмотр (OG): используйте заголовок и описание из метаданных ниже.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone