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 安装gitea

1. 安装Gitea

wget https://dl.gitea.com/gitea/1.27.3/gitea-1.27.3-darwin-10.12-amd64

2. 创建用户

# 创建名为 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
EOF

4. 配置防火墙

开放 Gitea 默认使用的端口(3000):

# 开放 3000 端口
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload

5.创建 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
EOF

6. 启动 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