Gitea суулгаж тохируулах

Дусал нэвтэрхий толь-с
20:54, 19 Хоёрдугаар сар 2022-ий байдлаарх Almas (Яриа | оруулсан хувь нэмэр) хэрэглэгчийн хийсэн залруулга

Бэлтгэл

Gitea нь SQLite, PostgreSQL, MySQL /MariaDB мэдээллийн баазаар ашиглах боломжтой.

SQLite зөвхөн жижиг хэмжээтэй орчинд хэрэглэх үед ашиглаарай. Том хэмжээний орчинд бол MySQL юмуу PostgreSQL.

Энэ зааварт SQLite-ыг Gitea баазаар сонгов. Суулгаагүй бол суулгах шаардлагатай:

sudo apt update
sudo apt install sqlite3

Эхлээд git бас суулгасан байх хэрэгтэй:

sudo apt update
sudo apt install git

Шалгаж үзэх:

git --version

git version 2.25.1

Git хэрэглэгч үүсгэх:

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

Дээрх коммандаар git гэсэн хэрэглэгч ба бүлэг үүснэ. home хавтас нь /home/git. Тэгээд доорх үр дүн харагдана:

Adding system user `git' (UID 112) ...
Adding new group `git' (GID 118) ...
Adding new user `git' (UID 112) with group `git' ...
Creating home directory `/home/git' ...

Gitea binary татах

https://dl.gitea.io/gitea/ хаягаар орж сүүлийн хувилбарыг сонгож татна.

Дээрх бинариг шууд хаанаас ч ажиллуулж болно. /usr/local/bin хавтас продакшнд байрлуулахад хамгийн тохиромжтой:

sudo mv /tmp/gitea /usr/local/bin

#Make the binary executable:
sudo chmod +x /usr/local/bin/gitea

Доорх үйлдлүүдийг хийж шаардлагатай хавтаснуудыг үүсгэж хандалтыг тохируулна:

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

Дээрх нь official Gitea баримтанд бичигдсэн мэдээлэл юм.

/etc/gitea хавтсыг 770 тохируулаад суулгаж дуусаад илүү чанга тохируулах хэрэгтэй.


Systemd Unit File үүсгэнэ

Бид Gitea-г systemd service хэлбэрээр ажиллуулна.

Доорх тушаалаар /etc/systemd/system хавтас руу systemd unit файлыг татна:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/

Дээрх тохиргоонд тааруулж бичигдсэн тул файлыг засах шаардлагагүй.

Gitea service-ийг идэвхжүүлж эхлүүлэх:

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

Gitea service ажиллаж байгааг шалгах:

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
     Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2021-05-06 05:32:04 UTC; 7s ago
   Main PID: 77781 (gitea)
      Tasks: 6 (limit: 470)
     Memory: 130.6M
     CGroup: /system.slice/gitea.service
             └─77781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...

Gitea тохиргоо хийх

Тохиргоог вэб хуудсаар хандаж тохируулж суулгаж дуусгана. Үндсэн порт нь 3000.

3000 портыг фаирволл дээр нээх. ufw бол доорх тушаалаар тохируулна:

sudo ufw allow 3000/tcp

Вэб браузер дээрээ http://HOST_NAME:3000 хаягаар хандана.


Database Settings:

   Database Type: SQLite3
   Path: Use an absolute path, /var/lib/gitea/data/gitea.db

Application General Settings:

   Site Title: Enter your organization name.
   Repository Root Path: Leave the default var/lib/gitea/data/gitea-repositories.
   Git LFS Root Path: Leave the default /var/lib/gitea/data/lfs.
   Run As Username: git
   SSH Server Domain: Enter your domain or server IP address.
   SSH Port: 22, change it if SSH is listening on other Port
   Gitea HTTP Listen Port: 3000
   Gitea Base URL: Use http and your domain or server IP address.
   Log Path: Leave the default /var/lib/gitea/log

Энэ тохиргоог дараа хэдийд ч Gitea тохиргооны файлд өөрчлөх боломжтой.

Харин хуудасны доод хэсэгт admin хэрэглэгчийн тохиргоог хийгээд суулгаж болно.

“Install Gitea” товчоор суулгана.

Хэрэв дээрх тохиргоо хэсэгт админ хэрэглэгч тохируулаагүй бол шинэ хэрэглэгч бүртгүүлэх хэрэгтэй. Хамгийн эхний хэрэглэгч автоматаар шууд админ болно:

sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

Ингээд суулгаж дууссан.

SSL тохируулах хэрэгтэй.

Тохиргоо засварлах

Мөн үндсэн репо хаягийг тохируулах хэрэгтэй.

sudo vim /etc/gitea/app.ini

Дээрх файлд тохиргоог хийнэ. Энэ файлд суулгацын үед автоматаар гол тохиргоонууд орсон байх ба түүнийг олж засна.

Жишээ:

[server]
SSH_DOMAIN       = git.example.com
DOMAIN           = git.example.com
ROOT_URL         = https://git.example.com:3001/

Хэрэв файлд тохируулахыг хүссэн тохиргоо байхгүй бол https://docs.gitea.io/en-us/config-cheat-sheet/ хаягаар орж харж тохиргоо нэмж болно.

Жишээ:

[server]
LANDING_PAGE = login

[other]
SHOW_FOOTER_BRANDING  = false
SHOW_FOOTER_VERSION   = false
SHOW_FOOTER_TEMPLATE_LOAD_TIME = false

Тохиргоог хадгалаад сервис дахин ачааллана:

sudo systemctl restart gitea


Мэйл мэдэгдлийн тохиргоо

sudo vim /etc/gitea/app.ini

Жишээ тохиргоо:

[mailer]
ENABLED     = true
HOST        = mail.dusal.net:587
SKIP_VERIFY = true
FROM        = noreply@dusal.net
USER        = noreply@dusal.net
PASSWD      = NuutsUgEnd

Тохиргоог хадгалаад сервис дахин ачааллана:

sudo systemctl restart gitea


Админ эрхээр нэвтэрч ороод шалгаж болно: Site Administration > Configuration > SMTP Mailer Configuration.

Gitea автомат шинэчлэлт тохируулах

Эх суралж: https://github.com/CMiksche/gitea-auto-update

Эхлээд /etc/gitea/update-settings.ini файлыг үүсгэнэ:

[Gitea]
site=https://your-gitea-instance.com:3001/api/v1/version
apiUrl=https://api.github.com/repos/go-gitea/gitea/releases/latest
system=linux-amd64
file=/usr/local/bin/gitea
tmpDir=/tmp/
buildFromSource=
sourceDir=
logFile=/var/lib/gitea/log/update.log

gitea-auto-update суулгах.

sudo pip3 install gitea-auto-update

Доорх тушаалаар шинэчилнэ.

gitea-auto-update --settings=/etc/gitea/update-settings.ini

Cron файл үүсгэнэ.

sudo vim /etc/cron.daily/upgrade-gitea

Доорх агуулгыг бичнэ:

#!/bin/bash
gitea-auto-update --settings=/etc/gitea/auto-update.ini

Ажиллах эрх өгнө.

sudo chmod +x /etc/cron.daily/upgrade-gitea

Ингээд автоматаар шинэчлэгдээд ажиллах болно.