Установка OrangeScrum на Ubuntu 20.04

OrangeScrum — бесплатное и открытое приложение для управления проектами и совместной работы. Подходит для малого и среднего бизнеса. Позволяет создавать и управлять проектами, командами, документами и задачами, вести Scrum-доску, планировать спринты, работать со сторипоинтами и бэклогом проектов.
Ниже приведено подробное руководство по установке OrangeScrum на Ubuntu 20.04 с разъяснениями и полезными дополнениями: от создания базы данных до SSL и базовой безопасности.
Что вам понадобится
- Сервер с Ubuntu 20.04 LTS.
- Действующее доменное имя, указывающее на IP сервера (DNS A/AAAA).
- Пароль root или учётная запись с sudo.
- Базовые навыки работы в терминале (ssh, nano/vi).
Краткий план действий
- Установить Apache и MariaDB.
- Установить PHP 7.2 и расширения (используем PPA Ondřej).
- Настроить php.ini и перезапустить Apache.
- Создать базу данных и пользователя MariaDB.
- Отключить строгий режим SQL (если требуется).
- Развернуть код OrangeScrum, импортировать database.sql.
- Настроить права и виртуальный хост Apache.
- Установить SSL через Certbot и настроить автоматическое обновление.
Установка Apache и MariaDB
Установите веб-сервер и СУБД:
apt-get update
apt-get install apache2 mariadb-server -yПроверка статуса системных служб:
systemctl status apache2
systemctl status mariadbЕсли служба не запущена — запустите systemctl start <имя_сервиса>.
Установка PHP 7.2 и расширений
Ubuntu 20.04 по умолчанию поставляется с PHP 7.4. OrangeScrum в этой инструкции требует PHP 7.2, поэтому добавим PPA Ondřej и установим требуемые пакеты.
Установите вспомогательные пакеты и PPA:
apt-get install software-properties-common gnupg2 -y
add-apt-repository ppa:ondrej/php -y
apt-get updateУстановите PHP 7.2 и необходимые расширения:
apt-get install php7.2 php7.2-bcmath php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-dba php7.2-enchant php7.2-fpm php7.2-gd php7.2-imap php7.2-intl php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-imagick php7.2-memcache php7.2-soap php7.2-tidy php7.2-xml php7.2-zip libapache2-mod-php7.2 xvfb libfontconfig wkhtmltopdf unzip wget -yПримечание: если у вас есть технические причины не устанавливаться PHP 7.2 (поддержка, безопасность), рассмотрите альтернативный путь через Docker (см. раздел «Альтернативный подход»).
Настройка php.ini
Откройте файл конфигурации Apache-PHP и измените ключевые параметры:
nano /etc/php/7.2/apache2/php.iniЗамените или установите значения:
post_max_size = 200M
upload_max_filesize = 200M
max_execution_time = 300
memory_limit = 512M
max_input_vars = 5000
date.timezone = Asia/KolkataСохраните файл и перезапустите Apache:
systemctl restart apache2Важно: локаль date.timezone укажите в соответствии с вашим регионом (например, Europe/Moscow).
Создание базы данных для OrangeScrum
Войдите в MariaDB:
mysql -u root -pВыполните команды для создания базы данных и пользователя (замените password на надёжный пароль):
CREATE DATABASE orangescrumdb;
GRANT ALL PRIVILEGES ON orangescrumdb.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
EXIT;Совет: используйте длинный сгенерированный пароль и сохраните его в менеджере паролей.
Отключение строгого режима SQL (если требуется)
Некоторые старые версии приложений ожидают менее строгий sql_mode. Создайте конфигурационный файл:
nano /etc/mysql/conf.d/disable_strict_mode.cnfДобавьте:
[mysqld]
sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"Сохраните и перезапустите MariaDB:
systemctl restart mariadbПримечание: в новых установках изменение sql_mode может иметь последствия для других приложений. Прежде чем менять, проверьте совместимость.
Установка OrangeScrum (файлы приложения)
Скачайте последнюю версию OrangeScrum с официального сайта или репозитория и распакуйте её на сервере. Пример с локальным архивом:
unzip orangescrum-master.zip
mv orangescrum-master /var/www/html/orangescrumИмпортируйте дамп базы данных (если в архиве есть database.sql):
cd /var/www/html/orangescrum
mysql -u orangescrumuser -p orangescrumdb < database.sqlПри запросе укажите пароль, который вы задали ранее.
Отредактируйте конфигурацию базы данных приложения:
nano app/Config/database.phpНастройте параметры соединения:
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'orangescrumuser',
'password' => 'password',
'database' => 'orangescrumdb',
'prefix' => '',
'encoding' => 'utf8',
);
}Сохраните файл.
Установите права и владельца:
chown -R www-data:www-data /var/www/html/orangescrum
chmod -R 775 /var/www/html/orangescrumВажно: не давайте 777 в продакшене; используйте минимально необходимые права.
Настройка Apache (виртуальный хост)
Создайте конфигурацию сайта:
nano /etc/apache2/sites-available/orangescrum.confДобавьте:
ServerAdmin webmaster@example.com
DocumentRoot /var/www/html/orangescrum/
ServerName orangescrum.example.com
DirectoryIndex index.php index.html
AllowOverride All
Allow from all
Order allow,deny
Options Indexes FollowSymlinks
Включите сайт и нужные модули:
a2ensite orangescrum.conf
phpenmod mbstring
a2enmod rewrite
a2enmod headers
systemctl restart apache2Проверьте статус Apache:
systemctl status apache2Если есть ошибки, посмотрите логи:
journalctl -u apache2 --no-pager
tail -n 100 /var/log/apache2/error.logЗащита сайта: Let’s Encrypt SSL
Установите Certbot и плагин для Apache:
apt-get install python3-certbot-apache -yЗапустите Certbot для получения сертификата (замените домен на ваш):
certbot --apache -d orangescrum.example.comСледуйте подсказкам: укажите e-mail, согласитесь с условиями и выберите, перенаправлять ли HTTP на HTTPS (рекомендуется — да).
Certbot автоматически создаст SSL-конфигурацию и перезапустит Apache. Сертификаты Let’s Encrypt действуют 90 дней; настройте автоматическое продление:
certbot renew --dry-runПо умолчанию cron/systemd уже настроен Certbot’ом. Если хотите использовать собственный cron:
0 3 * * * root certbot renew --quiet && systemctl reload apache2Доступ к интерфейсу и первичная настройка
Откройте браузер и перейдите по адресу:
https://orangescrum.example.com
Вы увидите экран регистрации. На первом шаге можно настроить хост, имя пользователя и пароль.

