Установка Automad CMS на Debian 10 с Apache
Что такое Automad
Automad — это бесплатная, открытая и плоская система управления контентом (flat CMS) на PHP. Вместо базы данных она хранит контент в текстовых файлах. Предоставляет веб-интерфейс для администрирования сайта, загрузки изображений и написания постов. Включает встроенный Markdown-редактор и автообновление в один клик.
Важно: «плоская» CMS — означает отсутствие СУБД. Файлы сайта хранятся в файловой структуре, что упрощает перенос и резервное копирование.
Основные требования
- Сервер с Debian 10.
- Доступ root или пользователь с правами sudo.
- Доменное имя, указывающее на сервер (рекомендуется для SSL).
Быстрый план действий
- Обновить систему.
- Установить Apache и PHP с нужными модулями.
- Скачать и разместить файлы Automad в веб-корне.
- Настроить виртуальный хост Apache.
- Создать первого пользователя через /dashboard.
- Настроить права на файлы.
- Установить SSL с помощью Certbot.
- Резервное копирование и базовая защита.
Подготовка системы
Перед началом обновите пакеты и перезагрузите сервер:
apt-get update -y
apt-get upgrade -yПосле обновления рекомендуется перезагрузить сервер, чтобы применить все обновления ядра и сервисов.
Установка Apache и PHP
Automad требует веб-сервер и PHP. Установите Apache, PHP и распространённые расширения:
apt-get install apache2 php libapache2-mod-php php-zip php-curl php-mbstring php-gd php-xml php-xmlrpc php-soap unzip -yЗапустите и включите Apache при загрузке:
systemctl start apache2
systemctl enable apache2Если у вас уже установлен Nginx или вы предпочитаете Nginx — см. раздел «Альтернативные подходы».
Загрузка и установка Automad
Скачайте последнюю версию с репозитория Bitbucket:
wget https://bitbucket.org/marcantondahmen/automad/get/default.zipРаспакуйте архив:
unzip default.zipПереместите извлечённую папку в корень веб-сервера:
mv marcantondahmen-automad-c241e88edc3c /var/www/html/automadУстановите владельца и права:
chown -R www-data:www-data /var/www/html/automad
chmod -R 755 /var/www/html/automadВажно: права 755 дают исполнение каталогам и чтение/запись владельцу. Не давайте 777 в продакшене.
Настройка Apache для Automad
Создайте конфигурацию виртуального хоста:
nano /etc/apache2/sites-available/automad.confВставьте:
ServerAdmin [email protected]
DocumentRoot /var/www/html/automad
ServerName example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/automadcms_error.log
CustomLog ${APACHE_LOG_DIR}/automadcms_access.log combined
Замените example.com на ваш действительный домен. Сохраните файл.
Проверьте синтаксис Apache:
apachectl configtestЕсли синтаксис верный, появится сообщение Syntax OK. Затем включите сайт и mod_rewrite:
a2ensite automad
a2enmod rewriteПерезапустите Apache:
systemctl restart apache2Доступ к панели Automad
Откройте в браузере http://example.com (замените example.com на ваш домен). Вы увидите стартовую страницу Automad.

На странице регистрации пользователя перейдите в http://example.com/dashboard и создайте учётную запись. Нажмите кнопку Download Accounts File, чтобы скачать файл регистрации пользователей, и переместите его в папку config:
mv config.php /var/www/html/automad/config/Установите владельца файла конфигурации:
chown -R www-data:www-data /var/www/html/automad/config/config.phpПосле этого снова откройте http://example.com/dashboard и войдите в систему.





