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

Установка GitScrum на Debian 10 — пошаговая инструкция

• 5 min read • DevOps • Обновлено 23 Nov 2025
Установка GitScrum на Debian 10 — пошагово
Установка GitScrum на Debian 10 — пошагово

Важно: в примерах используется PHP 7.3 и системная директория /var/www/html. При необходимости адаптируйте пути и версию PHP под вашу среду.

Логотип и интерфейс GitScrum на экране установки

GitScrum — бесплатное и open-source приложение управления задачами на базе Laravel. Оно интегрирует практики Git и Scrum, предоставляет учёт времени, бэклог, доски задач, спринты и многое другое. В этой инструкции показано по шагам, как установить GitScrum на сервер с Debian 10.

Кому подходит эта инструкция

  • Сисадминам и DevOps-инженерам, которые настраивают self-hosted PM-инструмент.
  • Командам разработки и агентствам, которые хотят интеграцию с GitHub.

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

  • Сервер с Debian 10 (root-доступ).
  • Домен, указывающий на IP сервера (в примерах test.linuxbuz.com).
  • Настроенный root-пароль или пользователь с sudo.

Короткая модель действий

  1. Обновить систему. 2. Установить LAMP и PHP-расширения. 3. Настроить MariaDB и создать БД/пользователя. 4. Установить Composer. 5. Установить GitScrum через Composer. 6. Настроить .env, выполнить миграции и назначить права. 7. Настроить виртуальный хост Apache и проверить доступ.

Обновление системы

Перед началом обновите пакеты:

apt-get update -y  
apt-get upgrade -y

После апгрейда рекомендуется перезагрузить сервер.

Установка LAMP и необходимых PHP-расширений

Установите Apache, MariaDB, PHP и набор расширений, используемых GitScrum:

apt-get install apache2 mariadb-server libapache2-mod-php php php-cli php-common php-mailparse php-mysql php-gmp php-curl php-mbstring php-imap php-ldap php-gd php-xml php-cli php-zip php-yaml php-dev php-pear unzip curl git -y

После установки откройте файл php.ini и измените параметры. В примере используется PHP 7.3 для Apache:

nano /etc/php/7.3/apache2/php.ini

Измените или добавьте:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 300
date.timezone = Europe/Moscow

Сохраните и закройте файл. Затем запустите и включите сервисы Apache и MariaDB:

systemctl start apache2  
systemctl start mariadb  
systemctl enable apache2  
systemctl enable mariadb

Настройка MariaDB

По умолчанию в Debian 10 пароль root для MariaDB может не быть настроен. Настройте его и создайте базу данных для GitScrum.

Войдите в консоль MariaDB:

mysql

Установите пароль root (пример):

MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("rootpassword");

Создайте базу и пользователя для GitScrum:

MariaDB [(none)]> CREATE DATABASE gitscrumdb;  
MariaDB [(none)]> CREATE USER 'gitscrumuser'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON gitscrumdb.* TO 'gitscrumuser'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Совет: дополнительно пройдите mysql_secure_installation для повышения безопасности сервера БД.

Установка Composer

Composer — менеджер зависимостей PHP. Скачайте установщик:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Проверьте целостность загрузки и установите Composer:

HASH="$(wget -q -O - https://composer.github.io/installer.sig)"  
php -r "if (hash_file('SHA384', 'composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Ожидаемый вывод:

Installer verified

После этого composer будет доступен в системе.

Развёртывание GitScrum

Перейдите в корень веб-документа и установите GitScrum через Composer:

cd /var/www/html  
composer create-project gitscrum-community-edition/laravel-gitscrum --stability=stable --keep-vcs

Примерный вывод установки (часть):

Generating autoload files
> Illuminate\Foundation\ComposerScripts::postInstall
> php artisan optimize
Generating optimized class loader
The compiled class file has been removed.
> php artisan key:generate
Application key [base64:yWIVSUl6uHXpIcSt5wxsplPwGJjSj9uWKYjy/4q2XY0=] set successfully.

Зайдите в каталог проекта и выполните обновления и скрипты:

cd laravel-gitscrum  
composer update  
composer run-script post-root-package-install

Интеграция с GitHub (OAuth)

GitScrum поддерживает авторизацию через GitHub. Создайте новое приложение на GitHub:

https://github.com/settings/applications/new

На странице регистрации приложения укажите имя, Homepage URL (например http://test.linuxbuz.com) и получите Client ID и Client Secret.

Регистрация GitHub приложения

Регистрация OAuth

Страница приложения GitScrum на GitHub

Откройте файл .env проекта и укажите параметры окружения, включая данные БД и значения GitHub:

nano /var/www/html/laravel-gitscrum/.env

Пример фрагмента .env (сохранён из исходной инструкции):

APP_ENV=local
APP_KEY=base64:W2ToyfW8zHqtWfcZb1hp2kZgccbuy3XtERDyZywtVkE=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://test.linuxbuz.com
APP_TITLE=GitScrum

GITHUB_CLIENT_ID=39f148ce467544b487cb
GITHUB_CLIENT_SECRET=370f0cfc50c8fca9179fae3f74b229b6b69b05f6

GITLAB_KEY=
GITLAB_SECRET=
GITLAB_INSTANCE_URI=https://gitlab.com/

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrumdb
DB_USERNAME=gitscrumuser
DB_PASSWORD=password

APP_PAGINATE=10

PROXY_PORT=
PROXY_METHOD=
PROXY_SERVER=
PROXY_USER=
PROXY_PASS=

Сохраните .env и выполните миграции и начальные сиды:

php artisan migrate  
php artisan db:seed

Ожидаемый вывод части сидов:

Seeded: ConfigIssueEffortsTableSeeder
Seeded: ConfigPrioritiesTableSeeder
Seeded: IssueTypesTableSeeder
Seeded: ConfigStatusesTableSeeder

Назначьте права и владельца папок проекта веб-серверу:

chown -R www-data:www-data /var/www/html/laravel-gitscrum/  
chmod -R 775 /var/www/html/laravel-gitscrum/

Настройка Apache

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

nano /etc/apache2/sites-available/gitscrum.conf

Добавьте конфигурацию (адаптируйте ServerName и DocumentRoot при необходимости):


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/laravel-gitscrum/public
     ServerName test.linuxbuz.com

     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

Проверьте синтаксис Apache и включите сайт и модуль rewrite:

apache2ctl configtest

Ожидаемый ответ:

Syntax OK

Включите конфигурацию и модуль:

a2ensite gitscrum.conf  
a2enmod rewrite

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

systemctl restart apache2

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

systemctl status apache2

Пример вывода статуса сервиса Apache есть в исходной инструкции.

Доступ к GitScrum

Откройте браузер и перейдите по адресу http://test.linuxbuz.com. На странице входа нажмите «Login with GitHub», разрешите доступ приложению — после успешной авторизации вы увидите панель GitScrum.

Доступ к GitScrum

Разрешение GitScrum

Панель GitScrum

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

  • Веб-интерфейс доступен по заданному домену.
  • Миграции и сиды выполнены без ошибок.
  • Успешная авторизация через GitHub.
  • Записи в логах Apache и Laravel не содержат критических ошибок.

Типичные проблемы и их решение (runbook)

  • Проблема: 500 Internal Server Error.

    • Проверить логи Apache (/var/log/apache2/error.log) и storage/logs/laravel.log.
    • Убедиться, что права и владелец директорий выставлены (www-data).
  • Проблема: ошибка миграции / нет доступа к БД.

    • Проверить правильность DB_* в .env и доступ пользователя MariaDB.
    • Проверить, что MariaDB слушает на localhost и порт 3306.
  • Проблема: Composer падал при установке зависимостей.

    • Убедиться, что установлены требуемые PHP-расширения (mbstring, xml, zip, curl, gd и др.).
    • Попробовать увеличить memory_limit или запускать composer с флагом –no-dev (для продакшена).
  • Проблема: OAuth не работает.

    • Проверить Redirect URL в настройках GitHub-приложения и APP_URL в .env.

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

  • Переведите сайт на HTTPS с помощью Let’s Encrypt certbot и автоматизируйте обновление сертификатов.
  • Отключите APP_DEBUG в .env на продакшене (APP_DEBUG=false).
  • Не оставляйте в .env реальные креденшелы в публичных репозиториях.
  • Пройдите mysql_secure_installation и ограничьте сетевой доступ к MariaDB только с доверенных хостов.

Альтернативные подходы

  • Docker / Docker Compose: для изоляции окружения и быстрой миграции между серверами имеет смысл готовить docker-compose.yml с PHP-FPM, Nginx, MariaDB и volume. Это уменьшает различия окружений.
  • Использовать готовые хостинговые платформы (PaaS) — если не нужен self-hosting.

Чек-лист по ролям

  • Сисадмин:
    • Обновил систему; установил LAMP; настроил SSL; настроил бэкапы БД.
  • Разработчик:
    • Проверил, что composer update прошёл; выполнил миграции; настроил переменные окружения.
  • Продуктовый владелец:
    • Проверил доступы через GitHub; создал первые проекты/пользователей.

Мини-методология развёртывания (шаги для автоматизации)

  1. Подготовить образ сервера (или Docker image).
  2. Установить зависимости (PHP, расширения, Composer).
  3. Деплой кода (composer create-project или git clone + composer install).
  4. Настроить .env и секреты (включая OAuth credentials).
  5. Выполнить миграции и seed.
  6. Настроить виртуальный хост и SSL.
  7. Назначить права и запустить мониторинг.

Критические проверки после установки

  • Открыть URL и пройти авторизацию GitHub.
  • Проверить, что вкладки Backlog, Sprint, Board открываются и создаются задачи.
  • Проверить логи Laravel на ошибки за первые 10–30 минут работы.

Когда этот подход не подойдёт

  • Если вам нужна сквозная CI/CD интеграция с приватными GitLab-инстансами — потребуется дополнительная настройка OAuth и webhooks.
  • Если инфраструктура требует высокой доступности и автоматического масштабирования — стоит рассмотреть контейнеризацию и оркестрацию (Kubernetes).

Заключение

Поздравляем — вы установили GitScrum на Debian 10. Теперь можно настроить проекты, интеграции с репозиториями и начать вести спринты. При возникновении вопросов проверьте логи, пересмотрите .env и убедитесь в корректности прав доступа.

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

  • Проверьте пакеты и зависимости PHP.
  • Настройте БД и .env аккуратно.
  • Выполните миграции и назначьте права.
  • Включите HTTPS и отключите APP_DEBUG на продакшене.

Если нужна помощь с Docker-развёртыванием, автоматизацией деплоя или настройкой SSL — напишите, уточните требования окружения.

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