关于GiteaGitea 是一个轻量级的 DevOps 平台软件。从开发计划到产品成型的整个软件生命周期，他都能够高效而轻松的帮助团队和开发者。包括 Git 托管、代码审查、团队协作、软件包注册和 CI/CD。它与 GitHub、Bitbucket 和 GitLab 等比较类似。 Gitea 最初是从 Gogs 分支而来，几乎所有代码都已更改。目标Gitea的首要目标是创建一个极易安装，运行非常快速，安装和使用体验良好的自建 Git 服务。采用Go作为后端语言，只需生成一个可执行程序即可。 支持 Linux, macOS 和 Windows等多平台， 支持主流的x86，amd64、 ARM 和 PowerPC等架构。Gitea二进制文件安装指南一、下载与验证二进制文件（一）选择合适版本Gitea为不同平台提供了丰富的二进制文件，可从下载页面获取。以Linux系统为例：64位Intel/AMD平台：选择linux-amd64版本。树莓派4等ARM64设备：选择arm64版本。32位系统：可选386或arm-5/arm-6版本。（二）命令行下载（以64位Linux为例）wget -O gitea https://dl.gitea.com/gitea/1.23.8/gitea-1.23.8-linux-amd64 chmod +x gitea # 添加执行权限（三）GPG签名验证通过GPG校验确保文件未被篡改：# 导入GPG公钥 gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2 # 验证签名 gpg --verify gitea-1.23.8-linux-amd64.asc gitea-1.23.8-linux-amd64校验成功提示：Good signature from "Teabot <teabot@gitea.io>" 校验失败处理：检查下载链接或重新获取公钥。二、环境准备与用户配置（一）依赖检查确保已安装Git（版本≥2.0）：git --version若未安装，需先通过系统包管理器安装（如apt install git或yum install git）。（二）创建专用用户建议创建名为git的系统用户用于运行Gitea：# Ubuntu/Debian系统 adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git # Fedora/RHEL/CentOS系统 groupadd --system git adduser --system --shell /bin/bash --comment 'Git Version Control' --gid git --home-dir /home/git --create-home git（三）创建工作目录与权限设置# 创建目录结构 mkdir -p /var/lib/gitea/{custom,data,log} # 授权给git用户 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安装程序写入安装完成后建议权限修正：chmod 750 /etc/gitea chmod 640 /etc/gitea/app.ini # 配置文件设为只读三、配置与启动Gitea（一）设置工作目录通过环境变量指定Gitea工作路径：export GITEA_WORK_DIR=/var/lib/gitea/若使用Systemd管理服务，可在服务文件中通过WorkingDirectory参数配置。（二）复制二进制文件将可执行文件移动到系统路径：cp gitea /usr/local/bin/gitea（三）启用自动补全（可选）Bash自动补全：cp contrib/autocompletion/bash_autocomplete /usr/share/bash-completion/completions/gitea # 或在~/.bashrc中引用 source /path/to/bash_autocompleteZsh自动补全：cp contrib/autocompletion/zsh_autocomplete /usr/share/zsh/_gitea # 或在~/.zshrc中引用 source /path/to/zsh_autocomplete（四）启动方式1. 命令行临时启动（适用于测试）GITEA_WORK_DIR=/var/lib/gitea/ /usr/local/bin/gitea web -c /etc/gitea/app.ini2. Systemd服务启动（推荐）创建服务文件/etc/systemd/system/gitea.service，内容示例：[Unit] Description=Gitea Git Service After=syslog.target After=network.target [Service] Type=simple User=git Group=git WorkingDirectory=/var/lib/gitea ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=git HOME=/home/git [Install] WantedBy=multi-user.target启用并启动服务：systemctl enable gitea systemctl start gitea四、升级与故障处理（一）版本升级步骤停止当前运行的Gitea服务：systemctl stop gitea # 或kill -1 $PID（优雅停止）替换二进制文件（保持文件名gitea不变）：wget -O /usr/local/bin/gitea https://dl.gitea.com/gitea/最新版本/gitea-最新版本-linux-amd64 chmod +x /usr/local/bin/gitea重启服务：systemctl start gitea（二）常见问题排查1. 旧版glibc报错错误提示：./gitea: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found 解决方案：从源代码编译安装（不包含SQLite支持）或升级系统glibc版本。2. 端口被占用错误提示：listen tcp 0.0.0.0:3000: bind: address already in use 解决方法：指定其他端口启动：gitea web -p 8080 # 替换3000为可用端口3. 树莓派运行问题（v1.8+版本）问题描述：arm7版本无法运行 解决方案：改用arm6版本（经测试兼容树莓派）。4. 更新后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更新钩子路径。若使用自定义SSH服务器，运行Update the '.ssh/authorized_keys' file with Gitea SSH keys重新生成授权文件。五、安全建议配置文件权限：确保/etc/gitea/app.ini仅允许root:git用户组读取（权限640）。禁止root运行：始终使用非root用户（如git）运行Gitea，避免权限滥用。定期备份：对/var/lib/gitea/data（数据库）和/var/lib/gitea/repositories（仓库）目录进行定期备份。