AI Summary 13.20478.10 git摘要 2026-09-06
Gitea 轻量级Git服务 自建GitHub替代方案 轻量级全功能的 DevSecOps 平台 从开发计划到产品成型的整个软件生命周期,他都能够高效而轻松的帮助团队和开发者 gitea Private, Fast, Reliable DevOps Platform A self-hosted DevOps platform that gives teams and developers high-efficiency, easy-to-run operations from planning to production centos 安装gitea git
环境搭建
搭建开发环境是学习编程和软件开发的第一步
Centos
CentOS is a community-driven free software project that provides a rich base platform for open source communities.
Git
Git 版本控制系統,管理存儲庫中的不同代碼版本
centos 安装gitea
1. 安装Gitea
wget https://dl.gitea.com/gitea/1.27.3/gitea-1.27.3-darwin-10.12-amd642. 创建用户
# 创建名为 git 的系统用户,该用户使用 /bin/bash 作为默认 shell,添加了注释信息 Git Version Control,并且为其创建了主目录 /home/git
sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --create-home --home-dir /home/git git
# 创建 Gitea 数据目录,/opt/giteasudo
mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo mkdir -p /opt/gitea/lib/gitea/{custom,data,indexers,public,log}
# 设置目录权限
sudo chown -R git:git /opt/gitea
sudo chmod -R 777 /opt/gitea
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 777 /var/lib/gitea
# 创建配置文件目录
sudo mkdir -p /etc/gitea
sudo chown git:git /etc/gitea
sudo chmod 777 /etc/gitea
# 将下载文件,移动到git目录
mv gitea-1.27.3-linux-amd64 /opt/gitea
# 应用执行权限:
sudo chmod +x gitea-1.27.3-linux-amd64
3. 配置 Gitea 服务
创建一个 Systemd 服务文件,用于管理 Gitea 服务:
sudo tee /etc/systemd/system/gitea.service <<EOF
[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
After=mysqld.service
[Service]
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
[Install]
WantedBy=multi-user.target
EOF4. 配置防火墙
开放 Gitea 默认使用的端口(3000):
# 开放 3000 端口
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload5.创建 Gitea 配置文件【如果没有root权限,或者权限不足,这一步要注意了,指定路径要指定在有权限目录】
创建 app.ini 配置文件,并进行数据库等相关配置:widnows在git\custom\conf目录
sudo tee /etc/gitea/app.ini <<EOF
APP_NAME = Gitea: Git with a cup of tea
RUN_MODE = prod
[server]
PROTOCOL = http
DOMAIN = 10.1.0.40
HTTP_PORT = 3000
ROOT_URL = http://10.1.0.40:3000/
[database]
DB_TYPE = mysql
HOST = 127.0.0.1:3306
NAME = gitea
USER = root
PASSWD = root123
SSL_MODE = disable
PATH = /var/lib/gitea/data/gitea.db
[repository]
ROOT = /var/lib/gitea/data/gitea-repositories
[session]
PROVIDER = file
[i18n]
LANGS = en-US,zh-CN
NAMES = English,简体中文
DEFAULT_LANG = zh-CN
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /var/lib/gitea/log
EOF6. 启动 Gitea 服务
# 重新加载 Systemd 服务配置
sudo systemctl daemon-reload
# 启动 Gitea 服务
sudo systemctl start gitea
# 设置 Gitea 服务开机自启
sudo systemctl enable gitea
如果启动不起来,或git版本过低 git建议2.0以上!
7. 完成安装
开浏览器,访问 http://10.1.0.40:3000/,按照页面提示完成 Gitea 的初始化配置,包括管理员账号设置等
8.如果报错版本不一致或者过低
Gitea数据库设置无效: migrate: installed git version “1.8.3.1” is not supported, G
卸载原来的,重新安装新版git
安装依赖
在升级 Git 之前,需要安装一些编译和构建 Git 所需的依赖包:
sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel sudo yum install -y gcc perl-ExtUtils-MakeMaker
卸载旧版本的 Git
如果你之前安装的 Git 版本较低,可以先将其卸载:
sudo yum remove -y git
下载并解压 Git 源码, 参考链接https://github.com/git/git/releases
从 Git 官方的 GitHub 仓库下载最新稳定版本的源码压缩包,并解压:
cd /opt # 下载 Git 源码压缩包,这里以 2.8.3 版本为例,你可以根据需要更换版本,可以把安装包移动到git目录 wget https://github.com/git/git/archive/v2.8.3.tar.gz # 解压压缩包tar -zxf v2.8.3.tar.gz cd git-2.8.3
编译和安装 Git
在解压后的源码目录中,依次执行以下命令进行编译和安装:
# 配置编译选项make configure ./configure --prefix=/usr/local/git # 编译 Git make all # 安装 Git sudo make install
验证 Git 版本
安装完成后,验证 Git 的版本是否已经更新:重新登录新开个窗口!配置环境变量,或者通过:
git --version # 如果不展示,可以通过下面命令指定 ln -sv /usr/local/git/bin/git /usr/bin/
确保输出的版本号是你刚刚安装的新版本 如 `git version 2.8.3` - 重启 Gitea 服务 更新 Git 版本后,重启 Gitea 服务使更改生效: sudo systemctl restart gitea重新进行 Gitea 数据库设置
完成以上大概率99.9%就成功了
select * from user;表中is_admin=1为管理员。
启动不起来 缺包 git 安装成功!版本建议新一点!通过git --version查看!
配置文件!/etc/gitea/app.ini,路径 /etc/systemd/system/gitea.service 配置正确
/etc/systemd/system/gitea.service文件详细解释:
[Unit]Description=Gitea (Git with a cup of tea) # 随便写After=syslog.target
After=network.target
After=mysqld.service # 如果使用mysql数据库要写,使用自带sqllite3,不用写
[Service]RestartSec=2s
Type=simple
User=git # sudo adduser --system --shell /bin/bash --comment 'Git ' --create-home --home-dir /home/git gitGroup=git # 如果使用gitea,就保持统一,用户名,用户组
WorkingDirectory=/var/lib/gitea
# 缺包目录存在 opt/gitea/lib/gitea
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
# ExecStart值需要时你git安装的路径,用whereis git查看,后面指定app.ini路径Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# 缺包目录存在,目录不要重名!
[Install]WantedBy=multi-user.target
/opt/gitea/app.ini 详解:
APP_NAME = Gitea: =自己命名=
RUN_MODE = prod
[server]
PROTOCOL = http
DOMAIN = 10.1.0.41 # 服务器地址
HTTP_PORT = 3000 #端口号
ROOT_URL = http://10.1.0.41:3000/ # ip+port
[database] # 重点!如果使用mysql,一定要先装mysql!,否则启动不起来!
DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = gitea
USER = gitea
PASSWD =
SCHEMA =
SSL_MODE = disable
PATH = /opt/gitea/data/gitea.db
[repository]
ROOT = /opt/gitea/data/gitea-repositories
[session]
PROVIDER = file
[i18n]
LANGS = en-US,zh-CN
NAMES = English,简体中文
DEFAULT_LANG = zh-CN
[log]
MODE = file
LEVEL = Info
ROOT_PATH = /opt/gitea/log # 缺包目录存在
[git] # 指定git的目录,whereis git 查看
EXEC_PATH = /usr/local/git