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

Установить Gitea на Ubuntu

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

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

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

Предпосылки

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

SQLite рекомендуется только для небольших инсталляций. Для более крупных инсталляций следует использовать MySQL или PostgreSQL.

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

 sudo apt update sudo apt install sqlite3

Установка Gitea

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

Установить Git

Первый шаг — установка 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.

Загрузите пример файла модуля 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 , и появится экран, подобный следующему:

Установка Gitea

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

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

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

  • Название сайта: Введите название вашей организации.
  • Корневой путь к репозиторию: оставьте значение по умолчанию var/lib/gitea/data/gitea-repositories .
  • Корневой путь Git LFS: оставьте значение по умолчанию /var/lib/gitea/data/lfs .
  • Запустить как имя пользователя: git
  • Домен SSH-сервера: введите IP-адрес вашего домена или сервера.
  • Порт SSH: 22, измените его, если SSH прослушивает другой порт
  • Порт прослушивания HTTP Gitea: 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, следуя инструкциям ниже:

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

 sudo nano /etc/nginx/sites-enabled/git.example.com

/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

/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

/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 и перейдите в раздел: Администрирование сайта > Конфигурация > Конфигурация почтовой программы SMTP.

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

Обновление Gitea

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

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

     sudo systemctl stop gitea
  2. Загрузите последнюю версию Gitea и переместите ее в каталог /usr/local/bin :

     VERSION= wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64 sudo mv /tmp/gitea /usr/local/bin
  3. Сделайте двоичный файл исполняемым:

     sudo chmod +x /usr/local/bin/gitea
  4. Перезапустите службу Gitea:

     sudo systemctl restart gitea

Вот и все.

Заключение

В этом руководстве вы познакомились с установкой Gitea в Ubuntu 20.04. Подробнее о настройке экземпляра Gitea и создании первого проекта можно узнать на странице документации Gitea .

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

ubuntu git gitea Не используете Ubuntu 20.04?
Выберите другую ОС:
центос 8 убунту 18.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *