Установка Orangescrum на CentOS 8

Ключевые варианты запросов
- Установка Orangescrum на CentOS 8
- Orangescrum LAMP установка
- Развернуть Orangescrum локально
- Orangescrum MariaDB конфигурация
Требования
- Операционная система: CentOS 8
- Пользователь с sudo-привилегиями (не root)
- Если в MySQL/MariaDB включён строгий режим (STRICT), отключите его
Важно: перед началом убедитесь, что у вас есть доступ к интернету с сервера для загрузки пакетов и исходников.
Начало работы
Войдите в систему CentOS под пользователем с sudo и обновите все пакеты:
dnf updateУстановка LAMP-сервера
1. Установка Apache
Установите Apache:
sudo dnf -y install httpdПроверьте статус сервиса:
systemctl status httpdЕсли служба не запущена, запустите и включите её автозагрузку:
sudo systemctl start httpd
sudo systemctl enable httpd2. Установка и базовая настройка MariaDB
Установите сервер MariaDB:
sudo dnf install mariadb-serverЗапустите и включите MariaDB, затем проверьте статус:
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadbЗащитите установку MariaDB (mysql_secure_installation). Следуйте подсказкам и задайте надёжный пароль root:
sudo mysql_secure_installationОбычные ответы: задайте пароль root, удалите анонимных пользователей, запретите удалённый вход root, удалите тестовую базу и перезагрузите таблицы привилегий.
Войдите в консоль MariaDB:
sudo mysql -u root -pПроверьте текущий sql_mode:
MariaDB [(none)]> SHOW VARIABLES LIKE 'sql_mode';Если в списке присутствует STRICT_TRANS_TABLES или другой строгий режим, отключите строгий режим глобально (временное изменение):
MariaDB [(none)]> SET GLOBAL sql_mode = 'NO_ENGINE_SUBSTITUTION';Проверьте значение:
MariaDB [(none)]> SELECT @@GLOBAL.sql_mode;
Затем перезапустите MariaDB, чтобы изменения вступили в силу:
sudo systemctl restart mariadbСоздайте базу данных и пользователя для Orangescrum. Войдите в MySQL, если ещё не в нём:
sudo mysql -u root -pВ консоли выполните:
MariaDB [(none)]> CREATE DATABASE orangescrum;
MariaDB [(none)]> CREATE USER 'orangescrum_user'@'localhost' IDENTIFIED BY 'YourStrongPassword';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orangescrum.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'YourStrongPassword' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exitПримечание: замените YourStrongPassword на надёжный пароль. При необходимости используйте другой хост вместо ‘localhost’.
3. Установка и настройка PHP
Установите PHP и необходимые расширения:
sudo dnf install php php-cli php-mysqlnd php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-curl php-opcache php-bcmath php-fpmСделайте резервную копию php.ini и измените параметры загрузки файлов и POST:
cp /etc/php.ini /etc/php.ini.bak
sudo vim /etc/php.iniНайдите и измените значения (например, увеличьте до 200M):
post_max_size=200M
upload_max_filesize=200MСохраните файл и перезапустите Apache:
sudo systemctl restart httpdЗагрузка и установка Orangescrum
Скачайте исходники Open Source версии:
sudo wget https://github.com/Orangescrum/orangescrum/archive/master.zipРаспакуйте архив:
sudo unzip master.zipПереместите папку в веб-директорию и установите права доступа:
sudo mv orangescrum-master /var/www/html/
sudo chown -R apache:apache /var/www/html/orangescrum-master
sudo chmod -R 777 /var/www/html/orangescrum-masterВажно: chmod 777 — удобно для установки, но небезопасно на production. См. раздел «Укрепление безопасности» ниже.
Настройка виртуального хоста Apache
Создайте файл конфигурации:
sudo vim /etc/httpd/conf.d/orangescrum.confДобавьте содержимое:
ServerName localhost
DocumentRoot /var/www/html/orangescrum-master
AllowOverride All
Order allow,deny
allow from all
Проверьте синтаксис и перезапустите Apache:
sudo apachectl configtest
sudo systemctl restart httpdКонфигурация Orangescrum
Импортируйте таблицы в базу данных:
mysql -u orangescrum_user -p orangescrum < /var/www/html/orangescrum-master/database.sqlОтредактируйте файл подключения к базе данных:
vim /var/www/html/orangescrum-master/app/Config/database.phpЗамените параметры подключения на ваши данные:
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'localhost',
'login' => 'orangescrum_user',
'password' => 'Your_StrongPassword',
'database' => 'orangescrum',
'prefix' => '',
'encoding' => 'utf8',
);
}Сохраните изменения.
Отредактируйте constants.php для настройки SMTP и уведомлений:
sudo vim /var/www/html/orangescrum-master/app/Config/constants.phpНайдите и измените блок SMTP, указав свои значения:
//Gmail SMTP
define("SMTP_HOST", "ssl://smtp.gmail.com");
define("SMTP_PORT", "465");
define("SMTP_UNAME", "[email protected]");
define("SMTP_PWORD", "******");
define("IS_SMTP", "0");
define('FROM_EMAIL_NOTIFY', '[email protected]');
define('SUPPORT_EMAIL', '[email protected]');Снова перезапустите Apache:
sudo systemctl restart httpdПравила брандмауэра и SELinux
Откройте порт HTTP в firewalld:
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reloadДля быстрой отладки можно временно отключить SELinux:
setenforce 0Важно: временное отключение SELinux облегчает установку, но лучше настроить постоянные правила SELinux для web-сервисов или включить обратно в production.
Тестирование установки
Откройте браузер и перейдите по адресу http://yourserverIP. На странице установки введите название компании, email и пароль, затем нажмите Sign Up. Проверьте, что вы можете войти и создать проект/таск.
Критерии приёмки
- На странице http://yourserverIP доступен интерфейс Orangescrum
- Успешный вход после регистрации
- Создание проекта и задачи без ошибок
- Уведомления по SMTP доставляются при включенной SMTP-конфигурации (если установлен IS_SMTP = 1)
Типичные проблемы и их решения
- Ошибка подключения к базе: проверьте database.php, логин/пароль и хост, убедитесь, что пользователь имеет права на базу.
- Проблемы с правами файлов: временно используйте chmod 775 и chown apache:apache; избегайте 777 в долговременной эксплуатации.
- PHP ошибки при загрузке страниц: проверьте логи Apache (/var/log/httpd/error_log) и включите display_errors только для отладки.
- SMTP не отправляет письма: проверьте правильность хоста/порта/логина, при использовании Gmail — проверьте разрешения аккаунта и двухфакторную аутентификацию.
Роль-based чек-листы перед запуском
Администратор сервера:
- Установить и обновить пакеты OS
- Создать пользователя с sudo
- Настроить брандмауэр и SELinux
- Обновить сертификаты (если нужен HTTPS)
БД-администратор:
- Создать базу и пользователя
- Проверить sql_mode и права
- Создать резервную политику бэкапов
Dev/Ops инженер:
- Настроить виртуальный хост Apache
- Настроить PHP и расширения
- Настроить мониторинг сервисов (uptime, disk)
Менеджер проекта / владелец продукта:
- Проверить работу основных функций: создание проектов, задач, уведомлений
- Подтвердить требования по безопасности и доступам
Укрепление безопасности (рекомендации)
- Замените временные права 777 на более строгие (например, 750/770) и назначьте владельцем apache:apache.
- Включите SELinux и настройте необходимые boolean-переменные для httpd (setsebool -P httpd_can_network_connect on), если требуется исходящая почта.
- Настройте HTTPS (Let’s Encrypt) и перенаправление с HTTP на HTTPS.
- Ограничьте доступ к административным интерфейсам по IP, если возможно.
- Настройте регулярный бэкап базы данных и файлов приложения.
Небольшое руководство по откату и инцидентам
- Если сайт недоступен после изменений конфигурации Apache: выполнить sudo apachectl configtest, откатить файл конфигурации и перезапустить httpd.
- Если база повреждена: восстановить из последнего бэкапа .sql.
- При утечке учётной записи администратора: сразу сбросить пароли и отключить внешний доступ к серверу, проверить логи.
Короткая методология развертывания (мини-SOP)
- Подготовка сервера: обновление пакетов, создание sudo-пользователя.
- Установка Apache, MariaDB, PHP и зависимостей.
- Создание базы данных и пользователя, импорт схемы.
- Копирование исходников Orangescrum в /var/www/html.
- Настройка конфигураций (database.php, constants.php).
- Проверка работы, настройка брандмауэра и HTTPS.
- Перевод в production: ужесточение прав, включение SELinux, настройка бэкапов.
Тестовые сценарии и приёмка
- Регистрация нового аккаунта — ожидаемый результат: пользователь создан, перенаправление в панель.
- Создание проекта — ожидаемый результат: проект появляется в списке.
- Загрузка вложения > 50 МБ — ожидаемый результат: файл принимается при upload_max_filesize=200M.
- Отправка уведомления по почте — ожидаемый результат: письмо доставлено (проверить спам).
Краткое резюме
- Orangescrum можно развернуть на CentOS 8 с использованием Apache, MariaDB и PHP.
- Важные шаги: отключение строгого режима SQL, корректная настройка прав файлов и параметров PHP, импорт базы данных и настройка SMTP.
- Перевод в production требует усиления безопасности: HTTPS, корректные права, SELinux и бэкапы.
Важно: перед развёртыванием на рабочей среде тестируйте все изменения в изолированной среде.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента