// ssd vps

Как установить и настроить Gitea на VPS Linux: полное руководство по собственному Git-серверу

September 08, 2026 · by Alex M.

Как установить и настроить Gitea на VPS Linux: полное руководство по собственному Git-серверу

Если вы работаете с исходным кодом и хотите полного контроля над своими репозиториями, Gitea — одно из лучших решений с открытым исходным кодом на сегодняшний день. Лёгкая в установке, быстрая, с современным интерфейсом, похожим на GitHub, Gitea отлично работает даже на VPS SSD с минимальными ресурсами.

В этом руководстве вы узнаете, как установить Gitea на сервер Ubuntu 22.04, настроить его за обратным прокси Nginx и защитить SSL-сертификатом — шаг за шагом.


Что такое Gitea и зачем её использовать?

Gitea — это self-hosted Git-платформа, написанная на языке Go. Она предлагает:

  • Репозитории Git с современным веб-интерфейсом
  • Issues, Pull Requests, Wiki — функциональность, аналогичная GitHub
  • Аутентификацию через 2FA, OAuth2, LDAP
  • Веб-хуки для интеграции с CI/CD
  • Низкое потребление ресурсов — работает на серверах с 1 ГБ ОЗУ

В отличие от GitLab, требующего значительных ресурсов, Gitea идеально подходит для VPS NVMe начального или среднего уровня.


Предварительные требования

Перед началом убедитесь, что у вас есть:

  • VPS с Ubuntu 22.04 (минимум 1 vCPU, 1 ГБ ОЗУ)
  • Доступ root или sudo
  • Настроенный домен (например, git.example.com) с DNS, указывающим на IP-адрес VPS
  • Nginx (установим, если его нет)

Если у вас ещё нет сервера, вы можете выбрать VPS 1C от CLIQHOST — он отлично подходит именно для таких приложений.


Шаг 1: Обновление системы и установка зависимостей

Начните с обновления пакетов:

sudo apt update && sudo apt upgrade -y

Установите Git и другие необходимые зависимости:

sudo apt install -y git wget curl nginx

Шаг 2: Создание выделенного пользователя для Gitea

Для безопасности Gitea должна работать под пользователем без прав root:

sudo adduser \
  --system \
  --shell /bin/bash \
  --gecos 'Gitea' \
  --group \
  --disabled-password \
  --home /home/gitea \
  gitea

Шаг 3: Создание структуры каталогов

sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R gitea:gitea /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/

sudo mkdir /etc/gitea
sudo chown root:gitea /etc/gitea
sudo chmod 770 /etc/gitea

Шаг 4: Загрузка и установка Gitea

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

wget -O /tmp/gitea https://dl.gitea.com/gitea/1.22.0/gitea-1.22.0-linux-amd64

Переместите бинарный файл и установите права:

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

Проверьте установку:

gitea --version

Шаг 5: Настройка базы данных (SQLite или MySQL)

Вариант А: SQLite (рекомендуется для небольших проектов)

Gitea включает встроенную поддержку SQLite — дополнительная установка не требуется. Это самый простой вариант.

Вариант Б: MySQL/MariaDB (рекомендуется для продакшена)

sudo apt install -y mariadb-server
sudo mysql_secure_installation

Создайте базу данных и пользователя Gitea:

sudo mysql -u root -p
CREATE DATABASE gitea CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'gitea'@'localhost' IDENTIFIED BY 'секретный_пароль';
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Шаг 6: Создание systemd-сервиса

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

sudo nano /etc/systemd/system/gitea.service

Содержимое файла:

[Unit]
Description=Gitea (Git with a cup of tea)
After=network.target
After=mariadb.service

[Service]
RestartSec=2s
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea

[Install]
WantedBy=multi-user.target

Активируйте и запустите сервис:

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Проверьте статус:

sudo systemctl status gitea

Gitea теперь работает на порту 3000 (по умолчанию).


Шаг 7: Настройка Nginx в качестве обратного прокси

Создайте виртуальный хост Nginx для вашего домена:

