Установка Fork CMS на Ubuntu 20.04 с Apache и Let's Encrypt
О чём эта инструкция
Это практическое руководство показывает, как установить Fork CMS на Ubuntu 20.04 с использованием веб‑сервера Apache, базы данных MariaDB и HTTPS от Let’s Encrypt. Предполагается, что вы администрируете сервер и можете запускать команды от root или через sudo.
Важно: замените все примеры доменов и паролей на ваши реальные значения до выполнения команд.
Требования
- Сервер с Ubuntu 20.04.
- Публичный домен, указывающий на IP сервера (A/AAAA запись).
- Доступ root или пользователь с sudo.
Шаг 1 — Установка LAMP и расширений PHP
Установите Apache, MariaDB, PHP и необходимые расширения. В одной строке команда из оригинала:
apt-get install apache2 mariadb-server php libapache2-mod-php php-json php-xml php-cli php-zip php-common php-sqlite3 php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd wget unzip -yПосле установки откройте конфигурационный файл PHP для Apache:
nano /etc/php/7.4/apache2/php.iniРекомендуемые настройки (локализовано под московский часовой пояс; при необходимости используйте ваш часовой пояс):
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
file_uploads = On
date.timezone = Europe/MoscowСохраните файл и перезапустите Apache:
systemctl restart apache2Важно: при работе с большим количеством плагинов или сборок Composer может потребоваться увеличить memory_limit.
Шаг 2 — Настройка MariaDB
Запустите скрипт безопасной настройки MariaDB:
mysql_secure_installationЭтот скрипт предложит установить пароль root, удалить анонимных пользователей, запретить вход root удалённо и удалить тестовую базу.
Далее войдите в оболочку MariaDB:
mysql -u root -pСоздайте базу данных и пользователя для Fork CMS (замените пароль на надёжный):
MariaDB [(none)]> CREATE DATABASE forkcmsdb;
MariaDB [(none)]> CREATE USER 'forkcms'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON forkcmsdb.* TO 'forkcms'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Совет безопасности: используйте уникальный, сложный пароль и при возможности ограничьте доступ по хосту/сети.
Шаг 3 — Установка Composer и Fork CMS
Установите Composer глобально (как в исходном руководстве):
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composerВы увидите сообщение об успешной установке. Перейдите в корень веб‑сайта и создайте проект Fork CMS:
cd /var/www/html/
composer create-project forkcms/forkcmsУстановите правильные права и владельца на папку Fork CMS:
chown -R www-data:www-data /var/www/html/forkcms
chmod -R 775 /var/www/html/forkcmsВажно: права 775 позволяют группе www-data записывать файлы. При высоких требованиях к безопасности рассмотрите 750 и настроенную группу.
Шаг 4 — Конфигурация виртуального хоста Apache
Создайте конфигурацию виртуального хоста:
nano /etc/apache2/sites-available/forkcms.confДобавьте следующие строки (замените домены и email на ваши значения):
ServerAdmin [email protected]
DocumentRoot /var/www/html/forkcms
ServerName forkcms.example.com
ServerAlias www.example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
Активируйте сайт и модуль rewrite:
a2ensite forkcms.conf
a2enmod rewrite
systemctl restart apache2Проверьте статус Apache:
systemctl status apache2Если Apache не стартует, проверьте вывод journalctl -xe и синтаксис конфигураций apachectl configtest.
Шаг 5 — Первичная настройка через веб‑интерфейс
Откройте браузер и перейдите по адресу:
Вы увидите страницу установки Fork CMS. Пройдите шаги: выбор языка, выбор модулей, ввод данных базы данных (используйте ранее созданную базу и пользователя), создание администратора. После завершения нажмите “Log In To Fork CMS” и войдите в панель.








