Установка Anchor CMS на Debian 9 с NGINX и MariaDB

О чём эта инструкция
Этот пошаговый гид проведёт вас через установку лёгкой блого‑системы Anchor CMS на сервере Debian 9 (stretch) с веб‑сервером NGINX и базой данных MariaDB. Подробно описаны требования, предварительные шаги, команды для терминала, настройка прав и советы по безопасности и отладки.
Кому пригодится: системным администраторам, девопс‑инженерам, веб‑разработчикам, которые хотят быстро развернуть минималистичный блог на PHP.
Ключевые термины (в одну строку)
- Anchor CMS — простая блого‑система на PHP.
- Composer — менеджер зависимостей PHP.
- PHP-FPM — процессный менеджер PHP для работы с NGINX.
- MariaDB — форк MySQL, совместимый сервер баз данных.
Требования
Убедитесь, что сервер соответствует требованиям:
- MySQL/MariaDB 5.6 или выше (рекомендуется MySQL 5.7+ / MariaDB актуальной ветки).
- PHP 7.1+ (мы используем PHP 7.2 в примерах) с расширениями: curl, mcrypt, gd, mbstring, pdo_mysql или pdo_sqlite.
- Веб‑сервер: NGINX или Apache (в этом руководстве — NGINX).
Важно: в Debian 9 в репозиториях может быть старая версия PHP/MariaDB. Используем сторонние официальные репозитории для актуальных пакетов.
Предварительные условия
- Сервер с Debian 9 (stretch).
- Нераут‑пользователь с правами sudo.
Первые шаги на сервере
Проверьте версию ОС:
lsb_release -ds
# Debian GNU/Linux 9.7 (stretch)Установите часовой пояс (интерактивно):
dpkg-reconfigure tzdataОбновите пакеты системы:
apt update && apt upgrade -yУстановите утилиты для администрирования:
apt install -y curl wget vim git sudo unzip socat bash-completion dirmngr apt-transport-httpsПримечание: apt-transport-https нужен для доступа к репозиториям по HTTPS.
Шаг 1 — Установка PHP и расширений
Anchor CMS требует PHP ≥ 7.1. В Debian 9 доступны только старые ветки, поэтому подключим репозиторий sury для PHP 7.2:
sudo apt-get install apt-transport-https lsb-release ca-certificates
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo apt updateУстановите PHP и нужные модули:
sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-mbstring php7.2-curl php7.2-mysql php7.2-sqlite3 php7.2-gd php7.2-xmlПроверьте версию PHP:
php --versionСовет по отладке: если PHP-FPM не запускается, посмотрите логи systemd: sudo journalctl -u php7.2-fpm.service.
Шаг 2 — Установка MariaDB и создание базы
Anchor поддерживает MySQL/MariaDB и SQLite. В Debian 9 репозиторий может содержать старую MariaDB, но для базовой установки можно использовать пакет mariadb-server:
sudo apt install -y mariadb-serverПроверьте версию:
mysql --versionУкрепление безопасности сервера БД и установка пароля root:
sudo mysql_secure_installationEnter current password for root (enter for none):
Set root password? [Y/n]: Y
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Создайте базу и пользователя для Anchor (запомните credentials):
mysql -u root -p
# Enter password
CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quitСовет: используйте сильный пароль и ограничьте доступ к базе по сети на уровне брандмауэра.
Шаг 3 — Установка и конфигурация NGINX
Установите NGINX:
sudo apt install -y nginxПроверьте версию:
nginx -vСоздайте конфигурационный файл /etc/nginx/sites-available/anchor.conf и вставьте:
server {
listen 80;
server_name example.com;
root /var/www/anchor;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}Активируйте сайт и проверьте конфигурацию:
sudo ln -s /etc/nginx/sites-available/anchor.conf /etc/nginx/sites-enabled
sudo nginx -t
sudo systemctl reload nginx.serviceСовет: если вы используете HTTPS, добавьте редирект 80→443 и настройку SSL (Let’s Encrypt certbot может автоматизировать это).
Шаг 4 — Установка Composer
Composer — менеджер зависимостей PHP. Установим его глобально:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '48e3236262b34d30969dca3c37281b3b4bbe3221bda826ac6a9a62d6444cdb0dcd0615698a5cbe587c3f0fe57a54d8f5') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composerПроверьте версию:
composer --versionПримечание: хэш в примере устаревает со временем. При необходимости берите актуальный хэш с официального сайта getcomposer.org.
Шаг 5 — Загрузка и установка Anchor CMS
Создайте корневую директорию для сайта и установите права:
sudo mkdir -p /var/www/anchor
sudo chown -R [your_user]:[your_user] /var/www/anchor
cd /var/www/anchorСкачайте Anchor через Composer:
composer create-project anchorcms/anchor-cms .После установки установите владельца веб‑файлов как www-data (пользователь веб‑сервера):
sudo chown -R www-data:www-data /var/www/anchorСоздайте директорию для сессий PHP и установите права:
sudo mkdir -p /var/lib/php/session && sudo chown -R www-data:www-data /var/lib/phpСовет по правам: минимизируйте права записей для публичных директорий. Разрешение записи нужно только тем папкам, где Anchor сохраняет кэш/загрузки.
Шаг 6 — Завершение установки через веб‑интерфейс
Откройте в браузере URL вашего сайта, например:
Вы увидите веб‑установщик Anchor. Последовательно выберите язык и часовой пояс, укажите данные БД и настройки сайта, затем создайте первую учётную запись администратора.

