ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

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

В этой статье объясняется, как установить и настроить Gitea в Ubuntu 18.04. Те же инструкции применимы для Ubuntu 16.04 и любого другого дистрибутива на основе Debian.

 

Предпосылки

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

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

sudo apt update
sudo apt install sqlite3

 

Установка Gitea

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

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

 

Установить Git

Первым шагом является установка 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/giteasudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

 

Структура каталогов, приведенная выше, рекомендована официальной документацией Gitea.

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

 

Создать системный файл модуля

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

 

Убедитесь, что служба запущена успешно:

● 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-04 21:27:23 UTC; 3s ago
 Main PID: 14804 (gitea)
    Tasks: 9 (limit: 1152)
   CGroup: /system.slice/gitea.service
           └─14804 /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 на Ubuntu 18.04
Настройки базы данных:

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

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

Сделав это, нажмите кнопку «Install Gitea». Установка происходит мгновенно. После завершения вы будете перенаправлены на страницу входа.

Нажмите на ссылку «Sign up now». Первый зарегистрированный пользователь автоматически добавляется в группу администраторов.

Измените права доступа к файлу конфигурации Gitea только для чтения, используя:

sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

 

Вот и все. Gitea была установлена на вашем компьютере с Ubuntu.

 

Настройка Nginx в качестве прокси-сервера завершения SSL

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

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

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

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

 

/etc/nginx/sites-enabled/git.example.ru

 

server {
    listen 80;
    server_name git.example.ru;

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

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

    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.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/git.example.ru/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/git.example.ru/chain.pem;
    include snippets/letsencrypt.conf;
    include snippets/ssl.conf;

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

    # Handle / requests
    location / {
       proxy_redirect off;
       proxy_pass http://127.0.0.1:3000;
    }
}

 

Не забудьте заменить git.example.ru вашим доменом 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.ru
ROOT_URL         = https://git.example.ru/

Перезапустите сервис Gitea, введя:

sudo systemctl restart gitea

 

На этом этапе прокси-сервер Gitea настроен, и вы можете получить к нему доступ по адресу: https://git.example.ru

 

Настройка почтовых уведомлений

Чтобы Gitea могла отправлять уведомления по электронной почте, вы можете либо установить Postfix, либо использовать какой-нибудь транзакционный почтовый сервис.

Чтобы включить уведомления по электронной почте, откройте файл конфигурации и отредактируйте следующие строки:

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 и перейдите по ссылке: Site Administration > Configuration > SMTP Mailer Configuration.

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

 

Обновление Gitea

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

  1. Остановите службу Gitea:
    sudo systemctl stop gitea
  2. Загрузите последнюю версию 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

     

  3. Сделайте двоичный исполняемый файл:
    sudo chmod +x /usr/local/bin/gitea

     

  4. Запустите сервис Gitea:
    sudo systemctl restart gitea

     

 

Вот и все.

 

Вывод

Из этой статьи вы узнали, как установить Gitea в Ubuntu 18.04.

Теперь вы должны посетить страницу документации Gitea и узнать, как настроить свой экземпляр Gitea и создать свой первый проект.

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

Exit mobile version