Установка 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
Добавить комментарий