Gitea — это легкая служба Git с открытым исходным кодом, которая предоставляет удобный интерфейс для управления репозиториями, совместной работы с членами команды и оптимизации рабочего процесса разработки. Благодаря низким требованиям к ресурсам и простому процессу установки Gitea является идеальным решением для частных лиц и организаций, желающих создать собственную платформу для хостинга Git.
Предварительные условия
Прежде чем мы приступим к процессу установки, убедитесь, что у вас есть следующие предварительные условия:
- Сервер под управлением одной из следующих операционных систем: Fedora 40.
- Рекомендуется использовать свежую установку ОС, чтобы предотвратить возможные проблемы.
- Для выполнения команд вам потребуется доступ к терминалу. В Fedora 40 для этой цели предусмотрено приложение Terminal. Его можно найти в меню «Приложения».
- Стабильное интернет-соединение для загрузки необходимых пакетов.
- Некорневой пользователь sudo или доступ к корневому пользователю. Мы рекомендуем использовать не root-пользователя sudo, так как при неосторожном обращении с правами root вы можете повредить систему.
Установка Gitea на Fedora 40
Шаг 1. Обновите систему.
Чтобы обеспечить беспроблемную установку и свести к минимуму возможные проблемы, очень важно обновить систему Fedora 40 до последней стабильной версии. Откройте терминал и выполните следующую команду:
sudo dnf clean all
sudo dnf update
Эта команда найдет и установит все доступные обновления для пакетов вашей системы, обеспечив вас самыми последними исправлениями ошибок, исправлениями безопасности и улучшениями производительности.
Шаг 2. Установка зависимостей.
Для правильной работы Gitea требуется несколько зависимостей. Установите необходимые пакеты, выполнив следующую команду:
sudo dnf install git wget curl
Эта команда установит Git, wget и curl на вашу систему. Git необходим для контроля версий и управления репозиториями, а wget и curl — полезные инструменты для загрузки файлов и выполнения HTTP-запросов.
Шаг 3. Установка Gitea на Fedora 40.
Сначала посетите официальный сайт Gitea и перейдите на страницу загрузок. Найдите последний бинарный релиз Linux x86-64 и скопируйте ссылку на скачивание:
wget https://dl.gitea.com/gitea/1.21.4/gitea-1.21.4-linux-amd64
Сделайте загруженный двоичный файл исполняемым:
chmod +x gitea
Переместите двоичный файл Gitea в глобальный путь для облегчения доступа:
sudo mv gitea /usr/local/bin/gitea
Шаг 4. Создайте системного пользователя для Gitea.
Чтобы повысить безопасность и изолировать процессы Gitea, создайте специального системного пользователя и группу для Gitea:
sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea
Эта команда создает нового пользователя с именем «gitea» и домашним каталогом «/home/gitea». Пользователь настроен как системная учетная запись с отключенным паролем и оболочкой по умолчанию «/bin/bash».
Шаг 5. Настройте каталоги Gitea.
Создайте необходимые каталоги для Gitea и установите соответствующие права собственности и разрешения:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
Установите права собственности на каталоги для пользователя и группы «gitea»:
sudo chown -R gitea:gitea /var/lib/gitea
Установите соответствующие разрешения для каталогов:
sudo chmod -R 750 /var/lib/gitea
Создайте каталог для файла конфигурации Gitea:
sudo mkdir /etc/gitea
Установите права собственности и разрешения для каталога конфигурации:
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea
Эти шаги гарантируют, что у Gitea есть необходимые каталоги и разрешения для безопасного хранения данных, журналов и конфигурационных файлов.
Шаг 6. Создайте файл службы Systemd.
Чтобы управлять Gitea как системной службой, создайте файл службы systemd:
sudo nano /etc/systemd/system/gitea.service
Добавьте в файл следующее содержимое:
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
Сохраните файл и выйдите из текстового редактора.
Чтобы запустить Gitea и обеспечить ее автоматический запуск при старте системы, выполните следующие команды:
sudo systemctl daemon-reload
Включите автоматический запуск службы Gitea при загрузке:
sudo systemctl enable gitea
Запустите службу Gitea:
sudo systemctl start gitea
Убедитесь, что служба Gitea работает правильно:
sudo systemctl status gitea
Шаг 7. Настройте Nginx в качестве обратного прокси.
Чтобы получить доступ к Gitea через веб-сервер, настройте Nginx в качестве обратного прокси:
sudo dnf install nginx
Создайте новый файл конфигурации Nginx для Gitea:
sudo nano /etc/nginx/conf.d/gitea.conf
Добавьте в файл следующее содержимое:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
include /etc/nginx/proxy_params;
}
}
Сохраните файл и выйдите из текстового редактора, а затем проверьте конфигурацию Nginx на наличие синтаксических ошибок:
nginx -t
Перезагрузите Nginx, чтобы применить изменения:
sudo systemctl reload nginx
Шаг 8. Настройте брандмауэр.
Чтобы разрешить доступ к Gitea через брандмауэр, откройте необходимые порты:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
Перезагрузите брандмауэр, чтобы применить изменения:
sudo firewall-cmd --reload
Шаг 9. Доступ к веб-интерфейсу Gitea.
Откройте веб-браузер и перейдите к вашему экземпляру Gitea, используя доменное имя или IP-адрес сервера (например, http://example.com).
Перед вами откроется страница установки Gitea. Заполните необходимую информацию, например настройки базы данных, данные учетной записи администратора и путь к корню репозитория.
Поздравляем! Вы успешно установили Gitea. Для получения дополнительной или полезной информации мы рекомендуем вам посетить официальный сайт Gitea.