如何安裝 Gitea 以擁有本地 Git 伺服器

最後更新: 3月2026
  • Gitea 是 GitLab 和 GitHub 的輕量級替代方案,它消耗的系統資源非常少。
  • 此安裝程式基於透過 SystemD 作為服務進行管理的可執行二進位。
  • 使用 Nginx 反向代理對於透過 HTTPS 實現安全存取至關重要。
  • 它允許將現有儲存庫從其他平台遷移過來,同時保留問題和標籤。

資料中心中的伺服器機架,代表本地 Git 伺服器的基礎架構。

如果您厭倦了依賴 GitHub 或 GitLab 等巨頭的規則、成本或可用性,那麼建立自己的基礎設施才是正道。在家中或辦公室擁有 Git 伺服器,就如同擁有了王國的鑰匙:對代碼的絕對控制權、全面的存取權管理,以及免受第三方對私有倉庫的限制,讓您高枕無憂。

在所有可用的選項中,Gitea 堪稱一顆璀璨的明珠。它是一款用 Go 語言編寫的工具,因此極其輕量級且速度極快,非常適合那些不想為 Git 伺服器分配 16 GB 記憶體的用戶。與功能豐富但資源消耗巨大的 GitLab 不同,Gitea 就像一艘快艇:它直奔主題,資源消耗極低,並且為任何使用過 GitHub 的用戶提供了非常熟悉的介面。

快速比較:Gitea、GitLab 和 Forgejo

軟體工程師正在伺服器機房內使用筆記型電腦配置伺服器。

在開始安裝之前,了解你將要使用的工具非常重要。 GitLab 是典型的企業級解決方案,非常適合需要整合 CI/CD 的大型團隊,但它對硬體配置要求很高。而 Gitea 則記憶體佔用極低,是小型伺服器或個人專案的最佳選擇。最後,還有 Forgejo,它是 Gitea 的一個社群分支;如果你是自由軟體的純粹主義者,並且偏好開放的治理模式,不希望受到任何企業因素的影響,那麼 Forgejo 就是你的理想之選。

  哥倫比亞程式設計訓練營:如何選擇的完整指南

開始之前你需要準備什麼

現代工作空間中的筆記型電腦螢幕上顯示程式碼行,非常適合用來示範 Git 程式碼庫管理。

為確保一切順利運行,請確保您擁有一台具有 root 權限的Linux 伺服器(Ubuntu、Debian 或 Rocky Linux 均可)。此外,伺服器上必須安裝 Git。雖然 Gitea 允許使用 SQLite,但對於生產環境,強烈建議使用PostgreSQL 或 MariaDB來確保資料穩定性。

為系統做好準備

特寫鏡頭展現了雙手在鍵盤上編程的過程,象徵軟體開發和Gitea的使用。

出於安全考慮,以 root 使用者身分執行 Gitea 並非明智之舉。最好創建一個專用用戶。您可以透過執行以下命令來建立專用使用者: adduser --system --shell /bin/bash --group --home /home/gitea gitea. 必須使用 /bin/bash 作為 shell 因為 Gitea 需要透過 SSH 與 git-shell 互動。如果您尚未安裝 Git,只需簡單地安裝即可。 apt install git 將迅速解決問題。

二進位安裝和資料夾結構

乙太網路電纜連接到網路交換器的細部圖,展示了網路配置和反向代理。

Gitea 可以透過多種方式安裝,但最直接的方式是使用二進位。您應該在其官方網站上找到最新的穩定版本,並使用 [method/method] 下載。 wget en /usr/local/bin/gitea稍後再說 使用 chmod +x 執行權限為了使程式正常運行,必須建立一系列特定的目錄: /etc/gitea 用於配置和 /var/lib/gitea 用於自訂資料、日誌和文件。別忘了調整 屬性權限(chown) 以便使用者 gitea 可以寫入資料到他們。

資料庫配置

如果選擇 PostgreSQL,除了資料庫之外,還需要安裝軟體包並建立一個具有強密碼的特定角色。 giteadb 使用 UTF-8 編碼。如果您更喜歡 MariaDB,過程類似:建立資料庫和用戶,並確保… 儲存引擎是 InnoDB 伺服器正在監聽連接埠 3306。

  錯誤 404 找不到:它是什麼、原因、對您的網站的影響以及如何修復它。

使用 SystemD 實現自動化

為了避免每次重新啟動伺服器後都要手動啟動 Gitea,最好在 /etc/gitea.htm 目錄下建立一個磁碟機檔案。 /etc/systemd/system/gitea.service該文件告訴系統: Gitea 必須作為服務運行定義使用者、群組和二進位檔案路徑。創建完成後,只需運行即可。 systemctl enable --now gitea 伺服器將預設開始監聽 3000 連接埠。

首次接觸網頁介面

阿恩特拉爾 http://tu-ip:3000接下來您將看到設定精靈。在這裡,您需要連接資料庫(指定主機、使用者名稱和密碼)並定義… 網站常規設定例如實例名稱和基本 URL。此外,現在還需要設定 SSH 伺服器,並決定是否允許任何人註冊,或者您是否希望… 禁用公共日誌記錄 為了保持伺服器的私密性。

使用 Nginx 實現安全性和專業訪問

透過 3000 連接埠存取 Gitea 效率低且不安全。理想的解決方案是使用Nginx設定反向代理。這樣使用者就可以透過網域名稱(例如 git.yourdomain.com)存取網站,並確保所有流量都使用Let's Encrypt SSL 憑證進行加密。在 Nginx 配置中,只需將 443 端口的流量重定向到 Gitea 的 3000 端口,並添加 X-Forwarded-For 標頭以避免丟失客戶端的真實 IP 位址。

使用者管理和程式碼遷移

如果您停用了開放式日誌記錄,則可以使用命令列建立第一個管理員。 gitea admin user create進入後,您可以添加您的 公鑰 SSH 金鑰 在使用者個人資料中,無需每次都輸入密碼即可複製儲存庫。如果您已經在 GitHub 上擁有程式碼,Gitea 也提供了相應的功能。 整合遷移工具 它不僅會自動導入程式碼,還會自動導入問題和標籤。

  OpenAI Codex CLI:關於終端程式碼助理你需要知道的一切

維護和調校

維護 Gitea 非常簡單。要更新,只需下載新的二進位文件,替換舊文件,然後重新啟動服務即可。若要進行備份,請使用以下命令。 gitea dump 它是你最好的朋友,因為它能產生… 包含所有內容的壓縮文件資料庫、配置和代碼倉庫。對於電子郵件,您可以設定外部 SMTP 伺服器(例如 Gmail),或在伺服器上安裝 Postfix 以接收拉取請求和警報通知。

實作 Gitea 可以讓您擁有一個強大、輕量級且完全私有的版本控制平台,透過基於二進位的安裝、最佳化的資料庫和反向代理,消除對外部服務的依賴,並透過 HTTPS 保證流量安全。