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

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

• 5 min read • DevOps • Обновлено 16 Nov 2025
Установка Anchor CMS на Debian 9 с NGINX и MariaDB
Установка Anchor CMS на Debian 9 с NGINX и MariaDB

Изображение: логотип или баннер Anchor CMS

О чём эта инструкция

Этот пошаговый гид проведёт вас через установку лёгкой блого‑системы 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_installation
Enter 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 вашего сайта, например:

http://example.com

Вы увидите веб‑установщик Anchor. Последовательно выберите язык и часовой пояс, укажите данные БД и настройки сайта, затем создайте первую учётную запись администратора.

Инсталлятор Anchor CMS

После нажатия «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 для доступности.
  • Проверять обновления и планировать окна обслуживания.

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

  1. Сайт доступен по HTTPS и отвечает 200 на главную страницу.
  2. Веб‑инсталлятор завершён, каталог /install удалён.
  3. Пользователь‑администратор создан и может залогиниться в админку.
  4. Резервное копирование базы данных работает и проверено.

Частые ошибки и способы решения

  • Ошибка подключения к БД: проверьте credentials, хост и порт, права пользователя.
  • Ошибка 502/504 при работе с PHP‑FPM: проверьте сокет fastcgi_pass и статус php7.2-fpm.
  • Проблемы с правами: временно выставьте более мягкие права для отладки, затем восстановите.

Мини‑методология развертывания (быстрая инструкция)

  1. Подготовить систему, обновить пакеты.
  2. Установить PHP + расширения.
  3. Установить и обезопасить MariaDB, создать БД и пользователя.
  4. Настроить NGINX и PHP‑FPM.
  5. Установить Composer и Anchor через composer create-project.
  6. Завершить установку через веб‑интерфейс и удалить /install.

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

  • Anchor CMS — лёгкая система для ведения блога, требующая PHP и БД.
  • На Debian 9 рекомендуется использовать PHP из репозитория sury и стандартную MariaDB/NGINX.
  • Обязательно выполните базовые меры безопасности: HTTPS, сильные пароли и удаление каталога установки.

Ссылки

Итог: следуя этой инструкции, вы получите рабочую установку Anchor CMS на Debian 9 с NGINX и MariaDB, готовую для дальнейшей конфигурации и публикации контента.

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