Gitea - это быстрый и простой в использовании самостоятельный сервер git, написанный на Go. Он включает в себя редактор файлов репозитория, отслеживание проблем проекта, управление пользователями, уведомления, встроенную вики и многое другое.
Gitea - это легкое приложение, которое можно установить на маломощные системы. Если вы ищете альтернативу Gitlab с гораздо меньшим объемом памяти, и вам не нужны все навороты, которые предлагает Gitlab, тогда вам следует попробовать Gitea.
В этой статье объясняется, как установить и настроить Gitea на Ubuntu 20.04.
Предпосылки #
Gitea поддерживает SQLite, PostgreSQL и MySQL / MariaDB в качестве серверной части базы данных.
SQLite рекомендуется только для небольших установок. В более крупных установках следует использовать MySQL или PostgreSQL.
Мы будем использовать SQLite в качестве базы данных для Gitea. Если SQLite не установлен в вашей системе Ubuntu, установите его, введя следующие команды от имени пользователя sudo:
sudo apt update
sudo apt установить sqlite3
Установка Gitea #
Gitea предоставляет образы Docker и может быть установлен из исходного кода, двоичного кода или в виде пакета. Установим Gitea из двоичного файла.
Установить Git #
Первый шаг - установить Git на ваш сервер:
sudo apt update
sudo apt install git
Проверьте установку, отобразив версию Git:
git --version
git версия 2.25.1
Создайте пользователя Git #
Создайте нового системного пользователя, который будет запускать приложение Gitea, набрав:
sudo adduser \
--система \
--оболочка / bin / bash \
--gecos 'Контроль версий Git' \
--группа \
--отключенный пароль \
--домой / домой / мерзавец \
мерзавец
Приведенная выше команда создает нового пользователя и группу с именем мерзавец
, и установите домашний каталог на / home / git
. Результат будет выглядеть примерно так:
Добавление системного пользователя «git» (UID 112)… Добавление новой группы «git» (GID 118)… Добавление нового пользователя «git» (UID 112) с группой «git»… Создание домашнего каталога «/ home / git»…
Скачать двоичный файл Gitea #
Перейдите на страницу загрузки Gitea и загрузите последнюю версию двоичного файла для вашей архитектуры. На момент написания последняя версия - 1.10.2. Если доступна новая версия, измените ВЕРСИЯ
переменная в команде ниже.
Использовать wget
чтобы загрузить двоичный файл Gitea в / tmp
каталог:
ВЕРСИЯ = 1.14.1
sudo wget -O / tmp / gitea https: // dl.gitea.io / gitea / $ VERSION / gitea - $ VERSION -linux-amd64
Вы можете запустить gitea
двоичный из любого места. Мы будем следовать соглашению и переместим двоичный файл в / USR / местные / бен
каталог:
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
Судо chmod 770 / и т. д. / gitea
Указанная выше структура каталогов рекомендована официальной документацией Gitea.
Разрешения / etc / gitea
каталог установлен на 770
чтобы мастер установки мог создать файл конфигурации. После завершения установки мы установим более строгие разрешения.
Создайте файл модуля Systemd #
Мы запустим Gitea как службу systemd.
Загрузите образец файла модуля systemd на / и т. д. / systemd / система
каталог, набрав:
sudo wget https: // raw.githubusercontent.com / go-gitea / gitea / main / contrib / systemd / gitea.служба -P / etc / systemd / system /
Вам не нужно редактировать файл, он настроен в соответствии с нашими настройками.
Включите и запустите сервис Gitea:
sudo systemctl демон-перезагрузка
sudo systemctl enable --now gitea
Убедитесь, что Gitea запущена:
sudo systemctl статус gitea
● gitea.сервис - Gitea (Git с чашкой чая) Загружено: загружено (/ etc / systemd / system / gitea.услуга; включено; предустановка поставщика: активировано) Активно: активно (работает) с Чт 2021-05-06 05:32:04 UTC; 7с назад Основной PID: 77781 (gitea) Задач: 6 (ограничение: 470) Память: 130.6M CГруппа: / system.ломтик / gitea.служба └─77781 / usr / local / bin / gitea web --config / etc / gitea / app.ini…
Настроить Gitea #
Теперь, когда Gitea загружена и запущена, мы можем завершить установку через веб-интерфейс.
По умолчанию Gitea прослушивает подключения через порт 3000
на всех сетевых интерфейсах.
Если на вашем сервере работает брандмауэр UFW, вам нужно открыть порт Gitea. Разрешить трафик через порт 3000
, введите следующую команду:
sudo ufw разрешить 3000 / tcp
Откройте свой браузер, введите http: // ВАШ_ДОМЕН_ИР_IP: 3000
, и появится экран, подобный следующему:
Настройки базы данных:
- Тип базы данных: SQLite3
- Путь: используйте абсолютный путь,
/ var / lib / gitea / data / gitea.db
Общие настройки приложения:
- Заголовок сайта: введите название вашей организации.
- Корневой путь репозитория: оставьте значение по умолчанию
var / lib / gitea / data / gitea-репозитории
. - Git LFS Root Path: оставьте значение по умолчанию
/ var / lib / gitea / data / lfs
. - Запуск от имени пользователя: git
- Домен SSH-сервера: введите IP-адрес вашего домена или сервера.
- Порт SSH: 22, измените его, если SSH прослушивает другой порт
- Порт прослушивания HTTP Gitea: 3000
- Базовый URL Gitea: используйте http и IP-адрес вашего домена или сервера.
- Путь к журналу: оставьте значение по умолчанию
/ var / lib / gitea / журнал
Чтобы начать установку, нажмите кнопку «Установить Gitea».
Установка мгновенная. После завершения вы будете перенаправлены на страницу входа в систему.
Нажмите на «Нужна учетная запись»? Зарегистрироваться." ссылка на сайт. Первый зарегистрированный пользователь автоматически добавляется в группу администратора.
Измените разрешения файла конфигурации Gitea на доступ только для чтения, используя:
sudo chmod 750 / etc / gitea
sudo chmod 640 / и т. д. / gitea / app.ini
это оно. Gitea установлена на вашем компьютере с Ubuntu.
Настройка Nginx в качестве прокси завершения SSL #
Этот шаг не является обязательным, но настоятельно рекомендуется. Завершение SSL означает, что Nginx будет действовать как промежуточная точка между приложением Gitea и веб-клиентами, поэтому вы можете получить доступ к Gitea через HTTPS.
Чтобы использовать Nginx в качестве обратного прокси, вам необходимо иметь домен или поддомен, указывающий на общедоступный IP-адрес вашего сервера. В этом примере мы будем использовать мерзавец.пример.ком
.
Сначала установите Nginx и сгенерируйте бесплатный SSL-сертификат Let's Encrypt, используя приведенные ниже инструкции:
- Как установить Nginx на Ubuntu 20.04
- Защитите Nginx с помощью Let's Encrypt в Ubuntu 20.04
После этого откройте текстовый редактор и отредактируйте файл блока сервера домена:
Судо нано / и т. д. / nginx / сайты-включенные / git.пример.ком
/ и т. д. / nginx / сайты с поддержкой / git.пример.комсервер слушать 80; имя_сервера git.пример.com; включить фрагменты / letsencrypt.conf; вернуть 301 https: // git.пример.com $ request_uri; сервер прослушивание 443 ssl http2; имя_сервера git.пример.com; proxy_read_timeout 720 с; proxy_connect_timeout 720 с; proxy_send_timeout 720 с; client_max_body_size 50 м; # Заголовки прокси proxy_set_header X-Forwarded-Host $ host; proxy_set_header X-Forwarded-For $ proxy_add_x_forwarded_for; proxy_set_header Схема X-Forwarded-Proto $; proxy_set_header X-Real-IP $ remote_addr; # Параметры SSL ssl_certificate / etc / letsencrypt / live / git.пример.com / fullchain.пем; ssl_certificate_key / и т. д. / letsencrypt / live / git.пример.com / privkey.пем; ssl_trusted_certificate / и т. д. / letsencrypt / live / git.пример.com / chain.пем; включить фрагменты / letsencrypt.conf; включить сниппеты / ssl.conf; # файлы журналов access_log / var / log / nginx / git.пример.ком.доступ.бревно; error_log / var / log / nginx / git.пример.ком.ошибка.бревно; # Обработка / запросы местоположения / proxy_redirect off; proxy_pass http: // 127.0.0.1: 3000;
Не забудьте заменить git.пример.com с вашим доменом Gitea и укажите правильный путь к файлам сертификатов SSL. HTTP-трафик перенаправляется на HTTPS
Перезапустите службу Nginx, чтобы изменения вступили в силу:
sudo systemctl перезапустить nginx
Затем измените домен Gitea и корневой URL. Для этого откройте файл конфигурации и отредактируйте следующие строки:
Судо нано / и т. д. / gitea / app.ini
/ и т. д. / gitea / приложение.ini[сервер] DOMAIN = git.пример.com ROOT_URL = https: // git.пример.com /
Перезапустите сервис Gitea, набрав:
sudo systemctl перезапустить gitea
На этом этапе прокси Gitea настроен, и вы можете получить к нему доступ по адресу: https: // git.пример.ком
Настройка уведомлений по электронной почте #
Если вы хотите, чтобы ваш экземпляр Gitea отправлял уведомления по электронной почте, вы можете либо установить Postfix, либо использовать какую-либо службу транзакционной почты, такую как SendGrid, MailChimp, MailGun или SES.
Чтобы включить уведомления по электронной почте, откройте файл конфигурации и отредактируйте следующие строки:
Судо нано / и т. д. / gitea / app.ini
/ и т. д. / gitea / приложение.ini[mailer] ENABLED = true HOST = SMTP_SERVER: SMTP_PORT FROM = SENDER_EMAIL USER = SMTP_USER PASSWD = YOUR_SMTP_PASSWORD
Убедитесь, что вы указали правильную информацию о SMTP-сервере.
Перезапустите сервис Gitea, чтобы изменения вступили в силу:
sudo systemctl перезапустить gitea
Чтобы проверить настройки и отправить тестовое электронное письмо, войдите в Gitea и выберите: Администрирование сайта> Конфигурация> Конфигурация почтовой программы SMTP.
Gitea также позволяет подключаться к Slack, создавая веб-перехватчик и отправляя уведомления на ваши каналы Slack .
Обновление Gitea #
Чтобы перейти на последнюю версию Gitea, просто скачайте и замените двоичный файл.
Остановите сервис Gitea:
sudo systemctl stop gitea
Загрузите последнюю версию Gitea и переместите ее в
/ USR / местные / бен
каталог:ВЕРСИЯ =
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 перезапустить gitea
это оно.
Заключение #
В этом руководстве вы прошли через установку Gitea на Ubuntu 20.04. Для получения дополнительной информации о том, как настроить экземпляр Gitea и создать свой первый проект, посетите страницу документации Gitea .
Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.