Как установить Gitea на Debian 12

Gitea − инструмент, позволяющий хранить код и работать с ним, как на GitHub, но при этом использовать собственный сервер. Gitea позволяет загружать репозитории, отслеживать историю изменений, возвращаться к старым версиям, а также работать над проектами вместе с другими пользователями сервиса. Приложение не требует большого количества серверных ресурсов и работает через веб-интерфейс. При этом в Gitea применяются обычные команды Git. Gitea написан на языке Go, благодаря чему он быстрый в работе и простой в запуске. В статье разберём, как установить Gitea на Debian 12.

Как установить Gitea на Debian

Gitea использует Git как основу для работы с кодом. Именно Git отвечает за хранение, отслеживание изменений и управление версиями файлов. Исходя из чего, во-первых, обновите списки доступных в системе пакетов и установите Git:

$ sudo apt update

$ sudo apt install git

Далее запустите браузер, откройте там страницу загрузок официального сайта Gitea и выберите версию для инсталляции. Затем кликните в выбранную версию и при помощи правой кнопки скопируйте ссылку на загрузку дистрибутива для 64-разрядной сборки Linux.

Страницу загрузок на официальном сайте Gitea

Для загрузки файлов из сети используется утилита wget, которая по умолчанию не установлена в образе Debian. Поэтому перейдите к серверу и установите утилиту:

$ sudo apt install wget

После чего загрузите бинарный файл Gitea, используя утилиту wget и скопированную ранее ссылку:

$ wget -O gitea https://dl.gitea.com/gitea/1.24.2/gitea-1.24.2-linux-amd64

Опция -O в утилите wget в сочетании с параметром gitea указывает на то, что загружаемый бинарный файл будет сохранён под именем gitea. Чтобы сделать этот файл исполняемым, выдайте ему соответствующее разрешение:

$ chmod +x gitea

Поскольку веб-интерфейс Gitea работает с использованием порта 3000, необходимо в брандмауэре UFW создать разрешающее правило для данного порта:

$ sudo ufw allow 3000

Теперь можно проверить работоспособность Gitea, для чего запустите команду:

$ ./gitea web

Чтобы подключиться к веб-интерфейсу Gitea, запустите браузер и перейдите на X.X.X.X:3000, где вместо X.X.X.X укажите IP-адрес виртуальной машины.

Страница начальной конфигурации Gitea

Если удалось открыть страницу начальной конфигурации, значит, Gitea работает, и можно вернуться к командной строке, чтобы остановить выполнение программы нажатием Ctrl C.

Запуск Gitea как системного сервиса

Для того чтобы не запускать Gitea вручную каждый раз с помощью ранее использованной команды и при этом обеспечить его постоянную работу, необходимо настроить приложение в качестве системной службы.

Для этого следует, во-первых, создать системного пользователя под именем gitea, который будет иметь доступ исключительно к директориям и файлам Gitea.

Чтобы это сделать, выполните команду:

$ sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/gitea gitea

После чего создайте необходимую структуру каталогов:

$ sudo mkdir -p /etc/gitea
$ sudo mkdir -p /var/lib/gitea/{custom,data,log}

Созданным каталогам назначьте соответствующие права:

$ sudo chown -R gitea:gitea /var/lib/gitea/
$ sudo chmod -R 750 /var/lib/gitea/
$ sudo chown -R root:gitea /etc/gitea
$ sudo chmod -R 770 /etc/gitea

Затем создайте для нового сервиса unit-файл:

$ sudo nano /etc/systemd/system/gitea.service

В него скопируйте следующие строки:

[Unit]
Description=Gitea Service
After=network.target
[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target

Закройте unit-файл с сохранением изменений и перенесите исполняемый файл Gitea в директорию /usr/local/bin/:

$ sudo mv gitea /usr/local/bin/

Следующей командой перечитайте все unit-файлы, чтобы конфигурация systemd узнала о появлении нового сервиса:

$ sudo systemctl daemon-reload

Затем запустите службу gitea с установкой её в автозагрузку:

$ sudo systemctl enable --now gitea

Чтобы убедиться в том, что сервис работает без ошибок, запустите команду, которая выводит его состояние:

$ systemctl status gitea

Вывод команды не должен содержать сообщений об ошибках.

Вывод состояния службы - Как установить Gitea на Debian

Проверка доступности веб-интерфейса Gitea

Если ошибок нет, откройте браузер и перейдите на веб-страницу Gitea по ссылке вида X.X.X.X:3000.

В браузере должна снова открыться страница начальной конфигурации, где необходимо произвести стартовую настройку Gitea. В частности, выберите тип базы данных, которая будет использоваться в работе системы. Также в расширенных настройках создайте первого пользователя, который будет выполнять функции администратора. Для применения первоначальной конфигурации нажмите Установить Gitea.

Расширенные настройки - Как установить Gitea на Debian

После того, как завершится первоначальная настройка системы, в браузере откроется главная страница веб-интерфейса Gitea.

Главная страница веб-интерфейса Gitea

Вам также может понравиться