Установка Git Server + Gitea на Ubuntu 20.04

В данном примере рассмотрим установку Git Server и Gitea на чистом сервере Ubuntu 20.04.

  1. Настройка Mysql
  2. Установка Gitea
  3. Пример работы с Gitea

Для начала установим основные компоненты:

apt-get install git mysql-server-8.0 mailutils

Для полноценной работы отправки почтовых уведомлений и работы Gitea рекомендуем направить на сервер домен\поддомен.

Настройка Mysql.

Запустите команду чтобы войти в консоль mysql:

mysql

Создадим пользователя и базу данных gitea с паролем 08wefwojweg для дальнейшей установки Gitea:

CREATE USER 'gitea'@'localhost' IDENTIFIED BY '08wefwojweg';

CREATE DATABASE gitea;

GRANT ALL PRIVILEGES ON * . * TO 'gitea'@'localhost';

FLUSH PRIVILEGES;

Запоминаем данные, их надо будет прописать при установке Gitea.

Выйти из консоли mysql можно при помощи сочетаний клавиш Ctrl+D.

Установка Gitea

Далее скачиваем файл установки Gitea:

wget -O gitea https://dl.gitea.io/gitea/1.13.3/gitea-1.13.3-linux-amd64
chmod +x gitea

Более свежие версии можно найти на официальной странице релизов: https://dl.gitea.io/gitea/

Проверяем установлен ли git:

git --version

В нашем случае:

git version 2.25.1

Далее, необходимо создать пользователя для запуска платформы:

adduser --system --shell /bin/bash --gecos 'Git User' -group --disabled-password --home /home/git git

После чего необходимо создать структуру каталогов:

mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea

Настраиваем рабочий каталог Gitea:

export GITEA_WORK_DIR=/var/lib/gitea/

Копируем файлы платформы в рабочую папку:

cp gitea /usr/local/bin/gitea

Далее, создаём службу Gitea. для этого создайте файл службы:

nano /etc/systemd/system/gitea.service

Содержимое файла можно узнать по ссылке: https://github.com/go-gitea/gitea/blob/master/contrib/systemd/gitea.service

Включаем службу:

systemctl enable gitea

И запускаем:

sudo systemctl start gitea

По умолчанию платформа Gitea работает на порту 3000, посмотреть, запущена служба можно с помощью команды:

netstat -tuwnlp | grep 3000

Если служба запущена, вывод команды будет следующим:

tcp6       0      0 :::3000                 :::*                    LISTEN      23312/gitea        

Откройте в браузере ссылку: http://IP_SERVER:300 чтобы увидеть стартовую страницу. Или же, если у Вас есть полноценный домен\поддомен — ссылка будет вида: http://example.com:3000 — где, example.com — Ваш домен.

При открытии Вы увидите стартовую страницу:

Нажмите на кнопку входа вверху справа страницы — мы перейдём на страницу установки:

Заполните пункты раздела «Настройки базы данных», а именно пользователя, базу и пароль. Ниже укажите IP SSH и базовый URL (IP или домен).

Ниже укажите данные к учётной записи администратора:

Так же, в разделе «Сервер и настройки внешних служб» можете установить те, которые необходимы:

Нажмите на кнопку Установка Gitea и дождитесь окончания, после чего Вас направит на главную страницу, с которой потом можно будет залогиниться.

Работа с Gitea

Давайте проверим как работать с данной платформой. Создайте новый открытый репозиторий нажав на «+» вверху меню:

Результат будет примерно таким:

Создадим на локальной машине небольшой проект и загрузим его в созданный репозиторий.
Далее работа выполняется на локальной (другой) машине.
Для начала создадим папку с проектом:

mkdir testgit ; cd testgit

Cоздадим два файла: ping.txt и simple.txt.

touch ping.txt  simple.txt

В первый запишем вывод команды «ping -c4 8.8.8.8»:

ping -c4 8.8.8.8 > ping.txt

Во второй текст:

echo "Hello World!" > simple.txt

Далее в этой же папке создаём структуру репозитория:

git init

Добавляем наш удалённый репозиторий:

git remote add origin  http://gitea.goodhoster.net:3000/goodhoster/test.git

Отслеживаем все файлы в папке с проектом:

git add .

Для примера можем добавить комментарий на файлы:

git commit -m "Test Message" 

Публикуем наши файлы в удалённый репозиторий:

git push -f origin master

При выполнении последней команды нам нужно ввести логин и пароль:

Username for 'http://gitea.goodhoster.net:3000': goodhoster
Password for 'http::3000':

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

Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 4 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 552 bytes | 552.00 KiB/s, done.
Total 4 (delta 0), reused 0 (delta 0)
remote: . Processing 1 references
remote: Processed 1 references in total
To http://gitea.goodhoster.net:3000/goodhoster/test.git
+ 7c23d34...4ac1373 master -> master (forced update)

Обновите страницу с репозиторием на на платформе Gitea и вы увидите изменения:

Обратите внимание, конфигурационный файл Gitea храниться по пути /etc/gitea/app.ini. В нём прописываются все необходимые настройки, такие как порт, база данных, базовый url, сервисы и т.д.
Больше возможностей можете узнать из официальной документации: https://docs.gitea.io/en-us/

На этом базовая настройка Git server с платформой Gitea на Ubuntu 20.04 завершена.

Goodhoster.NET
Добавить комментарий для Ashleyillek Отменить ответ

  1. Ashleyillek

    Всё подобранно просто супер.

    Ответить
  2. XRumer23gen

    Hello.

    This post was created with XRumer 23 StrongAI.

    Good luck :)

    Ответить
  3. DavidFum

    Поздравляю, какие слова…, замечательная мысль

    Ответить