Files
docs/i18n/zh-tw/docusaurus-plugin-content-docs/version-1.24/installation/from-binary.md
T

206 lines
8.2 KiB
Markdown
Raw Normal View History

2025-05-05 16:47:20 +00:00
---
date: "2016-12-01T16:00:00+02:00"
slug: "install-from-binary"
sidebar_position: 15
aliases:
- /zh-tw/install-from-binary
---
2025-09-03 21:00:35 +00:00
# 使用二進制文件安裝
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
所有打包的二進制程序均包含 SQLite,MySQL 和 PostgreSQL 的数据库连接支持,同时网站的静态资源均已嵌入到可執行程序中,这一点和曾经的 Gogs 有所不同。
2025-05-05 16:47:20 +00:00
## 下载
2025-09-03 21:00:35 +00:00
你可以从 [下载页面](https://dl.gitea.com/gitea/) 選择对應平台的二進制文件。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
### 選择架构
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
- **對於 Linux**,`linux-amd64` 适用于 64-bit 的 Intel/AMD 平台。更多架构包含 `arm64` (Raspberry PI 4),`386` (32-bit),`arm-5` 以及 `arm-6`。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
- **對於 Windows**,`windows-4.0-amd64` 适用于 64-bit 的 Intel/AMD 平台,`386` 适用于 32-bit 的 Intel/AMD 平台。(提示:`gogit-windows` 版本内建了 gogit 可能缓解在旧的 Windows 平台上 Go 程序调用 git 子程序时面临的 [性能问题](https://github.com/go-gitea/gitea/pull/15482))
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
- **對於 macOS**,`darwin-arm64` 适用于 Apple Silicon 架构,`darwin-amd64` 适用于 Intel 架构.
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
- **對於 FreeBSD**,`freebsd12-amd64` 适用于 64-bit 的 Intel/AMD 平台。
2025-05-05 16:47:20 +00:00
### 使用 wget 下载
2025-09-03 21:00:35 +00:00
使用以下命令下载适用于 64-bit Linux 平台的二進制文件。
2025-05-05 16:47:20 +00:00
```sh
wget -O gitea https://dl.gitea.com/gitea/@version@/gitea-@version@-linux-amd64
chmod +x gitea
```
2025-09-03 21:00:35 +00:00
## 驗證 GPG 签名
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
Gitea 对打包的二進制文件使用 [GPG 密钥](https://keys.openpgp.org/search?q=teabot%40gitea.io) 签名以防止篡改。
請根据对應文件名 `.asc` 中包含的校验码检验文件的一致性。
2025-05-05 16:47:20 +00:00
```sh
gpg --keyserver hkps://keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
2025-05-05 16:47:20 +00:00
gpg --verify gitea-@version@-linux-amd64.asc gitea-@version@-linux-amd64
```
2025-09-03 21:00:35 +00:00
校验正确时的信息為 `Good signature from "Teabot <teabot@gitea.io>"`。
校验错误时的信息為 `This key is not certified with a trusted signature!`。
2025-05-05 16:47:20 +00:00
## 服务器设置
2025-09-03 21:00:35 +00:00
**提示:** `GITEA_WORK_DIR` 表示 Gitea 工作的路径。以下路径可以通過 [环境变量](../administration/environment-variables.md) 初始化。
2025-05-05 16:47:20 +00:00
### 准备环境
2025-09-03 21:00:35 +00:00
检查是否安裝 Git。要求 Git 版本 >= 2.0。
2025-05-05 16:47:20 +00:00
```sh
git --version
```
2025-09-03 21:00:35 +00:00
建立使用者(推荐使用名稱 `git`)
2025-05-05 16:47:20 +00:00
```sh
# 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 git
adduser \
--system \
--shell /bin/bash \
--comment 'Git Version Control' \
--gid git \
--home-dir /home/git \
--create-home \
git
```
2025-09-03 21:00:35 +00:00
### 建立工作路径
2025-05-05 16:47:20 +00:00
```sh
mkdir -p /var/lib/gitea/{custom,data,log}
chown -R git:git /var/lib/gitea/
chmod -R 750 /var/lib/gitea/
mkdir /etc/gitea
chown root:git /etc/gitea
chmod 770 /etc/gitea
```
2025-09-03 21:00:35 +00:00
> **注意:** 為了让 Web 安裝程序可以写入配置文件,我们临时為 `/etc/gitea` 路径授予了组外使用者 `git` 写入权限。建议在安裝结束后将配置文件的权限设置為只读。
2025-05-05 16:47:20 +00:00
>
> ```sh
> chmod 750 /etc/gitea
> chmod 640 /etc/gitea/app.ini
> ```
2025-09-03 21:00:35 +00:00
如果您不希望通過 Web 安裝程序建立配置文件,可以将配置文件设置為僅供 Gitea 使用者只读(owner/group `root:git`, mode `0640`)並手工建立配置文件:
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
- 设置 `INSTALL_LOCK=true` 关闭安裝界面
- 手动配置数据库连接參數
- 使用 `gitea generate secret` 建立 `SECRET_KEY` 和 `INTERNAL_TOKEN`
2025-05-05 16:47:20 +00:00
- 提供所有必要的密钥
2025-09-03 21:00:35 +00:00
详情参考 [命令行文檔](../administration/command-line.md) 中有关 `gitea generate secret` 的内容。
2025-05-05 16:47:20 +00:00
### 配置 Gitea 工作路径
2025-09-03 21:00:35 +00:00
**提示:** 如果使用 Systemd 管理 Gitea 的 Linux 服务,你可以采用 `WorkingDirectory` 參數来配置工作路径。 否则,使用环境变量 `GITEA_WORK_DIR` 来明确指出程序工作和数据存放路径。
2025-05-05 16:47:20 +00:00
```sh
export GITEA_WORK_DIR=/var/lib/gitea/
```
2025-09-03 21:00:35 +00:00
### 复制二進制文件到全局位置
2025-05-05 16:47:20 +00:00
```sh
cp gitea /usr/local/bin/gitea
```
### 添加 bash/zsh 自动补全(从 1.19 版本开始)
可以在 [`contrib/autocompletion/bash_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/bash_autocomplete) 找到启用 bash 自动补全的脚本。可以将其复制到 `/usr/share/bash-completion/completions/gitea`,或在 `.bashrc` 中引用。
同样地,zsh 自动补全的脚本可以在 [`contrib/autocompletion/zsh_autocomplete`](https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/autocompletion/zsh_autocomplete) 找到。您可以将其复制到 `/usr/share/zsh/_gitea`,或在您的 `.zshrc` 中引用。
2025-09-03 21:00:35 +00:00
具體情况可能会有所不同,这些脚本可能需要進一步的改進。
2025-05-05 16:47:20 +00:00
## 运行 Gitea
2025-09-03 21:00:35 +00:00
完成以上步骤后,可以通過两种方式运行 Gitea:
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
### 1. 建立服务自动启动 Gitea(推荐)
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
学习建立 [Linux 服务](installation/run-as-service-in-ubuntu.md)
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
### 2. 通過命令行终端运行
2025-05-05 16:47:20 +00:00
```sh
GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini
```
## 升级到最新版本
2025-09-03 21:00:35 +00:00
您可以通過停止程序,替换 `/usr/local/bin/gitea` 並重启来更新到新版本。直接替换可執行程序时不要更改或使用新的文件名稱,以避免数据出错。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
建议您在更新之前進行[备份](../administration/backup-and-restore.md)。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
如果您按照上述描述執行了安裝步骤,二進制文件的通用名稱應為 gitea。請勿更改此名稱,即不要包含版本号。
2025-05-05 16:47:20 +00:00
### 1. 使用 systemd 重新启动 Gitea(推荐)
2025-09-03 21:00:35 +00:00
我们建议使用 systemd 作為服务管理器,使用 `systemctl restart gitea` 安全地重启程序。
2025-05-05 16:47:20 +00:00
### 2. 非 systemd 重启方法
使用 SIGHUP 信号关闭程序:查询到 Gitea 程序的 PID,使用 `kill -1 $GITEA_PID`,或者 `killall -1 gitea`。
更优雅的停止指令可能包括 `kill $GITEA_PID` 或者 `killall gitea`。
**提示:** 我们不建议使用 SIGKILL 信号(`-9`),这会强制停止 Gitea 程序,但不会正确关闭队列、索引器等任务。
2025-09-03 21:00:35 +00:00
請参阅下面的疑难解答说明,以在 Gitea 版本更新后修复损坏的存放庫。
2025-05-05 16:47:20 +00:00
## 排查故障
### 旧版 glibc
2025-09-03 21:00:35 +00:00
旧版 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 支持。在这种情况下,通常可以選择[从源代码安裝](installation/from-source.md),而不包括 SQLite 支持。
2025-05-05 16:47:20 +00:00
### 在另一个端口上运行 Gitea
2025-09-03 21:00:35 +00:00
對於出現类似于 `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 实例在运行。
2025-05-05 16:47:20 +00:00
### 在 Raspbian 上运行 Gitea
2025-09-03 21:00:35 +00:00
从 v1.8 版本开始,arm7 版本的 Gitea 存在问题,無法在树莓派和类似设备上运行。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
建议切换到 arm6 版本,該版本经過测试並已被证明可以在树莓派和类似设备上运行。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
### 更新到新版本的 Gitea 后出現的 Git 错误
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
如果在更新過程中,二進制文件的名稱已更改為新版本的 Gitea,则現有存放庫中的 Git 钩子将不再起作用。在这种情况下,当推送到存放庫时,会显示 Git 错误。
2025-05-05 16:47:20 +00:00
```
remote: ./hooks/pre-receive.d/gitea: line 2: [...]: No such file or directory
```
2025-09-03 21:00:35 +00:00
错误信息中的 `[...]` 部分将包含您先前 Gitea 二進制文件的路径。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
要解决此问题,請转到管理選项,並运行任务 `Resynchronize pre-receive, update and post-receive hooks of all repositories`,以将所有钩子更新為包含新的二進制文件路径。請注意,这将覆盖所有 Git 钩子,包括自定义的钩子。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
如果您没有使用 Gitea 内置的 SSH 服务器,您還需要通過在管理選项中运行任务 `Update the '.ssh/authorized_keys' file with Gitea SSH keys.` 来重新编写授权密钥文件。
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
> 更多经验总结,請参考英文版 [Troubleshooting](https://docs.gitea.com/installation/install-from-binary#troubleshooting)
2025-05-05 16:47:20 +00:00
2025-09-03 21:00:35 +00:00
如果从本页中没有找到你需要的内容,請访问 [帮助页面](help/support.md)