diff --git a/docs/content/doc/installation/from-binary.en-us.md b/docs/content/doc/installation/from-binary.en-us.md index 78d2d8d08db58..669180e38fd9a 100644 --- a/docs/content/doc/installation/from-binary.en-us.md +++ b/docs/content/doc/installation/from-binary.en-us.md @@ -16,7 +16,7 @@ menu: # Installation from binary All downloads come with SQLite, MySQL and PostgreSQL support, and are built with -embedded assets. This can be different for older releases. +embedded assets. This can be different from Gogs. **Table of Contents** @@ -24,7 +24,7 @@ embedded assets. This can be different for older releases. ## Download -You can find the file matching your platform from the [downloads page](https://dl.gitea.io/gitea/) after navigating to the version you want to download. +You can find the file matching your platform from the [downloads page](https://dl.gitea.com/gitea/) after navigating to the version you want to download. ### Choosing the right file @@ -36,12 +36,14 @@ You can find the file matching your platform from the [downloads page](https://d **For macOS**, you should choose `darwin-arm64` if your hardware uses Apple Silicon, or `darwin-amd64` for Intel. +**For FreeBSD**, you should choose `freebsd12-amd64` for 64-bit Intel/AMD platforms. + ### Downloading with wget Copy the commands below and replace the URL within the one you wish to download. ```sh -wget -O gitea https://dl.gitea.io/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 +wget -O gitea https://dl.gitea.com/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 chmod +x gitea ``` @@ -173,7 +175,7 @@ an update of your Gitea version. Older Linux distributions (such as Debian 7 and CentOS 6) may not be able to load the Gitea binary, usually producing an error such as `./gitea: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC\_2.14' not found (required by ./gitea)`. This is due to the integrated -SQLite support in the binaries provided by dl.gitea.io. In this situation, it is usually +SQLite support in the binaries provided by dl.gitea.com. In this situation, it is usually possible to [install from source]({{< relref "from-source.en-us.md" >}}), without including SQLite support. diff --git a/docs/content/doc/installation/from-binary.zh-cn.md b/docs/content/doc/installation/from-binary.zh-cn.md index f04166c3a5a7e..5e28cf0f21d23 100644 --- a/docs/content/doc/installation/from-binary.zh-cn.md +++ b/docs/content/doc/installation/from-binary.zh-cn.md @@ -15,21 +15,150 @@ menu: # 从二进制安装 -所有下载均包括 SQLite, MySQL 和 PostgreSQL 的支持,同时所有资源均已嵌入到可执行程序中,这一点和老版本有所不同。 基于二进制的安装非常简单,只要从 [下载页面](https://dl.gitea.io/gitea) 选择对应平台,拷贝下载URL,执行以下命令即可(以Linux为例): +所有打包的二进制程序均包含 SQLite,MySQL 和 PostgreSQL 的数据库连接支持,同时网站的静态资源均已嵌入到可执行程序中,这一点和曾经的 Gogs 有所不同。 -``` -wget -O gitea https://dl.gitea.io/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 +**目录** + +{{< toc >}} + +## 下载 + +你可以从 [下载页面](https://dl.gitea.com/gitea/) 选择对应平台的二进制文件。 + +### 选择架构 + +- **对于 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 子程序时面临的 [性能问题](https://github.com/go-gitea/gitea/pull/15482)) + +- **对于 macOS**,`darwin-arm64` 适用于 Apple Silicon 架构,`darwin-amd64` 适用于 Intel 架构. + +- **对于 FreeBSD**,`freebsd12-amd64` 适用于 64-bit 的 Intel/AMD 平台。 + +### 使用 wget 下载 + +使用以下命令下载适用于 64-bit Linux 平台的二进制文件。 + +```sh +wget -O gitea https://dl.gitea.com/gitea/{{< version >}}/gitea-{{< version >}}-linux-amd64 chmod +x gitea ``` -## 测试 +## 验证 GPG 签名 -在执行了以上步骤之后,你将会获得 `gitea` 的二进制文件,在你复制到部署的机器之前可以先测试一下。在命令行执行完后,你可以 `Ctrl + C` 关掉程序。 +Gitea 对打包的二进制文件使用 [GPG密钥](https://keys.openpgp.org/search?q=teabot%40gitea.io) 签名以防止篡改。 +请根据对应文件名 `.asc` 中包含的校验码检验文件的一致性。 +```sh +gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 +gpg --verify gitea-{{< version >}}-linux-amd64.asc gitea-{{< version >}}-linux-amd64 ``` -./gitea web + +校验正确时的信息为 `Good signature from "Teabot "`。 +校验错误时的信息为 `This key is not certified with a trusted signature!`。 + +## 服务器设置 + +**提示:** `GITEA_WORK_DIR` 表示 Gitea 工作的路径。以下路径可以通过 [环境变量]({{< relref "doc/advanced/environment-variables.zh-cn.md" >}}) 初始化。 + +### 准备环境 + +检查是否安装 Git。要求 Git 版本 >= 2.0。 + +```sh +git --version +``` + +创建用户(推荐使用名称 `git`) + +```sh +adduser \ + --system \ + --shell /bin/bash \ + --gecos 'Git Version Control' \ + --group \ + --disabled-password \ + --home /home/git \ + git ``` -## 需要帮助? +### 创建工作路径 + +```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 +``` + +> **注意:** 为了让 Web 安装程序可以写入配置文件,我们临时为 `/etc/gitea` 路径授予了组外用户 `git` 写入权限。建议在安装结束后将配置文件的权限设置为只读。 +> +> ```sh +> chmod 750 /etc/gitea +> chmod 640 /etc/gitea/app.ini +> ``` + +如果您不希望通过 Web 安装程序创建配置文件,可以将配置文件设置为仅供 Gitea 用户只读(owner/group `root:git`, mode `0640`)并手工创建配置文件: + +- 设置 `INSTALL_LOCK=true` 关闭安装界面 +- 手动配置数据库连接参数 +- 使用 `gitea generate secret` 创建 `SECRET_KEY` 和 `INTERNAL_TOKEN` +- 提供所有必要的密钥 + +详情参考 [命令行文档](/zh-cn/command-line/) 中有关 `gitea generate secret` 的内容。 + +### 配置 Gitea 工作路径 + +**提示:** 如果使用 Systemd 管理 Gitea 的 Linux 服务,你可以采用 `WorkingDirectory` 参数来配置工作路径。 否则,使用环境变量 `GITEA_WORK_DIR` 来明确指出程序工作和数据存放路径。 + +```sh +export GITEA_WORK_DIR=/var/lib/gitea/ +``` + +### 复制二进制文件到全局位置 + +```sh +cp gitea /usr/local/bin/gitea +``` + +## 运行 Gitea + +完成以上步骤后,可以通过两种方式运行 Gitea: + +### 1. 创建服务自动启动 Gitea(推荐) + +学习创建 [Linux 服务]({{< relref "run-as-service-in-ubuntu.zh-cn.md" >}}) + +### 2. 通过命令行终端运行 + +```sh +GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini +``` + +## 升级到最新版本 + +您可以通过停止程序,替换 `/usr/local/bin/gitea` 并重启来更新到新版本。直接替换可执行程序时不要更改或使用新的文件名称,以避免数据出错。 + +建议您在更新之前进行[备份]({{< relref "doc/usage/backup-and-restore.zh-cn.md" >}})。 + +### 1. 使用 systemd 重新启动 Gitea(推荐) + +我们建议使用 systemd 作为服务管理器,使用 `systemctl restart gitea` 安全地重启程序。 + +### 2. 非 systemd 重启方法 + +使用 SIGHUP 信号关闭程序:查询到 Gitea 程序的 PID,使用 `kill -1 $GITEA_PID`,或者 `killall -1 gitea`。 + +更优雅的停止指令可能包括 `kill $GITEA_PID` 或者 `killall gitea`。 + +**提示:** 我们不建议使用 SIGKILL 信号(`-9`),这会强制停止 Gitea 程序,但不会正确关闭队列、索引器等任务。 + +请参阅下面的疑难解答说明,以在Gitea版本更新后修复损坏的仓库。 + +## 排查故障 + +> 更多经验总结,请参考英文版 [Troubleshooting](/en-us/install-from-binary/#troubleshooting) 如果从本页中没有找到你需要的内容,请访问 [帮助页面]({{< relref "seek-help.zh-cn.md" >}})