如何安装 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。

  GNOME 环境下的 MCP 服务器支持:完整指南

使用 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 也提供了相应的功能。 集成迁移工具 它不仅会自动导入代码,还会自动导入问题和标签。

  如何使用 n8n 和 Docker 实现工作流程自动化

维护和调校

维护 Gitea 非常简单。要更新,只需下载新的二进制文件,替换旧文件,然后重启服务即可。要进行备份,请使用以下命令。 gitea dump 是你最好的朋友,因为它能产生…… 包含所有内容的压缩文件数据库、配置和代码仓库。对于电子邮件,您可以配置外部 SMTP 服务器(例如 Gmail),或者在服务器上安装 Postfix 以接收拉取请求和警报通知。

实施 Gitea 可以让您拥有一个强大、轻量级且完全私有的版本控制平台,通过基于二进制的安装、优化的数据库和反向代理,消除对外部服务的依赖,并通过 HTTPS 保证流量安全。