Если требуется — укажите SMTP для отправки уведомлений или пропустите этот шаг.

Заполните название сайта, email и пароль, нажмите Signup. После успешной регистрации вы попадёте в панель управления:

Рекомендации по безопасности и эксплуатации
Important: перед запуском в продакшн обязательно выполните базовую жёсткую настройку системы.
- Брандмауэр: откройте только нужные порты (обычно 80 и 443):
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable- Ограничьте доступ к MariaDB: запретите удалённый root-доступ и используйте сильные пароли.
- Fail2Ban: установите для защиты SSH и, при необходимости, веб-приложения.
- Права на файлы: www-data должен быть владельцем; избегайте 777.
- AppArmor: проверьте профиль Apache, при необходимости адаптируйте.
Обновления и резервное копирование
- Регулярно обновляйте пакеты: apt-get update && apt-get upgrade.
- Делайте бэкапы базы данных и каталога /var/www/html/orangescrum.
Пример резервной копии базы данных:
mysqldump -u root -p orangescrumdb > /root/backups/orangescrumdb_$(date +%F).sqlПример архивации файлов приложения:
tar czf /root/backups/orangescrum_www_$(date +%F).tar.gz /var/www/html/orangescrumАльтернативный подход: Docker (кратко)
Если вы предпочитаете контейнеризацию, можно запускать OrangeScrum в Docker. Общее решение — собрать Dockerfile с PHP 7.2 + Apache и подключить контейнер MariaDB или использовать docker-compose с отдельными сервисами web и db. Плюсы: изоляция окружения, простая миграция. Минусы: требуется опыт Docker, настройка сетей и персистентности томов.
Устранение распространённых проблем
- Ошибка 500 после установки: проверьте /var/log/apache2/error.log и права на файлы.
- Проблемы с подключением к БД: проверьте credentials в app/Config/database.php и возможность подключения из командной строки.
- Certbot не может верифицировать домен: убедитесь, что DNS указывает на сервер и порт 80 открыт.
Критерии приёмки
- По URL https://<ваш_домен> доступна страница входа OrangeScrum.
- Регистрация и вход проходят без ошибок.
- Приложение может сохранять задачи и проекты (создайте тестовый проект и задачу).
- SSL корректно установлен и перенаправление с HTTP на HTTPS работает.
- Логи Apache и MariaDB не содержат критических ошибок при работе.
Рольные чек-листы перед передачей в продакшн
Системный администратор:
- Проверил резервные копии.
- Настроил ufw и fail2ban.
- Проверил автоматическое продление сертификатов.
Разработчик/Оператор приложения:
- Проверил миграции БД.
- Проверил логи и права на файлы.
- Протестировал создание проекта и назначение задач.
Менеджер проекта:
- Подтвердил доступ к панели и возможность приглашать пользователей.
- Проверил отправку почты (SMTP).
Краткая таблица важных путей и команд
- Веб-корень: /var/www/html/orangescrum
- Конфигурации Apache: /etc/apache2/sites-available/orangescrum.conf
- PHP ini: /etc/php/7.2/apache2/php.ini
- MariaDB conf: /etc/mysql/conf.d/disable_strict_mode.cnf
- Сертификаты Let’s Encrypt: /etc/letsencrypt/live/<ваш_домен>
Частые вопросы (FAQ)
Ошибка “Can not connect to database” — что проверить?
Проверьте правильность логина/пароля в app/Config/database.php. Попробуйте подключиться к БД вручную: mysql -u orangescrumuser -p orangescrumdb.
Могу ли я использовать PHP 7.4 вместо 7.2?
Возможна несовместимость с исходными версиями OrangeScrum. Перед заменой протестируйте приложение в тестовом окружении. Альтернатива — Docker-контейнер с нужной версией PHP.
Как настроить почту (SMTP) для отправки уведомлений?
Укажите параметры SMTP на экране настройки приложения (хост, порт, логин, пароль, шифрование). Проверьте отправку тестового письма и логи приложения при ошибках.
Факты и числа (вспомогательно)
- Let’s Encrypt: срок действия сертификата — 90 дней.
- Обычные порты: 80 (HTTP), 443 (HTTPS).
- Рекомендуемые PHP-параметры: memory_limit >= 512M, upload_max_filesize >= 200M.
Глоссарий (1 строка на термин)
- Apache — веб-сервер, обслуживает HTTP/HTTPS.
- MariaDB — сервер баз данных, форк MySQL.
- Certbot — клиент для получения SSL-сертификатов Let’s Encrypt.
Заключение
Поздравляем — вы установили OrangeScrum на Ubuntu 20.04, настроили базу данных, права и SSL. После развёртывания создайте тестовый проект, пригласите несколько пользователей и проверьте рабочие сценарии. Для продакшн-эксплуатации не забудьте настроить регулярные бэкапы, мониторинг и базовые правила безопасности.
Notes: если у вас возникли ошибки, проверьте логи Apache и MariaDB, права на файлы и корректность конфигурации базы данных. При необходимости можно развернуть приложение в Docker для изоляции окружения.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента