Введение
Gitea — это быстрый и простой в использовании собственный git-сервер, написанный на Go.Он включает в себя редактор файлов репозитория, отслеживание проблем проекта, управление пользователями, уведомления, встроенную вики и многое другое.
Gitea — это легкое приложение, которое можно установить в системах с низким энергопотреблением. Если вы ищете альтернативу Gitlab с гораздо меньшим объемом памяти и вам не нужны все функции, которые предлагает Gitlab, вам следует попробовать Gitea.
В этой статье объясняется, как установить и настроить Gitea на Ubuntu 20.04 LTS Focal Fossa.
Предпосылки
Gitea поддерживает SQLite, PostgreSQL и MySQL /MariaDB в качестве серверной части базы данных.
SQLite рекомендуется только для небольших установок. В более крупных установках следует использовать MySQL или PostgreSQL.
Мы будем использовать SQLite в качестве базы данных для Gitea. Если SQLite не установлен в вашей системе Ubuntu, установите его, введя следующие команды от имени пользователя sudo:
sudo apt update
sudo apt install sqlite3
Установить Гитею
Gitea предоставляет образы Docker и может быть установлен из исходного кода, бинарного файла или в виде пакета. Мы установим Gitea из бинарного файла.
Установить Гит
Первый шаг — установить Git на свой сервер:
sudo apt update
sudo apt install git
Проверьте установку, просмотрев версию Git:
git --version
git version 2.25.1
Создайте пользователя Git
Создайте нового системного пользователя, который будет запускать приложение Gitea, набрав:
sudo adduser \
--system \
--shell /bin/bash \
--gecos 'Git Version Control' \
--group \
--disabled-password \
--home /home/git \
git
Приведенная выше команда создает нового пользователя и группу с именем git
и устанавливает домашний каталог в /home/git
. Вывод будет выглядеть следующим образом:
Adding system user `git' (UID 112)...
Adding new group `git' (GID 118)...
Adding new user `git' (UID 112) with group `git'...
Creating home directory `/home/git'...
Загрузите бинарный файл Gitea
Перейдите на страницу загрузки Gitea и загрузите последний двоичный файл для своей архитектуры. На момент написания последней версией была 1.10.2. Если доступна новая версия, измените переменную VERSION
в приведенной ниже команде.
Используйте wget
для загрузки бинарного файла Gitea в каталог /tmp
:
VERSION=1.14.1
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
Вы можете запустить двоичный файл gitea
из любой позиции. Мы будем следовать соглашению и переместим бинарник в каталог /usr/local/bin
:
sudo mv /tmp/gitea /usr/local/bin
Сделайте бинарный исполняемый файл:
sudo chmod +x /usr/local/bin/gitea
Выполните следующие команды, чтобы создать каталоги и установить необходимые разрешения и права собственности:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
Указанная выше структура каталогов рекомендована официальной документацией Gitea.
Права доступа к каталогу /etc/gitea
установлены 770
, чтобы мастер установки мог создать файл конфигурации. После завершения установки мы установим более ограничительные разрешения.
Создайте файл диска Systemd
Мы будем запускать Gitea как системную службу.
Загрузите пример файла диска systemd в каталог /etc/systemd/system
, набрав:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
Нет необходимости изменять файл, он настроен в соответствии с нашей конфигурацией.
Включите и запустите службу Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Убедитесь, что Gitea работает:
sudo systemctl status gitea
● gitea.service - Gitea (Git with a cup of tea)
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
Main PID: 77781 (gitea)
Tasks: 6 (limit: 470)
Memory: 130.6M
CGroup: /system.slice/gitea.service
└─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini...
Настроить Gitea
Теперь, когда Gitea загружена и запущена, мы можем завершить установку через веб-интерфейс.
По умолчанию Gitea прослушивает соединения на порту 3000
на всех сетевых интерфейсах.
Если на вашем сервере работает брандмауэр UFW, вам нужно будет открыть порт Gitea. Чтобы разрешить трафик через порт 3000
, введите следующую команду:
sudo ufw allow 3000/tcp
Откройте браузер, введите http://YOUR_DOMAIN_IR_IP:3000
и появится экран, подобный следующему:
Настройки базы данных:
- Тип базы данных: SQLite3
- Путь: используйте абсолютный путь,
/var/lib/gitea/data/gitea.db
Общие настройки приложения:
- Название сайта: введите название вашей организации.
- Путь к корневому репозиторию: Оставьте заданный по умолчанию
var/lib/gitea/data/gitea-repositories
. - Git LFS Root Path: Оставьте по умолчанию
/var/lib/gitea/data/lfs
. - Запуск от имени пользователя: git
- Домен SSH-сервера: введите домен или IP-адрес сервера.
- Порт SSH: 22, измените его, если SSH прослушивает другой порт
- Порт прослушивания Gitea HTTP: 3000
- Базовый URL-адрес Gitea: используйте http и домен вашего сервера или IP-адрес.
- Путь журнала: Оставьте по умолчанию
/var/lib/gitea/log
Вы можете изменить настройки в любое время, отредактировав файл конфигурации Gitea.
Чтобы начать установку, нажмите кнопку «Установить Gitea».
Установка мгновенная. После завершения вы будете перенаправлены на страницу входа.
Нажмите на ссылку «Нужна учетная запись? Зарегистрируйтесь сейчас».. Первый зарегистрированный пользователь автоматически добавляется в группу администраторов.
Измените права доступа к файлу конфигурации Gitea только для чтения, используя:
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Это все. Gitea была установлена на вашем компьютере с Ubuntu.
Настройте Nginx в качестве прокси-сервера завершения SSL.
Этот шаг необязателен, но настоятельно рекомендуется. Завершение SSL означает, что Nginx будет действовать как промежуточная точка между приложением Gitea и веб-клиентами, чтобы вы могли получить доступ к Gitea через HTTPS.
Чтобы использовать Nginx в качестве обратного прокси-сервера, вам необходимо иметь домен или субдомен, указывающий на общедоступный IP-адрес вашего сервера. В этом примере мы будем использовать git.example.com
.
Сначала установите Nginx и создайте бесплатный SSL-сертификат Let’s Encrypt, используя приведенные ниже инструкции:
После этого откройте текстовый редактор, отредактируйте файл домена и настройте блок сервера nginx:
sudo nano /etc/nginx/sites-enabled/git.example.com
Не забудьте заменить git.example.com своим доменом Gitea и указать правильный путь для файлов SSL-сертификата. HTTP-трафик перенаправляется на HTTPS
Перезапустите службу Nginx, чтобы изменения вступили в силу:
sudo systemctl restart nginx
Затем измените домен Gitea и корневой URL. Для этого откройте файл конфигурации и отредактируйте следующие строки:
sudo nano /etc/gitea/app.ini
Перезапустите службу Gitea, набрав:
sudo systemctl restart gitea
На этом этапе прокси-сервер Gitea настроен, и вы можете получить к нему доступ по адресу: https://git.example.com
.
Настроить уведомления по электронной почте
Если вы хотите, чтобы ваш экземпляр Gitea отправлял уведомления по электронной почте, вы можете установить Postfix или использовать некоторые службы транзакционной почты, такие как SendGrid, MailChimp, MailGun или SES.
Чтобы включить уведомления по электронной почте, откройте файл конфигурации и отредактируйте следующие строки:
sudo nano /etc/gitea/app.ini
Убедитесь, что вы вводите правильную информацию о SMTP-сервере.
Перезапустите службу Gitea, чтобы изменения вступили в силу:
sudo systemctl restart gitea
Чтобы проверить настройки и отправить тестовое письмо, войдите в Gitea и перейдите в раздел: «Администрирование сайта»> «Конфигурация»> «Конфигурация SMTP Mailer».
Gitea также позволяет вам подключаться к Slack, создавая веб- хук и отправляя уведомления на ваши каналы Slack.
Обновить Гитею
Чтобы перейти на последнюю версию Gitea, просто загрузите и замените двоичный файл.
Остановите службу Gitea:
sudo systemctl stop gitea
Загрузите последнюю версию Gitea и переместите ее в каталог /usr/local/bin
:
VERSION=<THE_LATEST_GITEA_VERSION>
wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin
Сделайте бинарный исполняемый файл:
sudo chmod +x /usr/local/bin/gitea
Перезапустите службу Gitea:
sudo systemctl restart gitea
Это все.
Вывод
В этом руководстве вы познакомились с установкой Gitea на Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной информации о том, как настроить экземпляр Gitea и создать свой первый проект, посетите страницу документации Gitea.