Установка 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

Створимо два файли: 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
Залишити відповідь до Анонім Скасувати відповідь

  1. Ashleyillek

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

    Відповіcти
  2. XRumer23gen

    Hello.

    This post was created with XRumer 23 StrongAI.

    Good luck :)

    Відповіcти
  3. DavidFum

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

    Відповіcти