Установка Gibbon LMS с Let's Encrypt на Ubuntu 20.04

Gibbon — это бесплатная и открытая система управления школой, созданная для учителей, учеников, родителей и руководства. Она помогает учителям находить, связываться и поддерживать учеников, планировать занятия, собирать, оценивать и возвращать задания в одном удобном процессе. Простой веб-интерфейс позволяет получить доступ ко всем данным учащихся с любого устройства.
В этой инструкции показано, как установить Gibbon и защитить сайт с помощью Let’s Encrypt SSL на сервере с Ubuntu 20.04.
Что понадобится
- Сервер с Ubuntu 20.04.
- Домен, направленный на IP вашего сервера.
- Доступ root или учетная запись с правами sudo.
Быстрый план действий
- Обновить пакеты системы.
- Установить Apache, MariaDB, PHP и необходимые расширения.
- Настроить php.ini.
- Создать базу данных и пользователя MariaDB.
- Скачать и разместить файлы Gibbon.
- Настроить виртуальный хост Apache.
- Пройти веб-инсталляцию Gibbon.
- Установить Certbot и включить HTTPS.
Обновление системы
Рекомендуется сначала обновить пакеты:
apt-get update -yПосле обновления можно переходить к установке стека.
Установка Apache, MariaDB и PHP
Установите веб-сервер Apache, СУБД MariaDB, PHP и нужные расширения:
apt-get install apache2 mariadb-server php libapache2-mod-php php-common php-sqlite3 php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-xml php-cli php-zip unzip git -yПосле установки откройте файл конфигурации PHP для Apache:
nano /etc/php/7.4/apache2/php.iniИзмените и установите рекомендуемые параметры:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/MoscowСохраните файл и закройте редактор. Затем можно переходить к настройке базы данных.
Настройка базы данных MariaDB
Войдите в консоль MariaDB:
mysqlВнутри консоли создайте базу данных и пользователя (замените password на надежный пароль):
MariaDB [(none)]> CREATE DATABASE gibbondb;
MariaDB [(none)]> CREATE USER 'gibbon'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON gibbondb.* TO 'gibbon'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;Важно: используйте сложный пароль и, при необходимости, ограничьте доступ по IP или через unix-socket для повышения безопасности.
Скачивание и размещение Gibbon
Скачайте архив с релизом (пример с v20.0.00 в исходном материале):
wget https://github.com/GibbonEdu/core/archive/v20.0.00.zipРазархивируйте и переместите каталог в корень веб-сайта:
unzip v20.0.00.zip
mv core-20.0.00 /var/www/html/gibbonУстановите права и владельца:
chown -R www-data:www-data /var/www/html/gibbon/
chmod -R 755 /var/www/html/gibbon/Настройка Apache для Gibbon
Создайте файл виртуального хоста:
nano /etc/apache2/sites-available/gibbon.confВставьте содержимое конфигурации (замените ServerName и ServerAdmin соответствующими значениями):
ServerAdmin [email protected]
DocumentRoot /var/www/html/gibbon
ServerName gibbon.example.com
Options FollowSymlinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*) index.php [PT,L]
Сохраните и закройте. Затем включите сайт и модуль перезаписи:
a2ensite gibbon.conf
a2enmod rewrite
systemctl restart apache2Теперь Apache должен обслуживать Gibbon по HTTP.
Доступ к веб-интерфейсу Gibbon
Откройте в браузере адрес http://gibbon.example.com (замените на свой домен). Процесс установки через веб-интерфейс проведёт через проверку системных требований, настройки базы данных и создание учётной записи администратора.

Проверьте все системные требования, выберите язык и нажмите Submit.

Укажите имя базы данных, имя пользователя и пароль, затем нажмите Submit.



Заполните данные аккаунта, системные и организационные настройки, затем нажмите Submit. После завершения установки вы увидите страницу подтверждения.

Перейдите на домашнюю страницу Gibbon и войдите в систему:

После входа вы увидите панель управления и модули (уроки, оценки и т.д.).

