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

官网

官方网站:https://about.gitea.cn/

官方文档:https://docs.gitea.cn/

官方下载地址:https://dl.gitea.com/gitea/

各版本控制软件对比

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

查看版本

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

bash 复制代码
cat /etc/os-release

安装

下载文件:

bash 复制代码
gitea-1.27.1-linux-amd64

上传文件

bash 复制代码
#创建目录
#二进制:/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/repositories
mkdir -p /home/gitea/data/attachments
mkdir -p /home/gitea/data/avatars
mkdir -p /home/gitea/data/tmp/uploads

# 设置目录权限
#不能是root,需要用其他用户,Gitea不能使用root用户启动
chown -R 你的用户名:你的用户名 /home/gitea
chmod -R 750 /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:

bash 复制代码
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
bash 复制代码
# 设置权限
chown root:root /home/gitea/conf/app.ini
chmod 640 /home/gitea/conf/app.ini

创建systemd服务文件

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

1、后台运行:Gitea 不再依赖你的 SSH 终端窗口,关闭终端它也不会停。

2、开机自启:服务器重启后,Gitea 会自动启动(因为你执行了 systemctl enable)。

3、统一管理:你可以使用最标准的系统命令来控制它:

bash 复制代码
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 并启动服务

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

启动成功

访问页面

bash 复制代码
#地址:
http://你的IP:3000/

首次打开进行配置

其他的不用动,设置好管理员和管理员密码

常用命令

bash 复制代码
#启动
systemctl start gitea
#停止
systemctl stop gitea
#重启
systemctl restart gitea
#查看状态
systemctl status gitea
相关推荐
kuroomi1 小时前
Git入门
git·kubernetes
daliucheng2 小时前
lazygit 上手:日常 git 操作一篇讲完
git
codigger3 小时前
大厂git提交规范
git·程序员
挖掘狂人4 小时前
六条分支,一条主干:我的 Git 分支管理心得
git·后端·程序员
Brookty5 小时前
Git与GitHub系统学习|本地Git工作模型:终端与进程、CWD、HEAD/Index/工作树及Git对象
git·github
2301_7671139819 小时前
点过“不再询问”就要检查:Claude Code权限文件也可能存着密钥
git·信息安全·claude code
江屿风1 天前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
程序员沉梦听雨1 天前
【Git】fork工作流与上游同步
git
高调的涵涵4 天前
删了1.2GB,.git仍是1.2GB
git
程序员沉梦听雨4 天前
【Git】git-submodule子模块管理
git