Настройка SSL с Let’s Encrypt (Certbot)
Установите Certbot. Сначала добавьте репозиторий и установите пакет:
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbotОбновите и установите Certbot для Apache:
apt-get update -y
apt-get install certbot python-certbot-apache -yСоздайте директорию для ACME challenge и настройте права:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencryptСоздайте конфигурацию для .well-known:
nano /etc/apache2/conf-available/well-known.confВставьте:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
AllowOverride None
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
Require method GET POST OPTIONS
Включите модули и конфигурацию:
a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-knownПерезапустите Apache:
systemctl restart apache2Запустите Certbot для вашего домена:
certbot --apache -d example.comСледуйте интерактивным подсказкам: укажите e-mail, согласитесь с TOS и выберите перенаправление HTTP→HTTPS (рекомендуется номер 2).
После успешной установки сертификата Certbot сообщит, где сохранены ключи и как обновлять сертификат (certbot renew).
Резервное копирование и восстановление
Automad хранит данные в файлах. Резервное копирование — простая, но критичная задача.
Рекомендуемая базовая стратегия:
- Ежедневное резервное копирование каталога /var/www/html/automad.
- Регулярное резервное копирование каталога /etc/apache2 и /etc/letsencrypt.
- Хранение резервных копий вне сервера (S3, другой сервер, NAS).
Пример однострочного создания архива:
tar -czf automad-backup-$(date +%F).tar.gz /var/www/html/automad /etc/apache2 /etc/letsencryptКритерии приёмки
- Сайт доступен по HTTPS на вашем домене.
- Веб-интерфейс /dashboard открывается и позволяет создать пользователя.
- Файлы Automad владеет www-data и имеют корректные права.
- Резервная копия создаётся и восстанавливается локально.
Базовая безопасность и жесткая настройка
- По возможности отключите доступ по паролю для SSH и используйте ключи.
- Ограничьте доступ к панели администрирования по IP (при необходимости).
- Запретите выполнение PHP в каталогах загрузки изображений, если Automad не требует этого.
- Ограничьте размер загружаемых файлов в PHP-конфигурации (upload_max_filesize и post_max_size).
- Обновляйте систему и PHP-пакеты регулярно.
Пример конфигурации Apache для запрета выполнения PHP в /uploads (дополни по структуре Automad):
php_admin_flag engine Off
Require all granted
Важно: перед отключением движка PHP в каталогах убедитесь, что это не ломает функциональность вашего сайта.
Тесты и приёмка
Минимальные тест-кейсы:
- Открыть главную страницу по HTTP и HTTPS.
- Перейти в /dashboard и создать пользователя.
- Загрузить изображение через интерфейс и убедиться, что оно отображается.
- Создать новую страницу/пост и проверить рендер Markdown.
- Проверить автоматическое обновление (если доступно) на тестовом экземпляре.
Технические примечания и отладка
- Сообщение AH00558 при configtest — предупреждение о ServerName. Оно безопасное, но можно добавить ServerName в /etc/apache2/apache2.conf, например ServerName example.com.
- Если после перемещения config.php вы видите ошибки прав — проверьте владельца: chown -R www-data:www-data /var/www/html/automad.
- Ошибки 500 в проде: проверьте логи /var/log/apache2/automadcms_error.log.
Альтернативные подходы
- Nginx вместо Apache
- Automad работает и через Nginx. В этом случае используйте php-fpm и настройте location для / и /.well-known.
- Docker
- Запускать Automad в контейнере с объединённым томом для /var/www/html/automad упрощает перенос и управление зависимостями.
- Хостинг без SSH
- Если вы используете общий хостинг, загружайте файлы через FTP и следуйте инструкции хостера для включения .htaccess и mod_rewrite.
Когда этот подход не подходит
- Если у вас гигантский сайт с тысячами страниц и сложными запросами, плоская CMS может быть ограничением по масштабируемости.
- Если требуется сложный поиск по содержимому и фильтрация, реляционная СУБД даёт больше возможностей.
Рекомендации по производительности
- Включите кеширование страниц на уровне веб-сервера или используя кеш-файлы.
- Используйте gzip/HTTP/2 (включён модуль http2 выше).
- Отдавайте статические ресурсы через CDN для ускорения геораспределённого доступа.
Чек-лист по ролям
Администратор:
- Установил и запустил Apache/PHP.
- Настроил виртуальный хост и SSL.
- Настроил резервное копирование.
Разработчик:
- Проверил совместимость шаблонов и плагинов с PHP-версией.
- Настроил CI для развёртывания (rsync/Docker).
Контент-редактор:
- Создал тестовый пост в Markdown.
- Проверил загрузку изображений и корректность путей.
Сравнение: Automad vs классические CMS (кратко)
- Автономность: Automad — файловая, без СУБД; простая миграция.
- Простота: меньше зависимостей, быстрее старт.
- Ограничения: менее удобные инструменты для сложных структур данных и масштабов.
Короткий словарь
- Flat CMS — CMS без СУБД, использующая файлы для хранения контента.
- Certbot — клиент для автоматического получения сертификатов Let’s Encrypt.
- ACME — протокол проверки доменов для получения SSL-сертификатов.
Итоги
Automad — удачное решение для лёгких сайтов и блогов, где важна простота и переносимость. На Debian 10 установка занимает немного времени: подготовка сервера, установка Apache/PHP, размещение файлов и настройка SSL. Не забывайте про резервные копии и базовую безопасность.
Ключевые шаги: обновление системы → установка Apache/PHP → загрузка Automad → настройка виртуального хоста → регистрация пользователя → установка Certbot и SSL → резервное копирование.
Summary:
- Подготовьте сервер и установите зависимости.
- Разместите Automad в /var/www/html/automad и настройте права.
- Настройте виртуальный хост и SSL.
- Резервируйте файлы и контролируйте доступ.
Важно: замените все в примерах example.com на ваш реальный домен и тестируйте в staging перед продакшеном.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone