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

GitScrum — бесплатное и open-source приложение управления задачами на базе Laravel. Оно интегрирует практики Git и Scrum, предоставляет учёт времени, бэклог, доски задач, спринты и многое другое. В этой инструкции показано по шагам, как установить GitScrum на сервер с Debian 10.
Кому подходит эта инструкция
- Сисадминам и DevOps-инженерам, которые настраивают self-hosted PM-инструмент.
- Командам разработки и агентствам, которые хотят интеграцию с GitHub.
Предварительные требования
- Сервер с Debian 10 (root-доступ).
- Домен, указывающий на IP сервера (в примерах test.linuxbuz.com).
- Настроенный root-пароль или пользователь с sudo.
Короткая модель действий
- Обновить систему. 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.



Откройте файл .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.



Критерии приёмки
- Веб-интерфейс доступен по заданному домену.
- Миграции и сиды выполнены без ошибок.
- Успешная авторизация через 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; создал первые проекты/пользователей.
Мини-методология развёртывания (шаги для автоматизации)
- Подготовить образ сервера (или Docker image).
- Установить зависимости (PHP, расширения, Composer).
- Деплой кода (composer create-project или git clone + composer install).
- Настроить .env и секреты (включая OAuth credentials).
- Выполнить миграции и seed.
- Настроить виртуальный хост и SSL.
- Назначить права и запустить мониторинг.
Критические проверки после установки
- Открыть 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 — напишите, уточните требования окружения.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента