Гид по технологиям

Установка Gitea на Ubuntu 18.04

• 5 min read • DevOps • Обновлено 28 Nov 2025
Установка Gitea на Ubuntu 18.04 — руководство
Установка Gitea на Ubuntu 18.04 — руководство

Что такое Gitea

Gitea — это свободная и открытая система управления версиями, похожая на GitHub. Это лёгкий форк Gogs, написанный на Go и распространяемый по лицензии MIT. Коротко: простая, быстрая, масштабируемая альтернатива облачным git-сервисам с поддержкой нескольких СУБД, вики, встроенного реестра контейнеров, зеркалирования git, трекинга задач и пр.

Требования

  • Сервер с Ubuntu 18.04.
  • Статический IP-адрес, в примере 192.168.0.101.
  • Некорневой пользователь с sudo-привилегиями.

Важно: используйте актуальные бэкапы перед изменением конфигураций баз данных и прав доступа.

Подготовка системы

Обновите списки пакетов и установите обновления:

sudo apt-get update -y  
sudo apt-get upgrade -y

Установка необходимых пакетов

Установите MariaDB, git, wget и unzip:

sudo apt-get install mariadb-server wget unzip git -y

Запустите MariaDB и включите автозапуск:

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Настройка MariaDB

Защитите установку MariaDB:

sudo mysql_secure_installation

Следуйте подсказкам: задайте пароль root (если нужно), удалите анонимных пользователей, запретите удалённый вход для root, удалите тестовую базу и обновите таблицы привилегий.

Войдите в shell MariaDB:

mysql -u root -p

Создайте базу данных и пользователя для Gitea (подставьте безопасный пароль вместо ‘password’):

MariaDB [(none)]> SET GLOBAL innodb_file_per_table = ON;  
MariaDB [(none)]> CREATE DATABASE giteadb;  
MariaDB [(none)]> CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'password';
MariaDB [(none)]> GRANT ALL ON giteadb.* TO 'giteauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
MariaDB [(none)]> ALTER DATABASE giteadb CHARACTER SET = utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

Отредактируйте конфигурацию MariaDB для оптимальной работы с InnoDB:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Добавьте в файл следующие строки:

innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_default_row_format = dynamic

Сохраните изменения и перезапустите сервис:

sudo systemctl restart mariadb

Важно: если вы используете удалённый сервер БД или управляемую СУБД, настройку локальных файлов конфигурации MariaDB выполнять не нужно — вместо этого применяйте параметры провайдера.

Создание структуры для Gitea

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

sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/gitea gitea
sudo mkdir -p /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown gitea:gitea /etc/gitea /var/lib/gitea/{custom,data,indexers,public,log}  
sudo chmod 750 /var/lib/gitea/{data,indexers,log}  
sudo chmod 770 /etc/gitea

Проверяйте права и владельца — ошибки прав доступа часто приводят к проблемам с запуском и логированием.

Установка Gitea (бинарник)

В этом руководстве бинарник Gitea загружается напрямую с GitHub. В примере используется релиз v1.5.1 — замените ссылку на актуальную версию при установке:

wget https://github.com/go-gitea/gitea/releases/download/v1.5.1/gitea-1.5.1-linux-amd64
sudo mv gitea-1.5.1-linux-amd64 /usr/local/bin/gitea
sudo chmod +x /usr/local/bin/gitea

Создайте systemd-сервис для управления Gitea:

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

Вставьте содержимое сервиса:

[Unit]
Description=Gitea
After=syslog.target
After=network.target
After=mysql.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because of that
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

Перезагрузите systemd и запустите сервис:

sudo systemctl daemon-reload  
sudo systemctl start gitea

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

sudo systemctl status gitea

Пример ожидаемого вывода указывает, что Gitea слушает на порту 3000 и запущен процесс web.

Доступ к веб-интерфейсу

Gitea по умолчанию слушает на порту 3000. Откройте в браузере:

http://192.168.0.101:3000/install

Вы увидите страницу установки, где нужно указать: параметры подключения к БД (giteadb, giteauser), базовый URL, имя пользователя, под которым будет работать сервис (run as username), логин администратора и путь до логов. Нажмите «Install Gitea» и дождитесь завершения.

