手把手教你玩轉 Gitea|在 Windows 系統上安裝 Gitea

2022-10-09 15:00:34

Gitea 支援在 Windows 系統上安裝和使用。Gitea 本身作為一個單體應用程式,即點即用,如需長期駐留作為後臺服務並開機執行就要依靠 Windows 服務工具 sc.exe

通過本文,你將學習到以下內容:

  • 安裝 Git for Windows
  • 註冊 Windows 服務
  • 啟用 Gitea 內建的 SSH 伺服器
  • 編輯 Windows 防火牆

環境準備

伺服器設定

本文所採用的伺服器設定如下,建議記憶體最少在 4GB 以上。OS 版本可以是 Windows 7/8/8.1/10/11 以及 Server 2012/2016/2019/2022,本文優先使用 Windows Server 2022 LTSC,其他系統版本操作類似。

OS Version CPU RAM
Windows Server LTSC 2022 4 Core 4GB

Git for Windows

Gitea 執行各項 Git 操作依賴的是背後的 git 命令列工具,因此在 Windows 平臺上你需要安裝最新的 Git for Windows

下載安裝包:https://gitforwindows.org

資料庫

Gitea 支援的資料庫: SQLite、PostgreSQL、MySQL(MariaDB)、MSSQL

如果無特殊需求(例如叢集化、高可用),建議一開始使用內建的 SQLite 作為資料庫搭建輕量級的 Gitea 伺服器,資料直接儲存在檔案中,備份遷移都更加方便。

Gitea

Gitea 官網提供了預編譯的 Windows 平臺二進位制程式。

下載預編譯的二進位制程式:https://dl.gitea.io/gitea/

進入下載頁面後,選擇適合你的 Windows 平臺的二進位制程式。

對於 Windows 而言, windows-4.0-amd64 適用於 64 位元運算系統,windows-4.0-386 即 32 位元運算系統。

另外,帶有 gogit-windows 名字的 Windows 版本程式使用了 gogit 用於解決在一部分在老舊版本的 Windows 上呼叫 git 後端導致的效能問題,但 gogit 本身也依賴後端的 git 程式,同時自身功能也有侷限。換句話說,如果你的 Gitea 執行良好,效能不錯,就不必嘗試這個版本了。

安裝

Git for Windows

一般使用 Git for Windows 安裝包一步步安裝即可。當然,你也要確保 git 命令始終在 Windows 環境變數 PATH 中,檢查辦法是通過終端執行 git 命令。

PS C:\Users\Administrator> git --version
git version 2.38.0.windows.1

看到 git version 2.38.0.windows.1 說明程式呼叫成功,列印出了當前版本。

如果出現沒有找到 Git 命令,那麼開啟,系統設定 - 環境變數 - 系統變數 - Path,手動新增 Git 程式目錄,例如 C:\Program Files\Git\cmd

安裝 Gitea

Gitea 的安裝路徑可以自定義,比如使用 C:\gitea。將前面準備好的二進位制程式 (例如 gitea-1.17.2-windows-4.0-amd64.exe) 重新命名並複製到 C:\gitea\gitea.exe。雙擊可執行程式啟動 Gitea。

當你第一次執行 Gitea 時,你需要開啟 http://localhost:3000 根據指引完成 Gitea 的初始化安裝。這個步驟會建立組態檔並儲存到 C:\gitea\custom\conf\app.ini,稍後我們在註冊 Windows 服務時會用到。

初始設定

在 Windows 中 Gitea 的 RUN_USER (以使用者名稱執行)並不與 Windows 系統的賬戶系統關聯(這一點與 Linux 不同),因此你可以在此處填寫任意使用者名稱,推薦填寫 git

最後,關閉 gitea.exe 視窗即結束 Gitea 主程式,也可以使用 Ctrl+C 結束。

將 Gitea 註冊為 Windows 服務

  1. 請以管理員身份開啟命令提示字元 (CMD),然後執行以下命令:
sc create gitea start= auto binPath= "\"C:\gitea\gitea.exe\" web --config \"C:\gitea\custom\conf\app.ini\""

請注意,start=binPath= 等號後面有空格

  1. 啟動服務
sc start gitea
  1. WIN + R 開啟執行視窗,輸入 services.msc 並啟動 Windows 服務管理工具,可以找到你剛新建的 Gitea 服務,單機右鍵可以選擇 啟用停止 或更改 屬性

如需刪除服務並重新建立,則使用 sc delete 命令。

sc delete gitea

設定

啟用 Gitea 內建的 SSH 伺服器

一般情況下,Windows 系統無需額外安裝 OpenSSH 服務。Gitea 內建了一個輕量級的 Go SSH 伺服器,安裝好之後可以通過修改組態檔手動開啟。

編輯 C:\gitea\custom\conf\app.ini, 找到 [server] 條目新增 START_SSH_SERVER = true 用於啟動內建的 SSH 服務。

[server]
START_SSH_SERVER = true

重啟 Gitea 服務使之生效。

編輯 Windows 防火牆

如果你的 Windows 系統禁止所有入站連線,你將無法通過伺服器的外部 IP 地址存取 Gitea 範例。

解決辦法:

  1. 依次開啟 控制面板\系統和安全\Windows Defender 防火牆\允許的應用。
  2. 點選允許其他應用,點選「瀏覽」選擇 C:\gitea\gitea.exe 並新增,這將允許 Gitea 通過防火牆接受入站連線。
  3. 防火牆高階設定中,你還可以精細化設定 Gitea 的 TCP 入站連線。