《从零到一:手把手教你搭建专属GitHub服务器》

在自有服务器上搭建Git服务:从零开始部署Gitea

在软件开发与团队协作中,版本控制系统至关重要。虽然GitHub是全球最流行的托管平台,但出于代码隐私、完全自主控制或网络环境考虑,许多团队和个人选择在自有服务器上搭建Git服务。本文将详细介绍如何使用Gitea——一个轻量、快速且功能丰富的自托管Git服务,在Linux服务器上搭建属于你自己的“GitHub”。

第一步:服务器准备与基础环境配置
首先,你需要一台运行Linux的服务器(如Ubuntu 20.04/22.04 LTS或CentOS 7/8),并确保拥有root或sudo权限。通过SSH连接到服务器后,首先更新系统包:sudo apt update && sudo apt upgrade -y(对于Debian/Ubuntu)或相应的yum/dnf命令。接着,安装Git:sudo apt install git -y。这是所有Git服务的基础。同时,建议配置防火墙,开放HTTP(80)、HTTPS(443)以及SSH(22)端口,以便后续访问。

第二步:安装与配置数据库
Gitea支持SQLite、MySQL和PostgreSQL。对于小型团队或个人使用,SQLite安装简单且无需额外服务,是理想选择。若追求更好性能,可安装MySQL或PostgreSQL。以MySQL为例,安装后需创建一个专用数据库和用户:
CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea'@'localhost' IDENTIFIED BY '你的强密码';
FLUSH PRIVILEGES;

请务必记录这些凭据,后续配置会用到。

文章插图

第三步:下载并安装Gitea
访问Gitea官网的下载页面,获取适用于你服务器架构的最新稳定版二进制文件。通常使用wget命令下载,例如:
wget -O gitea https://dl.gitea.io/gitea/1.20.5/gitea-1.20.5-linux-amd64
下载后,赋予执行权限并移动到系统路径:
chmod +x gitea
sudo mv gitea /usr/local/bin/

接着,创建一个系统用户来运行Gitea服务,这能提升安全性:
sudo adduser --system --group --disabled-password --shell /bin/bash --home /home/git --gecos 'Git Version Control' git

第四步:配置Gitea应用与系统服务

文章插图
创建必要的目录结构并设置权限:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/

接下来,创建Gitea的配置文件。最简单的方法是先以临时模式运行Gitea完成初步安装:
sudo -u git /usr/local/bin/gitea web -c /var/lib/gitea/custom/conf/app.ini
此时,通过浏览器访问服务器的IP地址和3000端口(如http://你的服务器IP:3000),你将看到安装页面。在此页面,你需要仔细填写数据库连接信息、应用URL(如https://git.yourdomain.com)、管理员账户设置等。填写完毕后提交,Gitea会生成完整的app.ini配置文件。

为了使Gitea作为后台服务持续运行,需要创建Systemd服务单元文件。创建文件/etc/systemd/system/gitea.service,并填入标准配置(内容可在Gitea文档中找到)。然后启动并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea

使用sudo systemctl status gitea检查服务是否正常运行。

第五步:配置Web服务器与域名(可选但推荐)
直接使用3000端口访问不够友好且不安全。建议使用Nginx或Apache作为反向代理,并配置SSL证书启用HTTPS。以Nginx为例,创建一个站点配置文件,将80和443端口的请求代理到本地的3000端口。同时,使用Let's Encrypt的Certbot工具可以免费获取并自动续签SSL证书,确保通信加密。

第六步:初始使用与后续维护
完成以上所有步骤后,你便可以通过设定的域名访问自建的Git服务了。首次登录时使用安装阶段设置的管理员账户。你可以创建组织、仓库、管理用户权限,几乎拥有与GitHub类似的核心功能。后续维护主要包括:定期更新Gitea版本(下载新二进制文件替换并重启服务)、监控服务器资源、以及定期备份/var/lib/gitea/data目录和数据库。

通过以上步骤,你成功搭建了一个完全受控、私密且高效的代码托管平台。这不仅加强了对知识产权资产的掌控,也为团队协作提供了一个高度定制化的环境。随着需求增长,你还可以进一步探索Gitea的CI/CD、工单系统、包注册表等高级功能,使其成为更强大的开发枢纽。

文章插图

评论(3)

发表评论

环保爱好者 2023-06-15 14:30
这是一个非常重要的协议!希望各国能够真正落实承诺,为我们的子孙后代留下一个更美好的地球。
回复 点赞(15)
气候变化研究者 2023-06-15 12:15
协议内容令人鼓舞,但关键还在于执行。我们需要建立有效的监督机制,确保各国履行承诺。同时,技术创新也是实现减排目标的关键。
回复 点赞(8)
普通市民 2023-06-15 10:45
作为普通人,我们也能为气候变化做出贡献。比如减少使用一次性塑料制品,选择公共交通等。希望更多人加入到环保行动中来。
回复 点赞(22)