Страница установки Gitea с полями для базы данных и учётных записей

Форма ввода настроек базы данных и административной учётной записи

Подтверждение успешной установки Gitea и переход к панели

После успешной установки вы попадёте на панель управления Gitea:

Панель управления Gitea после успешной установки

Поздравляем — Gitea установлена и доступна по веб-интерфейсу.

Чек-лист после установки

  • Убедитесь, что systemd-сервис запущен и включён в автозапуск: sudo systemctl enable gitea
  • Проверьте права на каталоги /var/lib/gitea и /etc/gitea
  • Настройте резервное копирование каталога данных и базы данных
  • Настройте SSL (рекомендуется) — см. раздел «Усиление безопасности» ниже

Усиление безопасности и рекомендации

  • Развертывайте Gitea за обратным HTTPS-прокси (nginx или Caddy) и включайте HTTP->HTTPS редирект.
  • Ограничьте доступ к MariaDB только локальными соединениями или настройте firewall.
  • Используйте сильные пароли и, при возможности, двухфакторную аутентификацию для админов.
  • Храните бэкапы конфигураций и репозиториев вне основного сервера.

Альтернативные подходы

  • Развёртывание через Docker: официальный образ gitea/gitea упрощает изоляцию и миграцию.
  • Пакеты/репозитории дистрибутива: по возможности используйте репозитории с поддержкой обновлений.
  • Managed git-хостинг: если не хотите заниматься поддержкой, используйте облачные сервисы.

Когда это не подходит: если вам нужна высокая доступность и масштабирование на уровне нескольких узлов с общей СХД и балансировкой, стоит рассмотреть более сложные архитектуры с репликацией и кластеризацией.

Частые неполадки и способы их устранения

  • Подключение к БД не устанавливается: проверьте credentials в /etc/gitea/app.ini, права пользователя БД и наличие привилегий, а также что MariaDB слушает на нужном сокете/порту.
  • Порт 3000 занят: либо остановите процесс, занимающий порт, либо укажите другой порт в конфигурации или используйте обратный прокси.
  • Ошибки прав доступа к файлам/логам: проверьте владельца и права (chown/chmod) для /var/lib/gitea и /etc/gitea.
  • HTTP 500 при большом репозитории: в systemd-сервисе можно изменить параметры окружения и увеличить лимиты; также убедитесь в настройках InnoDB (см. выше).

Рольные чек-листы

Администратор сервера:

  • Проверить системные требования и обновления OS.
  • Установить MariaDB и обеспечить резервное копирование.
  • Настроить firewall и SSL.
  • Настроить логирование и мониторинг.

Разработчик/пользователь Gitea:

  • Создать учётную запись и проект.
  • Настроить SSH-ключи для доступа к репозиторию.
  • Настроить CI/CD интеграции при необходимости.

Краткая методология установки (быстрая последовательность)

  1. Обновить систему. 2. Установить MariaDB и необходимые пакеты. 3. Защитить MariaDB, создать БД и пользователя. 4. Создать системного пользователя gitea и каталоги. 5. Загрузить бинарник Gitea, установить права. 6. Создать systemd-сервис и запустить. 7. Завершить установку через веб-интерфейс.

Маленький словарь

  • БД — база данных.
  • Systemd — менеджер системных сервисов в большинстве современных дистрибутивов Linux.
  • Reverse proxy — обратный прокси (nginx/Caddy) для TLS/HTTPS и маршрутизации.

Критерии приёмки

  • Gitea успешно запускается как сервис systemd и слушает порт 3000.
  • Веб-интерфейс установки доступен по базовому URL и позволяет завершить конфигурацию.
  • Пользователь gitea имеет права на каталоги данных и логов.
  • Резервное копирование данных и БД настроено.

Итог

Вы установили Gitea на Ubuntu 18.04, настроили MariaDB, создали сервис systemd и завершили первоначальную настройку через веб-интерфейс. Для продакшен-развёртывания обязательно добавьте HTTPS, мониторинг и регулярные бэкапы.

Важно: регулярно проверяйте наличие обновлений Gitea и сопутствующих компонентов и тестируйте обновления в отдельной среде перед введением в эксплуатацию.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро