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
相关推荐
flytalei2 小时前
逐浪笔记 GitOps 实战:Jenkins 构建、Argo CD 同步与 Git 回滚
笔记·git·jenkins
熊出没3 小时前
CommitLoom 使用教程:在 IntelliJ IDEA 中自动生成 Git 提交信息
java·git·intellij-idea
IOT那些事儿18 小时前
Git报错:Could not get HEAD hash
git·hash·head
杜哥无敌20 小时前
Git Bash + acme.sh 实现 SSL 证书自动续签(完整指南)
git·bash·ssl
nunumaymax1 天前
Git教程
git
阿萨德528号1 天前
IDEA 项目 SVN 配置消失、版本控制变成 Git 且无 VCS 菜单的解决办法
git·svn·intellij-idea
R²AIN SUITE1 天前
项目管理平台怎么和OA、钉钉、飞书、Git仓库打通?从消息通知到双向同步的5种实现路径
git·钉钉·飞书
Demons_kirit2 天前
CTFHub 信息泄露通关笔记:Git泄露 Log - 教程
笔记·git·网络安全
鬼手点金2 天前
构建有效 Agent 的核心原则
java·人工智能·git·学习·自动化