Skip to main content

Gitea 安裝流程

BUBU 因之前有測試 GitLab 發現到他資源吃很重而且功能還強大,用不了這麼多功能,因此無意中看到有人使用 Gitea 這套服務使用,介面跟 GitHub 差不多一樣並且也有中文化,重點該服務的資源吃不重,這是用 Go 語言寫出來的服務,官方文件上可以參考看看與其他服務功能做功能比較

運行環境


環境都是在 「Proxmox VE 」 虛擬系統上架設,都是以 「 LXC 」模式為主,除非有特殊狀況會告知使用 「 VM 」 模式

  • 系統環境: Debian 10
  • Web 服務: Nginx 1.18
  • 資料庫服務: MariaDB 10.5

安裝或測試過程


  • 安裝 Gitea 很簡單,只要先安裝好 web 服務及資料庫,系統再做調整就可以運行了
安裝 Web 服務

  • 安裝 Nginx 必要套件
sudo apt install curl gnupg2 ca-certificates lsb-release
  • 增加來源庫
# 來源庫新增加穩定版 nginx 服務
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list
  • 導入官方金鑰來確認該套件安全性
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
  • 驗證現在的金鑰是否正確
sudo apt-key fingerprint ABF5BD827BD9BF62
  • 輸出的指紋如下 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62
pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
uid   [ unknown] nginx signing key <[email protected]>
  • 安裝 Nginx 服務
sudo apt update
sudo apt install nginx
  • 啟動及自動啟動服務
systemctl start nginx ; systemctl enable nginx
MairaDB 安裝

sudo apt-get install software-properties-common dirmngr
sudo apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.5/debian buster main'
  • 安裝 MariaDB 服務
sudo apt update
sudo apt install mariadb-server
  • 啟動服務
systemctl enable mariadb ; systemctl start mariadb 
  • 如果無法正常啟動話,因為環境是 LXC 造成無法正常啟動,所以要先關掉 LXC 服務,去做設定,如圖下

db-01.png

  • 資料庫設定
# 登入資料庫裡設定資表及權限
mysql -u root -p   

# 在資料庫裡新增BookStack表單
CREATE DATABASE IF NOT EXISTS gitea DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

# 密碼請自己輸入好記錄的密碼
GRANT ALL PRIVILEGES ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

# 重新載入設定值
FLUSH PRIVILEGES;

# 離開資料庫
exit
Gitea 安裝

wget -O /usr/bin/gitea https://github.com/go-gitea/gitea/releases/download/v1.13.2/gitea-1.13.2-linux-amd64
  • Gitea 設定成能執行
chmod +x /usr/bin/gitea
  • 新增加 Gitea 使用者跟群組
adduser --system --group --disabled-password git
  • 在 home 新增加目錄並且給序權限
mkdir -p /home/git/{custom,data,log}
chown -R git:git /home/git
chmod -R 750 /home/git
  • 設定 Gitea 服務 vim /etc/systemd/system/gitea.service
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
Requires=mariadb.service

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/home/git
ExecStart=/usr/bin/gitea web --config /home/git/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/home/git


[Install]
WantedBy=multi-user.target
  • 啟動 Gitea 服務
systemctl enable --now gitea.service
  • 確認 Gitea 目前狀態
systemctl status gitea.service
  • 開啟網頁連線到 http://ip/install 日後會在補充畫面

  • 連線成功的畫面

gitea-01.png

  • 進來之後的畫面

gitea-02.png

Gitea 設定

  • Gitea 設定檔都在 /home/git/app.ini

補充說明


備註





參考相關網頁