После нажатия «Run the installer» следуют страницы выбора языка и часового пояса:

Введите параметры базы данных:

Настройте метаданные сайта (имя, описание):

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

После успешной установки удалите каталог install для безопасности:
sudo rm -rf /var/www/anchor/installВажно: не оставляйте каталог установки доступным для веба — это риск безопасности.
Проверки и отладка после установки
- Проверьте, что главная страница открывается без ошибок.
- Просмотрите логи NGINX: /var/log/nginx/error.log.
- Логи PHP-FPM: sudo journalctl -u php7.2-fpm.
- Проверьте права файлов и корректность конфигурации fastcgi_pass.
Если видите ошибку 500 — включите отображение ошибок в логах (не на продуктиве) и проверьте dependecies через composer diagnose.
Безопасность и рекомендации по эксплуатации
- Установите HTTPS (Let’s Encrypt) и отключите прямой доступ по HTTP или делайте редирект на HTTPS.
- Ограничьте доступ к базе данных по IP, используйте сильные пароли.
- Регулярно обновляйте PHP, NGINX, MariaDB и сам Anchor.
- Ограничьте права на файлы: веб‑серверу достаточно прав записи только в конкретные каталоги.
- Снимайте резервные копии базы и файлов, автоматизируйте бэкап (cron, systemd timers).
Роли и чек‑листы
Администратор сервера:
- Установить OS и выполнить системное обновление.
- Настроить брандмауэр (ufw/iptables) и открыть порты 80/443.
- Обеспечить резервное копирование и мониторинг.
Веб‑разработчик:
- Проверить совместимость темы и плагинов с версией Anchor.
- Настроить CI/CD или инструкции для деплоя.
Оператор (поддержка):
- Отслеживать логи и использовать SLO/SLI для доступности.
- Проверять обновления и планировать окна обслуживания.
Критерии приёмки
- Сайт доступен по HTTPS и отвечает 200 на главную страницу.
- Веб‑инсталлятор завершён, каталог /install удалён.
- Пользователь‑администратор создан и может залогиниться в админку.
- Резервное копирование базы данных работает и проверено.
Частые ошибки и способы решения
- Ошибка подключения к БД: проверьте credentials, хост и порт, права пользователя.
- Ошибка 502/504 при работе с PHP‑FPM: проверьте сокет fastcgi_pass и статус php7.2-fpm.
- Проблемы с правами: временно выставьте более мягкие права для отладки, затем восстановите.
Мини‑методология развертывания (быстрая инструкция)
- Подготовить систему, обновить пакеты.
- Установить PHP + расширения.
- Установить и обезопасить MariaDB, создать БД и пользователя.
- Настроить NGINX и PHP‑FPM.
- Установить Composer и Anchor через composer create-project.
- Завершить установку через веб‑интерфейс и удалить /install.
Краткое резюме
- Anchor CMS — лёгкая система для ведения блога, требующая PHP и БД.
- На Debian 9 рекомендуется использовать PHP из репозитория sury и стандартную MariaDB/NGINX.
- Обязательно выполните базовые меры безопасности: HTTPS, сильные пароли и удаление каталога установки.
Ссылки
Итог: следуя этой инструкции, вы получите рабочую установку Anchor CMS на Debian 9 с NGINX и MariaDB, готовую для дальнейшей конфигурации и публикации контента.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента