使用二進制文件安裝
所有打包的二進制程式均包含 SQLite,MySQL 和 PostgreSQL 的資料庫連接支援,同時網站的靜態資源均已嵌入到可執行程式中,這一點和曾經的 Gogs 有所不同。
你可以從 下載頁面 選擇對應平台的二進制文件。
-
對於 Linux,
linux-amd64適用於 64-bit 的 Intel/AMD 平台。更多架構包含arm64(Raspberry PI 4),386(32-bit),arm-5以及arm-6。 -
對於 Windows,
windows-4.0-amd64適用於 64-bit 的 Intel/AMD 平台,386適用於 32-bit 的 Intel/AMD 平台。(提示:gogit-windows版本內建了 gogit 可能緩解在舊的 Windows 平台上 Go 程式調用 git 子程式時面臨的 性能問題) -
對於 macOS,
darwin-arm64適用於 Apple Silicon 架構,darwin-amd64適用於 Intel 架構. -
對於 FreeBSD,
freebsd12-amd64適用於 64-bit 的 Intel/AMD 平台。
使用 wget 下載
Section titled “使用 wget 下載”使用以下命令下載適用於 64-bit Linux 平台的二進制文件。
wget -O gitea https://dl.gitea.com/gitea/1.27.2/gitea-1.27.2-linux-amd64chmod +x gitea驗證 GPG 簽名
Section titled “驗證 GPG 簽名”Gitea 對打包的二進制文件使用 GPG 密鑰 簽名以防止篡改。
請根據對應文件名 .asc 中包含的校驗碼檢驗文件的一致性。
gpg --keyserver hkps://keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2gpg --verify gitea-1.27.2-linux-amd64.asc gitea-1.27.2-linux-amd64校驗正確時的資訊為 Good signature from "Teabot <teabot@gitea.io>"。
校驗錯誤時的資訊為 This key is not certified with a trusted signature!。
提示: GITEA_WORK_DIR 表示 Gitea 工作的路徑。以下路徑可以透過 環境變量 初始化。
檢查是否安裝 Git。要求 Git 版本 >= 2.0。
git --version建立使用者(推薦使用名稱 git)
# On Ubuntu/Debian:adduser \ --system \ --shell /bin/bash \ --gecos 'Git Version Control' \ --group \ --disabled-password \ --home /home/git \ git
# On Fedora/RHEL/CentOS:groupadd --system gitadduser \ --system \ --shell /bin/bash \ --comment 'Git Version Control' \ --gid git \ --home-dir /home/git \ --create-home \ git建立工作路徑
Section titled “建立工作路徑”mkdir -p /var/lib/gitea/{custom,data,log}chown -R git:git /var/lib/gitea/chmod -R 750 /var/lib/gitea/mkdir /etc/giteachown root:git /etc/giteachmod 770 /etc/gitea注意: 為了讓 Web 安裝程式可以寫入設定文件,我們臨時為
/etc/gitea路徑授予了組外使用者git寫入權限。建議在安裝結束後將設定文件的權限設定為只讀。Terminal window chmod 750 /etc/giteachmod 640 /etc/gitea/app.ini
如果您不希望通過 Web 安裝程式建立設定文件,可以將設定文件設定為僅供 Gitea 使用者只讀(owner/group root:git, mode 0640)並手工建立設定文件:
- 設定
INSTALL_LOCK=true關閉安裝介面 - 手動設定資料庫連接參數
- 使用
gitea generate secret建立SECRET_KEY和INTERNAL_TOKEN - 提供所有必要的密鑰
詳情參考 命令行文件 中有關 gitea generate secret 的內容。
設定 Gitea 工作路徑
Section titled “設定 Gitea 工作路徑”提示: 如果使用 Systemd 管理 Gitea 的 Linux 服務,你可以採用 WorkingDirectory 參數來設定工作路徑。 否則,使用環境變量 GITEA_WORK_DIR 來明確指出程式工作和資料存放路徑。
export GITEA_WORK_DIR=/var/lib/gitea/複製二進制文件到全域位置
Section titled “複製二進制文件到全域位置”cp gitea /usr/local/bin/gitea添加 bash/zsh 自動補全(從 1.19 版本開始)
Section titled “添加 bash/zsh 自動補全(從 1.19 版本開始)”可以在 contrib/autocompletion/bash_autocomplete 找到啟用 bash 自動補全的腳本。可以將其複製到 /usr/share/bash-completion/completions/gitea,或在 .bashrc 中引用。
同樣地,zsh 自動補全的腳本可以在 contrib/autocompletion/zsh_autocomplete 找到。您可以將其複製到 /usr/share/zsh/_gitea,或在您的 .zshrc 中引用。
具體情況可能會有所不同,這些腳本可能需要進一步的改進。
運行 Gitea
Section titled “運行 Gitea”完成以上步驟後,可以透過兩種方式運行 Gitea:
1. 建立服務自動啟動 Gitea(推薦)
Section titled “1. 建立服務自動啟動 Gitea(推薦)”學習建立 Linux 服務
2. 通過命令行終端運行
Section titled “2. 通過命令行終端運行”GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini升級到最新版本
Section titled “升級到最新版本”您可以透過停止程式,替換 /usr/local/bin/gitea 並重啟來更新到新版本。直接替換可執行程式時不要更改或使用新的文件名稱,以避免資料出錯。
建議您在更新之前進行備份。
如果您按照上述描述執行了安裝步驟,二進制文件的通用名稱應為 gitea。請勿更改此名稱,即不要包含版本號。
1. 使用 systemd 重新啟動 Gitea(推薦)
Section titled “1. 使用 systemd 重新啟動 Gitea(推薦)”我們建議使用 systemd 作為服務管理器,使用 systemctl restart gitea 安全地重啟程式。
2. 非 systemd 重啟方法
Section titled “2. 非 systemd 重啟方法”使用 SIGHUP 信號關閉程式:查詢到 Gitea 程式的 PID,使用 kill -1 $GITEA_PID,或者 killall -1 gitea。
更優雅的停止指令可能包括 kill $GITEA_PID 或者 killall gitea。
提示: 我們不建議使用 SIGKILL 信號(-9),這會強制停止 Gitea 程式,但不會正確關閉隊列、索引器等任務。
請參閱下面的疑難解答說明,以在 Gitea 版本更新後修復損壞的儲存庫。
舊版 glibc
Section titled “舊版 glibc”舊版 Linux 發行版(例如 Debian 7 和 CentOS 6)可能無法加載 Gitea 二進制文件,通常會產生類似於 ./gitea: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC\_2.14' not found (required by ./gitea) 的錯誤。這是由於 dl.gitea.com 提供的二進制文件中整合了 SQLite 支援。在這種情況下,通常可以選擇從源程式碼安裝,而不包括 SQLite 支援。
在另一個端口上運行 Gitea
Section titled “在另一個端口上運行 Gitea”對於出現類似於 702 runWeb()] [E] Failed to start server: listen tcp 0.0.0.0:3000: bind: address already in use 的錯誤,需要將 Gitea 啟動在另一個空閒端口上。您可以使用 ./gitea web -p $PORT 來實現。可能已經有另一個 Gitea 實例在運行。
在 Raspbian 上運行 Gitea
Section titled “在 Raspbian 上運行 Gitea”從 v1.8 版本開始,arm7 版本的 Gitea 存在問題,無法在樹莓派和類似設備上運行。
建議切換到 arm6 版本,該版本經過測試並已被證明可以在樹莓派和類似設備上運行。
更新到新版本的 Gitea 後出現的 Git 錯誤
Section titled “更新到新版本的 Gitea 後出現的 Git 錯誤”如果在更新過程中,二進制文件的名稱已更改為新版本的 Gitea,則現有儲存庫中的 Git 鉤子將不再起作用。在這種情況下,當推送到儲存庫時,會顯示 Git 錯誤。
remote: ./hooks/pre-receive.d/gitea: line 2: [...]: No such file or directory錯誤資訊中的 [...] 部分將包含您先前 Gitea 二進制文件的路徑。
要解決此問題,請轉到管理選項,並運行任務 Resynchronize pre-receive, update and post-receive hooks of all repositories,以將所有鉤子更新為包含新的二進制文件路徑。請注意,這將覆蓋所有 Git 鉤子,包括自訂的鉤子。
如果您沒有使用 Gitea 內置的 SSH 伺服器,您還需要通過在管理選項中運行任務 Update the '.ssh/authorized_keys' file with Gitea SSH keys. 來重新編寫授權密鑰文件。
更多經驗總結,請參考英文版 Troubleshooting
如果從本頁中沒有找到你需要的內容,請前往 幫助頁面