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

12 set 2022 6 min di lettura
Как установить Gitea на CentOS 8
Indice dei contenuti

Введение

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

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

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

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

sudo dnf install sqlite

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

Мы устанавливаем другие инструменты, которые мы будем использовать для завершения этого урока. Wget для загрузки файлов из терминала и текстовый редактор nano для создания и редактирования файлов из терминала:

sudo dnf install wget nano

Установить Гитею

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

Установить Гит

Первый шаг — установить 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.3
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64

Вы можете запустить трек из любой позиции. Мы будем следовать соглашению и переместим бинарник в каталог /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: disabled)
 Active: active (running) since Fri 2020-08-28 18:39:34 CEST; 3s ago
 Main PID: 4889 (gitea)
 Tasks: 7 (limit: 12210)
 Memory: 150.3M
 CGroup: /system.slice/gitea.service
 └─4889 /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

Откройте браузер, подключившись к IP-адресу вашего сервера или к вашему доменному имени: http://TUO_DOMINIO_O_IP:3000/install. Появится начальная страница настройки.

Настроить и установить 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 была установлена на вашем компьютере с CentOS.

Настройте Nginx как обратный прокси и настройте SSL

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

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

Когда закончите, откройте текстовый редактор и отредактируйте файл блокировки сервера домена:

sudo nano /etc/nginx/conf.d/example.com.conf
server {
 listen 80;
 server_name example.com;

 return 301 https://example.com$request_uri;
 }

 server {
 listen 443 ssl http2;
 server_name 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/example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
 ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;


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

 # Handle /requests
 location /{
 proxy_redirect off;
 proxy_pass http://127.0.0.1:3000;
 }
 }
/etc/nginx/conf.d/example.com.conf

Не забудьте заменить example.com своим доменом Gitea и указать правильный путь для файлов SSL-сертификата.HTTP-трафик перенаправляется на HTTPS.

По завершении перезапустите службу Nginx, чтобы изменения вступили в силу:

sudo systemctl restart nginx

Затем измените домен Gitea и корневой URL. Для этого откройте файл конфигурации и отредактируйте следующие строки:

sudo nano /etc/gitea/app.ini
[server]
 DOMAIN = example.com
 ROOT_URL = https://example.com/
/etc/gitea/app.ini

Перезапустите службу Gitea, набрав:

sudo systemctl restart gitea

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

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

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

Убедитесь, что вы используете правильную информацию о SMTP-сервере.

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

sudo systemctl restart gitea

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

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

Обновить Гитею

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

Остановите службу Gitea:

sudo systemctl stop gitea

Загрузите последний бинарный файл Gitea и переместите его в каталог /usr/local/bin:

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 на CentOS 8. Мы рекомендуем вам посетить страницу документации Gitea и узнать, как настроить установку и создать свой первый проект.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.