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

Установка Fork CMS на Ubuntu 20.04 с Apache и Let's Encrypt

5 min read Развертывание Обновлено 23 Nov 2025
Установка Fork CMS на Ubuntu 20.04 — Apache + Let's Encrypt
Установка 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 — Первичная настройка через веб‑интерфейс

Откройте браузер и перейдите по адресу:

http://forkcms.example.com

Вы увидите страницу установки Fork CMS. Пройдите шаги: выбор языка, выбор модулей, ввод данных базы данных (используйте ранее созданную базу и пользователя), создание администратора. После завершения нажмите “Log In To Fork CMS” и войдите в панель.

Стартовая страница установки Fork CMS

Выбор языка и следующая страница установки

Выбор модулей для установки

Параметры модуля и продолжение установки

Ввод данных базы данных

Создание администратора Fork CMS

Экран входа в Fork CMS

Панель управления 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 OpenSSH
      • ufw allow 80/tcp
      • ufw allow 443/tcp
      • ufw 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)

  1. Подготовить сервер (обновления, DNS).
  2. Установить LAMP и расширения PHP.
  3. Настроить MariaDB и создать базу/пользователя.
  4. Установить Composer и развернуть Fork CMS.
  5. Настроить виртуальный хост Apache и права.
  6. Пройти веб‑установку Fork CMS.
  7. Выпустить 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!

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как сохранить маршрут Google Maps на ПК
Руководство

Как сохранить маршрут Google Maps на ПК

Голосовой ввод на Chromebook — как включить
Chromebook

Голосовой ввод на Chromebook — как включить

Как создать и управлять рабочим пространством Slack
Производительность

Как создать и управлять рабочим пространством Slack

Image Clipper в Samsung Gallery: как вырезать объект
Мобильные советы

Image Clipper в Samsung Gallery: как вырезать объект

Как быстро включить фонарик на Android
Android.

Как быстро включить фонарик на Android

Как делиться экраном в Discord — руководство
Руководство

Как делиться экраном в Discord — руководство