Как установить и настроить Gitea в Ubuntu 18.04

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

Введение

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

Gitea — это легкое приложение, которое можно установить в системах с низким энергопотреблением. Если вы ищете альтернативу Gitlab с гораздо меньшим объемом памяти и не нуждаетесь во всех наворотах, которые предлагает Gitlab, то вам обязательно стоит попробовать Gitea.

В этом руководстве объясняется, как установить и настроить Gitea в Ubuntu 18.04.

Если вы хотите установить Gitea на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Предпосылки

Gitea поддерживает SQLite, PostgreSQL и MySQL /MariaDB в качестве серверной части базы данных.

Мы будем использовать SQLite в качестве базы данных для Gitea. Если SQLite не установлен в вашей системе Ubuntu, вы можете установить его, введя следующие команды от имени пользователя sudo:

sudo apt update
sudo apt install sqlite3

Установить Гитею

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

Мы установим Gitea из бинарника. Выполните следующие шаги, чтобы установить Gitea на Ubuntu.

Установить Гит

Первый шаг — установить Git на свой сервер, если он еще не установлен, введите следующие команды:

sudo apt update
sudo apt install git

Проверьте установку, просмотрев версию Git:

git --version
git version 2.17.1

Создайте пользователя Git

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

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

Команда создаст нового пользователя и новую группу git и установит домашний каталог в /home/git. Вывод будет выглядеть следующим образом:

Adding system user `git' (UID 111)...
 Adding new group `git' (GID 116)...
 Adding new user `git' (UID 111) with group `git'...
 Creating home directory `/home/git'...

Загрузите бинарный файл Gitea

Посетите страницу загрузки Gitea и загрузите последний двоичный файл для своей архитектуры. На момент написания последней версией была 1.10.2. Если доступна новая версия, измените переменную VERSION в следующей команде.

Загрузите бинарный файл Gitea в каталог /tmp с помощью следующей команды wget:

VERSION=1.10.2
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,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
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/master/contrib/systemd/gitea.service -P /etc/systemd/system/

После этого включите и запустите службу Gitea:

sudo systemctl daemon-reload
sudo systemctl enable --now 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 Sat 2020-01-18 16:06:34 CET; 20s ago
 Main PID: 2408 (gitea)
 Tasks: 7 (limit: 2298)
 CGroup: /system.slice/gitea.service
 └─2408 /usr/local/bin/gitea web --config /etc/gitea/app.ini

Настроить Gitea

Теперь, когда Gitea загружена и запущена, пришло время завершить установку через веб-интерфейс.

По умолчанию Gitea прослушивает соединения на порту 3000 на всех сетевых интерфейсах.

Если на вашем сервере работает брандмауэр UFW, вам нужно будет открыть порт Gitea:

Чтобы разрешить трафик через порт 3000, введите следующую команду:

sudo ufw allow 3000/tcp

Откройте браузер, введите http://TUO_DOMINIO_O_IP:3000 и появится заставка gitea.

Настройки базы данных:

  • Тип базы данных: SQLite3
  • Путь: используйте абсолютный путь: /var/lib/gitea/data/gitea.db

Общие настройки приложения:

  • Название сайта: введите название вашей организации.
  • Путь к корневому репозиторию: Оставьте по умолчанию /home/git/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.

Этот шаг необязателен, но настоятельно рекомендуется. Чтобы использовать Nginx в качестве обратного прокси-сервера, вам необходимо иметь домен или поддомен, указывающий на общедоступный IP-адрес сервера. В этом уроке мы будем git.example.com.

Сначала установите Nginx и создайте бесплатный SSL-сертификат Let’s Encrypt, используя приведенные ниже инструкции:

После этого откройте текстовый редактор и отредактируйте файл блокировки сервера домена:

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;
 }
 }

Не забудьте заменить 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/

Перезапустите службу 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

Убедитесь, что вы вводите правильную информацию о SMTP-сервере.

Перезапустите службу Gitea, чтобы изменения вступили в силу:

sudo systemctl restart gitea

Чтобы проверить настройки и отправить тестовое письмо, войдите в Gitea и перейдите по ссылке: Site Administration > Configuration > SMTP Mailer Configuration.

Gitea также позволяет вам подключаться к Slack, создавая веб-перехватчик и отправляя уведомления на ваши каналы Slack.

Обновить Гитею

Чтобы обновить Gitea до последней версии, просто загрузите и замените двоичный файл.

Остановите службу Gitea:

sudo systemctl stop gitea

Загрузите последнюю версию Gitea и переместите ее в каталог /home/git:

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 18.04.

Теперь вам следует посетить страницу документации 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.