Защита сайта с помощью Let’s Encrypt SSL
Рекомендуется включить HTTPS. Установите Certbot для Apache:
apt-get install python3-certbot-apache -yЗапустите Certbot и получите сертификат для домена:
certbot --apache -d gibbon.example.comВо время запуска вам будет предложено указать email и согласиться с условиями. После получения сертификата Certbot спросит, нужно ли перенаправлять HTTP на HTTPS — рекомендуем выбрать перенаправление (Redirect).
Пример вывода Certbot в интерактивном режиме приведён в исходной инструкции. После успешного завершения сайт будет доступен по https://gibbon.example.com.
IMPORTANT NOTES в примере указывает путь к сертификатам:
/etc/letsencrypt/live/gibbon.example.com/fullchain.pem
/etc/letsencrypt/live/gibbon.example.com/privkey.pemПримечание: пример в исходной инструкции показывает дату истечения сертификата 2020-10-23 — в реальной установке дата будет актуальной на момент выдачи.
Рекомендации по обслуживанию и безопасности
- Настройте автоматическое обновление сертификатов: systemd timer или cron, например:
0 3 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload apache2"- Регулярно обновляйте пакеты системы и PHP-расширения.
- Отключите или ограничьте доступ к phpmyadmin и административным интерфейсам по IP или через VPN.
- Создайте резервные копии базы данных и каталога /var/www/html/gibbon/.
- Используйте сложные пароли и 2FA для Учётной записи администратора, если доступно.
Критерии приёмки
- Сайт доступен по HTTPS без предупреждений в браузере.
- На странице требований Gibbon все пункты помечены как удовлетворённые.
- Учетная запись администратора создана и доступна.
- База данных gibbondb создана и пользователь gibbon имеет все привилегии.
- Резервные копии настроены и тестовые восстановления проходят успешно.
Частые проблемы и способы их устранения
- Ошибка 500 после установки: проверьте журналы Apache (/var/log/apache2/error.log) и права на файлы. Убедитесь, что владелец www-data.
- Ошибка соединения с базой: проверьте параметры в веб-инсталляторе и правильность имени пользователя/пароля в MariaDB.
- Проблемы с Certbot: проверьте, что DNS для домена указывает на сервер и порт 80 открыт в брандмауэре.
Быстрый набор команд для администратора (cheat sheet)
- Обновление системы:
apt-get update && apt-get upgrade -y- Перезапуск Apache:
systemctl restart apache2- Проверка статуса Certbot:
certbot renew --dry-run- Создание дампа базы данных:
mysqldump -u gibbon -p gibbondb > /root/gibbondb-$(date +%F).sqlРоли и контрольные списки
Администратор сервера:
- Обновить ОС и зависимости.
- Настроить бэкапы и мониторинг.
- Настроить HTTPS и автоматическое обновление сертификатов.
Администратор школы (учётная запись Gibbon):
- Проверить базовые настройки школы и URL.
- Создать административные учетные записи учителей.
- Импортировать классы и учеников по CSV, если нужно.
Учитель:
- Настроить курсы и расписание.
- Добавить уроки и задания.
- Настроить оценочные шкалы.
Альтернативные подходы и нюансы
- Можно использовать Nginx вместо Apache. Потребуется другой набор инструкций для конфигурации виртуальных хостов и интеграции с Certbot.
- Для маленьких инсталляций можно использовать SQLite вместо MariaDB, но для многопользовательской школы MariaDB или MySQL предпочтительнее.
- Для высоконагруженных установок рекомендуются отдельные сервера для БД и балансировщик нагрузок.
Небольшая методология развертывания
- Подготовьте staging-сервер с тем же окружением.
- Выполните установку и настройку в staging.
- Проведите тестовую миграцию и функциональную проверку.
- Перенесите на production и включите мониторинг.
Диаграмма принятия решения (Mermaid)
flowchart TD
A[Есть домен и Ubuntu 20.04?] -->|Да| B[Установить Apache, PHP, MariaDB]
A -->|Нет| Z[Настроить домен/сервер]
B --> C[Скачать Gibbon и настроить права]
C --> D[Создать базу данных]
D --> E[Настроить Apache виртуальный хост]
E --> F[Выполнить веб-инсталляцию]
F --> G[Установить Certbot и включить HTTPS]
G --> H[Проверить сертификат и настроить автопродление]Контроль рисков и смягчения
- Риск: утечка данных базы — Митигирование: шифрование резервных копий, доступ по минимальным привилегиям.
- Риск: просроченный сертификат — Митигирование: настроить автоматическое продление и оповещения.
- Риск: несовместимость PHP-версии — Митигирование: проверить требования Gibbon перед установкой.
Заключение
Поздравляем — после выполнения шагов в этой инструкции вы получите рабочую установку Gibbon LMS, доступную по HTTPS. Поддерживайте обновления, настройте резервное копирование и мониторинг, чтобы обеспечить стабильную работу для школы.
Важное: при переносе на продакшен замените все примеры паролей и доменов на реальные значения и храните доступы в защищённом хранилище.
Краткое руководство по дальнейшим шагам: настройте модульный импорт данных, обучите преподавателей работе с интерфейсом и планируйте регулярные бэкапы.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone