Введение
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
Не забудьте заменить example.com своим доменом Gitea и указать правильный путь для файлов SSL-сертификата.HTTP-трафик перенаправляется на HTTPS.
По завершении перезапустите службу Nginx, чтобы изменения вступили в силу:
sudo systemctl restart nginx
Затем измените домен Gitea и корневой URL. Для этого откройте файл конфигурации и отредактируйте следующие строки:
sudo nano /etc/gitea/app.ini
Перезапустите службу Gitea, набрав:
sudo systemctl restart gitea
На данный момент прокси-сервер Gitea настроен, и вы можете получить к нему доступ с: https://example.com
Настроить уведомления по электронной почте
Для отправки уведомлений по электронной почте вы можете установить Postfix или использовать службу транзакционной почты, такую как SendGrid, MailChimp, MailGun или SES.
Чтобы включить уведомления по электронной почте, откройте файл конфигурации и отредактируйте следующие строки:
sudo nano /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 и узнать, как настроить установку и создать свой первый проект.