AstraLinux - установка и запуск GitFlic
Данная инструкция по установке GitFlic была проверена на операционной системе Astra Linux Special Edition версии 1.7.5.UU.1.
Рекомендуемые системные требования
Параметр | Рекомендации |
---|---|
CPU | 2 ядра Ice Lake |
RAM | 4 Гб |
HDD | Зависит от объёма ваших репозиториев. От 25 Гб |
Требования к ПО (в скобках указаны версии в AstraLinux 1.7.x):
- Java 11 (openjdk 11.0.18)
- Redis 6.2 (redis-server 7.0.10)
- PostgreSQL 11/12 (psql 11.17)
- Опционально (для self-hosted enterprise): RabbitMQ 3.12 (rabbitmq-server)
Предварительные условия.
-
Ознакомьтесь с официальными инструкциями по установке зависимостей на сайте AstraLinux
-
Проверьте доступность сетевого репозитория
curl -IL https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/
Вывод команды curl -IL https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/
HTTP/2 200
server: nginx/1.22.1
date: Thu, 29 Aug 2024 13:55:33 GMT
content-type: text/html; charset=utf-8
- Подключите сетевой репозиторий добавив в файл
/etc/apt/source.list
строку.
deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
- Обновите список пакетов:
sudo apt update
- После установки ПО GitFlic и всех зависимостей, удалите или закоментируйте строку подключения сетевого репозитория в файле
/etc/apt/source.list
#deb https://download.astralinux.ru/astra/stable/1.7_x86-64/repository-base/ 1.7_x86-64 main contrib non-free
- Обновите список пакетов:
sudo apt update
Установка Java 11
- Проверить доступные версии OpenJDK:
apt policy openjdk-11-jdk
- Установить пакет:
sudo apt install openjdk-11-jdk
- Проверка установленной версии:
java --version
Установка PostgreSQL
Инструкция по установке на сайте AstraLinux
- Проверить доступные версии OpenJDK:
apt policy postgresql
- Установить пакет:
sudo apt install postgresql
- Проверка установленной версии:
psql --version
- Проверка запущенной службы:
systemctl status postgresql
Конфигурация PostgreSQL
- Установить параметр
zero_if_notfound
вyes
в файлеetc/parsec/mswitch.conf
и перезапустить службы
sudo systemctl daemon-reload
❗️Данный параметр позволит устанавливать нулевой уровень доступа для всех пользователей с неопределенными правами
- Подключение к консоли psql:
sudo -u postgres psql
- Создание пользователя с паролем, БД с указанным владельцем, выход:
CREATE USER gitflic WITH PASSWORD 'gitflic';
CREATE DATABASE gitflic WITH OWNER gitflic;
\q
- Вход в созданную базу данных gitflic:
sudo -u postgres psql -d gitflic
- Загрузка расширения pgcrypto для базы gitflic, выход (обязательно):
CREATE EXTENSION pgcrypto;
\q
- Перезагрузка сервера БД для принятия изменений:
sudo service postgresql restart
Установка Redis
- Проверить доступную версию Redis:
apt policy redis
- Установка пакета:
sudo apt install redis
- Проверка версии Redis:
redis-server --version
- Состояние сервиса:
systemctl status redis
- Проверить доступность redis с помощью команды (должно вернуться PONG)
redis-cli ping
Установка RabbitMQ (опционально)
Данное ПО устанавливается для платной версии self-hosted enterprise. RabbitMQ - это распределённый и горизонтально масштабируемый брокер сообщений, является одним из самых популярных средств для обмена данными между сервисами. Благодаря использованию RabbitMQ увеличиваются отказоустойчивость и количество обрабатываемых сообщений в GitFlic.
- Проверить доступную версию rabbitmq-server:
apt policy rabbitmq-server
- Установка пакета:
sudo apt install rabbitmq-server
После установки RabbitMQ
сам запускается и добавляется в автозагрузку. Проверка статуса службы:
systemctl status rabbitmq-server
Установите Gitflic согласно инструкции:
Сконфигурируйте SSH port согласно инструкции:
Сконфигурируйте и запустите Gitflic согласно инструкции:
Конфигурирование и запуск приложения GitFlic
❗️Возможные проблемы
psql: error obtaining MAC configuration for user...
Ошибка означает что БД не может верно определить метку безопасности пользователя.
Для устранения необходимо проверить есть ли у пользователя который запускает СУБД (postgres по умолчанию) необходимые права на чтение и исполнение необходимых директорий
sudo getfacl /etc/parsec/macdb/
sudo getfacl /etc/parsec/capdb/
Запись в выводе user:postgres:r-x
Если данной записи в выводе нет, необходимо задать необходимые права
sudo setfacl -R -m u:postgres:rx /etc/parsec/capdb
sudo setfacl -R -m u:postgres:rx /etc/parsec/macdb
Проверить результат перезапуском приложения.
Если ошибка осталась
Установите валидные уровни конфиденциальности для пользователя согласно официальной инструкции