
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 предоставляет образы Docker и может быть установлен из исходного кода, в двоичном формате и в виде пакета.
Мы установим Gitea из двоичного файла. Выполните следующие шаги, чтобы установить Gitea в Ubuntu.
Первым шагом является установка Git на ваш сервер:
sudo apt update sudo apt install git
Проверьте установку, отобразив версию Git:
git --version
git version 2.17.1
Создайте нового системного пользователя, который будет запускать приложение 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 и загрузите последний бинарный файл для вашей архитектуры. На момент написания последней версии 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 прослушивает соединения через порт 3000 на всех сетевых интерфейсах.
Если на вашем сервере работает брандмауэр UFW, вам нужно открыть порт Gitea:
Чтобы разрешить трафик через порт 3000, введите следующую команду:
sudo ufw allow 3000/tcp
Откройте браузер, введите текст http://YOUR_DOMAIN_IR_IP:3000, и появится экран, подобный следующему:
Общие настройки приложения:
Сделав это, нажмите кнопку «Install Gitea». Установка происходит мгновенно. После завершения вы будете перенаправлены на страницу входа.
Нажмите на ссылку «Sign up now». Первый зарегистрированный пользователь автоматически добавляется в группу администраторов.
Измените права доступа к файлу конфигурации Gitea только для чтения, используя:
sudo chmod 750 /etc/gitea sudo chmod 640 /etc/gitea/app.ini
Вот и все. Gitea была установлена на вашем компьютере с Ubuntu.
Этот шаг не является обязательным, но он настоятельно рекомендуется. Чтобы использовать Nginx в качестве обратного прокси-сервера, вам нужен домен или поддомен, указывающий на публичный IP-адрес вашего сервера. В этом уроке мы будем использовать git.example.ru.
Сначала установите Nginx и создайте бесплатный SSL-сертификат Let’s Encrypt, используя приведенные ниже инструкции:
После этого откройте текстовый редактор и отредактируйте файл блока сервера домена :
sudo nano /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
[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
[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 просто загрузите и замените двоичный файл.
sudo systemctl stop gitea
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
sudo systemctl restart gitea
Вот и все.
Из этой статьи вы узнали, как установить Gitea в Ubuntu 18.04.
Теперь вы должны посетить страницу документации Gitea и узнать, как настроить свой экземпляр 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
…
systemctl status gitea
Большое Вам спасибо! Отличная инструкция, всё быстренько настроил. Работает!)