ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Gitea 版本控制服务端【Red Hat 离线安装】

Gitea 版本控制服务端【Red Hat 离线安装】

官网

官方网站:https://about.gitea.cn/
官方文档:https://docs.gitea.cn/
官方下载地址:https://dl.gitea.com/gitea/

各版本控制软件对比

对比项SVNGitMercurialPerforce
版本控制类型集中式(依赖中央服务器)分布式(本地完整版本库)分布式集中式(企业级)
服务端
(代码托管中心)
Apache SubversionGitea、Gogs、GitLab、GitHubRhodeCode、Mercurial ServerHelix Core
客户端TortoiseSVN都依赖命令行的Git运行:
Git Bash、TortoiseGit、SourceTree
hg、TortoiseHgP4V
Eclipse 插件Subclipse、SubversiveEGitMercurialEclipsePerforce Plugin
IDEA 插件SubversionGitMercurialPerforce
核心特点集中管理,目录级权限控制,简单直接,适合文档、非代码类版本管理本地有完整仓库,分支灵活高效,适合多人协作、开源与现代软件开发分布式,命令简洁,跨平台,学习曲线比 Git 平缓,生态较小企业级集中式,大文件、二进制支持强,权限精细,多用于游戏、大型工业项目
个人部署服务端推荐VisualSVN ServerGitea一般复杂,不推荐个人部署
部署特点VisualSVN Server:轻量服务端,配置简单,但是只有WIndows端
svnserve:跨平台,命令行
Gitea:个人部署天花板推荐
Gogs:比 Gitea
GitLab:相对更重量,麻烦些
服务端部署简单,但生态和工具链不如 Git 丰富服务端重、配置复杂,运维成本高,个人/小团队不适用

查看版本

首先执行命令查看版本,我这里是7.9

cat/etc/os-release

安装

下载文件:

gitea-1.27.1-linux-amd64

上传文件

#创建目录#二进制:/home/gitea/gitea#配置:/home/gitea/conf/app.ini#数据:/home/gitea/data/#日志:/home/gitea/log/#之后备份只需打包 /home/gitea 目录即可mkdir-p/home/gitea/{conf,data,log,custom}mkdir-p/home/gitea/data/git/repositoriesmkdir-p/home/gitea/data/attachmentsmkdir-p/home/gitea/data/avatarsmkdir-p/home/gitea/data/tmp/uploads# 设置目录权限#不能是root,需要用其他用户,Gitea不能使用root用户启动chown-R你的用户名:你的用户名 /home/giteachmod-R750/home/gitea#上传文件到/home/gitea目录gitea-1.27.1-linux-amd64#重命名,方便后续操作mv/home/gitea/gitea-1.27.1-linux-amd64 /home/gitea/gitea#赋予执行权限chmod+x /home/gitea/gitea# 验证版本,会输出版本号/home/gitea/gitea--version

创建配置文件

使用以下命令创建配置文件 /home/gitea/conf/app.ini:

cat>/home/gitea/conf/app.ini<<'EOF' APP_NAME = Gitea: Git with a cup of tea RUN_USER = 你的用户名 RUN_MODE = prod [server] PROTOCOL = http DOMAIN = 你的服务器IP HTTP_PORT = 3000 ROOT_URL = http://你的服务器IP:3000/ STATIC_ROOT_PREFIX = /home/gitea/custom DISABLE_REGISTRATION = true # 禁止普通用户注册,仅管理员可创建账户 OAUTH_USER = admin # OAuth2 验证时的匹配用户名 [database] DB_TYPE = sqlite3 PATH = /home/gitea/data/gitea.db [repository] ROOT = /home/gitea/data/git/repositories [log] MODE = file LEVEL = Info ROOT_PATH = /home/gitea/log [attachment] PATH = /home/gitea/data/attachments [avatar] AVATAR_STORAGE_PATH = /home/gitea/data/avatars [repository.upload] TEMP_PATH = /home/gitea/data/tmp/uploads EOF
# 设置权限chownroot:root /home/gitea/conf/app.inichmod640/home/gitea/conf/app.ini

创建systemd服务文件

在 /etc/systemd/system/ 目录下新建一个名为 gitea.service 的文件,让 Linux 系统能够通过 systemctl 命令来管理 Gitea(开机自启、后台运行等)

1、后台运行:Gitea 不再依赖你的 SSH 终端窗口,关闭终端它也不会停。
2、开机自启:服务器重启后,Gitea 会自动启动(因为你执行了 systemctl enable)。
3、统一管理:你可以使用最标准的系统命令来控制它:

cat>/etc/systemd/system/gitea.service<<'EOF' [Unit] Description=Gitea (Git with a cup of tea) After=network.target [Service] User=你的用户名 Group=你的用户名 Type=simple WorkingDirectory=/home/gitea ExecStart=/home/gitea/gitea web --config /home/gitea/conf/app.ini --port 3000 Restart=always RestartSec=10 Environment=GIT_HOME=/home/git Environment=PATH=/home/git/bin:/usr/local/bin:/usr/bin:/bin [Install] WantedBy=multi-user.target EOF

重新加载 systemd 并启动服务

#重新加载系统服务配置systemctl daemon-reload#启动systemctl start gitea#设置开机自启systemctlenablegitea#查看状态systemctl status gitea

启动成功

访问页面

#地址:http://你的IP:3000/

首次打开进行配置
其他的不用动,设置好管理员和管理员密码

常用命令

#启动systemctl start gitea#停止systemctl stop gitea#重启systemctl restart gitea#查看状态systemctl status gitea
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进