Как установить Gitea на Ubuntu 20.04 LTS

12 set 2022 6 min di lettura
Как установить Gitea на Ubuntu 20.04 LTS
Indice dei contenuti

Введение

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
server {
 listen 80;
 server_name git.example.com;

 include snippets/letsencrypt.conf;
 return 301 https://git.example.com$request_uri;
 }

 server {
 listen 443 ssl http2;
 server_name git.example.com;

 proxy_read_timeout 720s;
 proxy_connect_timeout 720s;
 proxy_send_timeout 720s;

 client_max_body_size 50m;

 # Proxy headers
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header X-Forwarded-Proto $scheme;
 proxy_set_header X-Real-IP $remote_addr;

 # SSL parameters
 ssl_certificate /etc/letsencrypt/live/git.example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/git.example.com/privkey.pem;
 ssl_trusted_certificate /etc/letsencrypt/live/git.example.com/chain.pem;
 include snippets/letsencrypt.conf;
 include snippets/ssl.conf;

 # log files
 access_log /var/log/nginx/git.example.com.access.log;
 error_log /var/log/nginx/git.example.com.error.log;

 # Handle /requests
 location /{
 proxy_redirect off;
 proxy_pass http://127.0.0.1:3000;
 }
 }
/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
[server]
 DOMAIN = git.example.com
 ROOT_URL = https://git.example.com/
/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
[mailer]
 ENABLED = true
 HOST = SMTP_SERVER:SMTP_PORT
 FROM = SENDER_EMAIL
 USER = SMTP_USER
 PASSWD = YOUR_SMTP_PASSWORD
/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.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.