(ALT тексты выше описывают экраны установки и интерфейс Fork CMS.)
Шаг 6 — Защита сайта: Let’s Encrypt SSL
Установите Certbot для Apache:
apt-get install python3-certbot-apache -yЗапустите Certbot для вашего домена:
certbot --apache -d forkcms.example.comСледуйте интерактивным подсказкам: укажите email, согласитесь с условиями и выберите вариант редиректа (рекомендуется — перенаправлять весь трафик на HTTPS).
Пример вывода Certbot и важные заметки остаются такими же, как в исходной инструкции. После успешной установки сертификат будет храниться в каталоге /etc/letsencrypt/live/forkcms.example.com/.
Совет: Certbot автоматически настраивает cron/timer для автоматического обновления сертификатов. Можно проверить командой certbot renew --dry-run.
Безопасность и жёсткие настройки (рекомендации)
- Обновляйте систему и пакеты:
apt update && apt upgrade. - Используйте UFW для фильтрации трафика: разрешите 80, 443 и SSH (22) и запретите всё остальное.
- Пример:
ufw allow OpenSSHufw allow 80/tcpufw allow 443/tcpufw enable
- Пример:
- Ограничьте доступ к MariaDB: в
/etc/mysql/mariadb.conf.d/50-server.cnfможно убедиться, чтоbind-address = 127.0.0.1для локального доступа. - Настройте регулярные резервные копии базы данных и файлов (rsync, mysqldump, Cron, удалённое хранилище).
- Ограничьте права на файловую систему: каталогу
var/www/html/forkcmsдостаточно прав владельцаwww-dataи минимально необходимых разрешений. - Установите fail2ban для защиты SSH и, при необходимости, защиты веб-форм.
Чек‑листы по ролям
Системный администратор:
- Проверить DNS A/AAAA для домена.
- Установить и обновить пакеты (Apache, MariaDB, PHP, Certbot).
- Настроить брандмауэр и fail2ban.
- Ensure automatic certificate renewal (
certbot renew --dry-run).
Разработчик / DevOps:
- Установить Composer и зависимости.
- Настроить виртуальные хосты и точки монтирования.
- Настроить CI/CD или скрипты деплоя для обновлений.
Контент‑менеджер:
- Создать учётную запись администратора через веб‑интерфейс.
- Настроить базовые модули и тему.
- Проверить работу форм и загрузку медиа.
Типичные проблемы и способы устранения
- Права доступа (403): проверьте владельца и права (
chown -R www-data:www-data,chmod -R 775). - Ошибка соединения с БД: проверьте правильность имени базы, пользователя, пароля и что MariaDB слушает локально.
- Apache не стартует:
apachectl configtestдля проверки синтаксиса;journalctl -xeдля логов. - Проблемы с Composer (memory exhausted): увеличьте
memory_limitи/или используйте swap. - SSL не выдаётся: проверьте, что домен указывает на сервер и что порт 80 открыт.
Критерии приёмки
- Сайт доступен по HTTPS на вашем домене.
- Веб‑интерфейс Fork CMS запускается и позволяет войти под созданной учётной записью администратора.
- Страницы загружаются без ошибок 5xx, а доступ к статическим ресурсам разрешён.
- Автоматическое обновление сертификатов успешно проходит тест
certbot renew --dry-run.
Альтернативные подходы
- Nginx вместо Apache: можно использовать Nginx + php‑fpm. Конфигурации виртуального хоста и правила перезаписи будут отличаться.
- Docker: развёртывание Fork CMS в контейнерах (web + php-fpm + db) упрощает изоляцию и переносимость.
- Managed hosting: использовать провайдера с преднастроенной LAMP/LE поддержкой.
Краткая методология установки (mini‑method)
- Подготовить сервер (обновления, DNS).
- Установить LAMP и расширения PHP.
- Настроить MariaDB и создать базу/пользователя.
- Установить Composer и развернуть Fork CMS.
- Настроить виртуальный хост Apache и права.
- Пройти веб‑установку Fork CMS.
- Выпустить SSL через Certbot и проверить обновление.
Глоссарий (1‑строчные определения)
- LAMP: стек Linux, Apache, MariaDB/MySQL, PHP.
- Certbot: клиент для получения сертификатов Let’s Encrypt.
- Composer: менеджер зависимостей для PHP.
Заключение
Вы успешно установили Fork CMS на Ubuntu 20.04, настроили базу данных, виртуальный хост Apache и защитили сайт сертификатом Let’s Encrypt. Далее настройте резервное копирование, безопасность и рабочий процесс обновлений.
Ключевые действия: проверяйте права, используйте надёжные пароли и автоматическое обновление сертификатов. Удачи в создании сайта на Fork CMS!
Похожие материалы
Как сохранить маршрут Google Maps на ПК
Голосовой ввод на Chromebook — как включить
Как создать и управлять рабочим пространством Slack
Image Clipper в Samsung Gallery: как вырезать объект
Как быстро включить фонарик на Android