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