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

Установка и защита WonderCMS на CentOS 8 с Let's Encrypt

• 5 min read • Linux • Обновлено 27 Nov 2025
Установка и защита WonderCMS на CentOS 8
Установка и защита WonderCMS на CentOS 8

Скриншот начальной страницы установки WonderCMS

TL;DR

Кратко: пошаговое руководство по установке WonderCMS на CentOS 8 — Apache + PHP, загрузка из Git, настройка виртуального хоста, получение SSL через Certbot (Let’s Encrypt), настройка брандмауэра и SELinux. Включены советы по безопасности, резервному копированию и устранению распространённых ошибок.

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

WonderCMS — лёгкая flat-file CMS без базы данных. Это руководство ведёт от установки Apache/PHP до получения бесплатного сертификата Let’s Encrypt и базовой жёсткой настройки сервера.

Важно: команды и конфигурационные файлы сохранены из оригинальной инструкции. Замените доменное имя wonder.linuxbuz.com и значения, например timezone, на свои.

Предварительные требования

  • Сервер с CentOS 8.
  • Доступ root или sudo.
  • Делегированное DNS‑имя (пример: wonder.example.com), указывающее на IP сервера.

Установка Apache и PHP

Установите Apache, PHP и нужные модули:

dnf install httpd php php-mysqlnd php-curl php-opcache php-xml php-xmlrpc php-gd php-mbstring php-zip php-json wget unzip git -y

Откройте php.ini для правок:

nano /etc/php.ini

В файле можно изменить параметры под нагрузку и ограничения. Пример в исходной инструкции:

memory_limit = 128M
post_max_size = 32M
upload_max_filesize = 16M
max_execution_time = 300
date.timezone = Asia/Kolkata

Совет: замените date.timezone на ваш часовой пояс (например, Europe/Moscow).

Запустите и включите Apache:

systemctl start httpd
systemctl enable httpd

Проверьте статус:

systemctl status httpd

Загрузка WonderCMS

Клонируйте репозиторий в корень веб-контента:

cd /var/www/html
git clone https://github.com/robiso/wondercms.git

Установите права и владельца:

chown -R apache:apache /var/www/html/wondercms
chmod -R 775 /var/www/html/wondercms

Примечание: в некоторых инсталляциях веб‑сервер использует пользователя www-data или nginx; подставьте актуального пользователя.

Настройка Apache для WonderCMS

Создайте виртуальный хост:

nano /etc/httpd/conf.d/wondercms.conf

Добавьте блок (сохранён из источника — замените ServerName на ваш домен):


  ServerName wonder.linuxbuz.com
  DirectoryIndex index.php
  DocumentRoot /var/www/html/wondercms
  Redirect /wondercms/loginURL /loginURL

  ErrorLog /var/log/httpd/linuxbuz.com-error.log
  CustomLog /var/log/httpd/linuxbuz.com-access.log combined

  
      Options FollowSymLinks
      AllowOverride All
      Require all granted
  

Перезапустите Apache:

systemctl restart httpd

Проверьте доступность сайта по HTTP перед получением сертификата.

Получение и установка SSL (Let’s Encrypt)

Установите certbot (в инструкции используется certbot-auto):

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Запустите certbot для Apache:

certbot-auto --apache -d wonder.linuxbuz.com
  • При первом запуске certbot-auto установит зависимости и попросит ваш e‑mail и согласие с TOU.
  • Если certbot обнаружит другой веб‑сервер (nginx), он может показывать путь к nginx-конфигу в выводе. Убедитесь, что certbot управляет именно вашим сервером или используйте плагин –apache/–nginx, соответствующий вашей среде.

В конце certbot предложит выбрать редирект с HTTP на HTTPS — для новых сайтов рекомендован редирект (опция 2).

Важно: сертификаты Let’s Encrypt действуют 90 дней. Настройте автоматическое обновление через cron или systemd (см. раздел «Обновление сертификатов»).

Конфигурация брандмауэра и SELinux

Разрешите HTTP и HTTPS в firewalld:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Настройте SELinux для записи веб‑контента:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/wondercms

Перезапустите Apache после изменений:

systemctl restart httpd

