Поиск по сайту:
Жизнь — игра (Б. Грасиан).

Как установить Gitea на CentOS 8

02.08.2020

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

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

В этой статье показано, как установить и настроить Gitea в CentOS 8.

 

Предпосылки

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

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

sudo dnf install sqlite

 

Мы предполагаем, что SELinux либо отключен, либо установлен в разрешающий режим.

 

Установка Gitea

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

 

Установить Git

Первый шаг — установить Git на CentOS:

sudo dnf install git

 

Проверьте установку, отобразив версию Git:

git --version

 

git version 2.18.4

 

Создать пользователя Git

Создайте нового системного пользователя для запуска приложения Gitea:

sudo useradd \   --system \   --shell /bin/bash \   --comment 'Git Version Control' \   --create-home \   --home /home/git \   git

 

Команда создаст нового пользователя и группу с именем gitи установит для домашнего каталога значение /home/git.

 

Скачать Gitea двоичный

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

На момент написания статьи последняя версия 1.12.3. Если доступна новая версия, измените переменную VERSION в команде ниже.

Используйте wgetдля загрузки бинарного файла Gitea в каталоге /tmp:

VERSION=1.12.3sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

 

Вы можете запустить двоичный файл из любого места. Мы будем следовать соглашению и переместим двоичный файл в каталог /usr/local/bin:

sudo mv /tmp/gitea /usr/local/bin

 

Читать  Как слить одну ветку с другой с помощью Git

Сделайте двоичный исполняемый файл:

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

 

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

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-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 на всех сетевых интерфейсах. Вам нужно настроить брандмауэр, чтобы разрешить доступ к веб-интерфейсу Gitea:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload

 

Откройте браузер, войдите http://YOUR_DOMAIN_IR_IP:3000/install, и появится страница начальной конфигурации:

Как установить Gitea на CentOS 8

 

Заполните обязательные поля следующим образом:

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

  • Тип базы данных: 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 прослушивает другой порт
  • Порт прослушивания HTTP Gitea — 3000
  • Gitea Base URL — используйте http и IP-адрес вашего домена или сервера.
  • Путь к журналу — оставить значение по умолчанию /var/lib/gitea/log
Позже вы можете изменить настройки, отредактировав файл конфигурации Gitea.

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

Читать  Как добавить сообщение о фиксации Git?

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

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

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

 

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

 

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

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

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

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

sudo nano /etc/nginx/conf.d/git.example.com.conf
/etc/nginx/conf.d/git.example.com.conf
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.

Читать  Как отменить последнюю фиксацию Git

После этого перезапустите службу 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

 

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

Для отправки уведомлений по электронной почте вы можете установить 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-сервера.

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

sudo systemctl restart gitea

 

Чтобы проверить настройки и отправить тестовое электронное письмо, войдите в Gitea и перейдите по адресу: Администрирование сайта> Конфигурация> Конфигурация SMTP Mailer.

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

 

Обновление Gitea

Обновление до последней версии Gitea является простой задачей. Вам нужно только скачать и заменить двоичный файл.

  1. Остановите службу Gitea:
    sudo systemctl stop gitea
  2. Загрузите последний бинарный файл Gitea и переместите его в каталог /usr/local/bin:
    VERSION=<THE_LATEST_GITEA_VERSION>wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64sudo mv /tmp/gitea /usr/local/bin
  3. Сделайте двоичный исполняемый файл:
    sudo chmod +x /usr/local/bin/gitea
  4. Перезапустите сервис Gitea:
    sudo systemctl restart gitea

 

Вот и все.

 

Вывод

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Ссылка - это ссылка на другой файл. Ссылки дают одному и…

Спасибо!

Теперь редакторы в курсе.