sudo nano /etc/nginx/sites-available/gitea
server {
    listen 80;
    server_name git.example.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Активируйте конфигурацию:

sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Шаг 8: Установка SSL-сертификата с Let's Encrypt

Установите Certbot:

sudo apt install -y certbot python3-certbot-nginx

Получите сертификат:

sudo certbot --nginx -d git.example.com

Certbot автоматически изменит конфигурацию Nginx для работы по HTTPS. Если вам нужен коммерческий SSL-сертификат с расширенной проверкой, ознакомьтесь с SSL-сертификатами CLIQHOST для различных нужд.


Шаг 9: Начальная настройка через веб-интерфейс

Откройте https://git.example.com в браузере. Вы увидите страницу установки Gitea.

Основные настройки:

Поле Рекомендуемое значение
Database Type SQLite3 или MySQL
Site Title Ваше название
Repository Root Path /var/lib/gitea/data/repositories
Git Hooks Path /var/lib/gitea/data/home
HTTP Port 3000
Application URL https://git.example.com

Создайте учётную запись администратора и завершите установку.


Шаг 10: Расширенная настройка через app.ini

После установки файл конфигурации находится по пути /etc/gitea/app.ini. Несколько полезных настроек:

Отключение публичной регистрации

[service]
DISABLE_REGISTRATION = true

Настройка электронной почты (SMTP)

[mailer]
ENABLED = true
FROM = [email protected]
SMTP_ADDR = smtp.example.com
SMTP_PORT = 587
USER = [email protected]
PASSWD = smtp_password

Ограничение размера репозиториев

[repository]
MAX_CREATION_LIMIT = -1
DEFAULT_PUSH_CREATE_PRIVATE = true

После любых изменений перезапустите сервис:

sudo systemctl restart gitea

Шаг 11: Защита установки Gitea

Настройка файрвола

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
sudo ufw status

Включение двухфакторной аутентификации (2FA)

В веб-интерфейсе перейдите в Настройки → Безопасность → Двухфакторная аутентификация и включите TOTP.

Регулярные обновления

Регулярно проверяйте официальные релизы Gitea и обновляйте бинарный файл:

sudo systemctl stop gitea
sudo wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/1.22.x/gitea-1.22.x-linux-amd64
sudo chmod 755 /usr/local/bin/gitea
sudo systemctl start gitea

Шаг 12: Автоматическое резервное копирование Gitea

Gitea включает встроенную команду резервного копирования:

sudo -u gitea gitea dump -c /etc/gitea/app.ini --tempdir /tmp

Эта команда создаёт .zip-архив с репозиториями, базой данных, вложениями и конфигурацией. Запланируйте её выполнение через cron:

sudo crontab -e
0 2 * * * sudo -u gitea gitea dump -c /etc/gitea/app.ini --tempdir /tmp --file /backup/gitea-$(date +\%Y\%m\%d).zip

Для более надёжной инфраструктуры с управляемыми резервными копиями, управление серверами CLIQHOST поможет автоматизировать этот процесс.


Gitea vs. альтернативы: что и когда выбирать?

Решение Мин. ОЗУ Простота установки Функциональность
Gitea ~100 МБ ⭐⭐⭐⭐⭐ Средняя
GitLab CE ~4 ГБ ⭐⭐ Расширенная
Gogs ~50 МБ ⭐⭐⭐⭐⭐ Базовая
Forgejo ~100 МБ ⭐⭐⭐⭐⭐ Средняя

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


Частые проблемы и решения

Gitea не запускается

sudo journalctl -u gitea -n 50 --no-pager

Проверьте права доступа к /etc/gitea/app.ini и /var/lib/gitea/.

Ошибка 502 Bad Gateway в Nginx

Убедитесь, что Gitea работает на порту 3000:

sudo ss -tlnp | grep 3000

Репозитории не клонируются по SSH

Проверьте, что SSH-порт Gitea (по умолчанию 22 или 2222) открыт в файрволе и SSH-ключ правильно добавлен в учётную запись Gitea.


Заключение

Установка Gitea на VPS Linux — относительно простой процесс, который даёт вам полный контроль над исходным кодом без зависимости от сторонних сервисов. При правильной настройке — Nginx в качестве обратного прокси, активный SSL, автоматические резервные копии и 2FA — вы получаете надёжную и безопасную Git-платформу.

Если хотите быстро начать, выберите VPS SSD или VPS NVMe от CLIQHOST, оптимизированные для Linux-приложений. Нужна помощь с настройкой? Наша команда по администрированию серверов готова вам помочь. Также загляните в блог CLIQHOST — там вы найдёте ещё больше практических технических руководств.

SHARE
// Что говорят наши клиенты

Что говорят наши клиенты

Реальные отзывы клиентов, которые доверяют CLIQHOST за производительность, надёжность и профессиональную техническую поддержку.

★★★★★

"We moved our online shop from a foreign host and the difference is night and day — pages load instantly and support replies in minutes, in Romanian."

AM
Andrei M.
eCommerce owner · Chișinău
★★★★★

"Migrated 12 client sites to CLIQHOST. Free migration, zero downtime, and the cPanel setup is exactly what my team needed. Highly recommend."

EV
Elena V.
Web agency · Bălți
★★★★★

"Our NVMe VPS handles traffic spikes without a sweat. Full root, local datacenter, and billing in MDL — everything we wanted from a provider."

DC
Dmitri C.
SaaS founder · Chișinău