Введение
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 и создать свой первый проект.