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

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

• 6 min read • DevOps • Обновлено 24 Nov 2025
Установка OrangeScrum на Ubuntu 20.04
Установка OrangeScrum на Ubuntu 20.04

Скриншот интерфейса OrangeScrum

OrangeScrum — бесплатное и открытое приложение для управления проектами и совместной работы. Подходит для малого и среднего бизнеса. Позволяет создавать и управлять проектами, командами, документами и задачами, вести Scrum-доску, планировать спринты, работать со сторипоинтами и бэклогом проектов.

Ниже приведено подробное руководство по установке OrangeScrum на Ubuntu 20.04 с разъяснениями и полезными дополнениями: от создания базы данных до SSL и базовой безопасности.

Что вам понадобится

  • Сервер с Ubuntu 20.04 LTS.
  • Действующее доменное имя, указывающее на IP сервера (DNS A/AAAA).
  • Пароль root или учётная запись с sudo.
  • Базовые навыки работы в терминале (ssh, nano/vi).

Краткий план действий

  1. Установить Apache и MariaDB.
  2. Установить PHP 7.2 и расширения (используем PPA Ondřej).
  3. Настроить php.ini и перезапустить Apache.
  4. Создать базу данных и пользователя MariaDB.
  5. Отключить строгий режим SQL (если требуется).
  6. Развернуть код OrangeScrum, импортировать database.sql.
  7. Настроить права и виртуальный хост Apache.
  8. Установить 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. После успешной регистрации вы попадёте в панель управления:

Панель OrangeScrum

Рекомендации по безопасности и эксплуатации

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 открыт.

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

  1. По URL https://<ваш_домен> доступна страница входа OrangeScrum.
  2. Регистрация и вход проходят без ошибок.
  3. Приложение может сохранять задачи и проекты (создайте тестовый проект и задачу).
  4. SSL корректно установлен и перенаправление с HTTP на HTTPS работает.
  5. Логи 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 для изоляции окружения.


Поделиться: 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 быстро