Доступ к WonderCMS и первые шаги

Откройте https://wonder.linuxbuz.com и вы увидите страницу установки. На странице появится временный пароль — скопируйте его и нажмите “Click to login”.

Скриншот страницы успешной установки WonderCMS

Скриншот страницы входа в WonderCMS

Вставьте пароль и войдите:

Скриншот режима администратора WonderCMS

Перейдите в Settings → Security и измените URL входа, пароль, затем нажмите CHANGE PASSWORD.

Скриншот панели управления WonderCMS

Безопасность и надёжность (рекомендации)

  • Сразу измените автоматически сгенерированный пароль и URL для входа.
  • Включите двухфакторную аутентификацию, если CMS или внешний слой авторизации её поддерживает.
  • Ограничьте доступ к /var/www/html/wondercms только нужным пользователям и сервисам.
  • Настройте регулярное резервное копирование каталога /var/www/html/wondercms. Для flat-file CMS достаточно резервировать файлы и конфигурацию.

Резервное копирование и восстановление (мини‑SOP)

  1. Создавайте архив каталога и сохраняйте его вне сервера (S3, удалённый NAS):
tar -czf wondercms-$(date +%F).tar.gz /var/www/html/wondercms
  1. Проверяйте целостность архива и права доступа.
  2. Для восстановления распакуйте архив в /var/www/html и восстановите права владельца apache:apache.

Обновление сертификатов Let’s Encrypt

  • Сертификаты действительны 90 дней. Для автоматического продления используйте:
certbot-auto renew --quiet
  • Добавьте cron/systemd таймер для регулярной проверки (ежедневно).

Устранение распространённых проблем

  • Ошибка при получении сертификата: проверьте, что домен указывает на сервер и HTTP доступен (80). Certbot использует http-01 challenge.
  • Certbot пишет конфиг nginx: значит на сервере есть nginx. Остановите либо перенастройте nginx/Apache перед запуском certbot.
  • Проблемы с правами: убедитесь, что владелец и права каталога правильно выставлены.

Чек‑лист для продакшн‑запуска (роль‑ориентированный)

Админ:

  • Домен указывает корректно на сервер
  • Установлен и включён HTTP/HTTPS в firewall
  • SELinux настроен на запись каталога сайта
  • Certbot настроен и автопродление включено

Разработчик:

  • Права на файлы минимизированы
  • Все плагины/расширения проверены на совместимость

Операции:

  • Настроено резервное копирование
  • План восстановления протестирован

Факто‑бокс

  • Let’s Encrypt: бесплатный CA, срок сертификата 90 дней.
  • WonderCMS: flat-file CMS — все данные хранятся в файлах, база данных не требуется.

Краткая 1‑строчная глоссарий

  • Flat-file CMS — система управления сайтом, хранящая контент в файлах вместо СУБД.
  • Certbot — клиент для получения сертификатов Let’s Encrypt.
  • SELinux — механизм мандатного контроля доступа в Linux.

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

  • Сайт доступен по HTTPS без предупреждений браузера.
  • Certbot сообщил о сохранении cert и privkey, автопродление настроено.
  • Админ может войти и изменить пароль/URL входа.

Частые вопросы (FAQ)

Q: Нужна ли база данных для WonderCMS? A: Нет. WonderCMS — flat-file CMS, все данные хранятся в файлах.

Q: Сколько действует сертификат Let’s Encrypt? A: 90 дней; рекомендуется автоматическое обновление.

Q: Можно ли использовать Nginx вместо Apache? A: Да, конфигурация и команды получения certbot меняются на –nginx или ручной способ.

Заключение

Вы успешно установили WonderCMS на CentOS 8, настроили Apache/PHP, получили SSL от Let’s Encrypt и выполнили базовую жёсткую настройку сервера. Дальше — настроить резервные копии, мониторинг и регулярные обновления.

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

  • Установите Apache/PHP, клонируйте репозиторий WonderCMS.
  • Настройте виртуальный хост и права доступа.
  • Получите SSL через certbot и настройте редирект на HTTPS.
  • Настройте firewall, SELinux и резервное копирование.
Поделиться: 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 быстро