【Git】linux搭建Gitea配置mysql数据库

WindowsServer搭建内网Gitea【中文更方便使用】

1. 安装Gitea

shell 复制代码
# 下载
wget https://dl.gitea.io/gitea/1.23.5/gitea-1.23.5-linux-amd64

2. 创建用户

shell 复制代码
# 创建 gitea 用户
sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --create-home --home-dir /home/git git
# 创建 Gitea 数据目录
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
# 设置目录权限
sudo chown -R git:git /var/lib/gitea
sudo chmod -R 750 /var/lib/gitea
# 创建配置文件目录
sudo mkdir -p /etc/gitea
sudo chown git:git /etc/gitea
sudo chmod 770 /etc/gitea
# 将下载文件,移动到git目录

# 应用执行权限:
sudo chmod +x gitea-1.23.5-linux-amd64

3. 配置 Gitea 服务

创建一个 Systemd 服务文件,用于管理 Gitea 服务:

bash 复制代码
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):

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

5.创建 Gitea 配置文件【如果没有root权限,或者权限不足,这一步要注意了,指定路径要指定在有权限目录】

创建 app.ini 配置文件,并进行数据库等相关配置:

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

shell 复制代码
# 重新加载 Systemd 服务配置
sudo systemctl daemon-reload
# 启动 Gitea 服务
sudo systemctl start gitea
# 设置 Gitea 服务开机自启
sudo systemctl enable gitea

7. 完成安装

shell 复制代码
开浏览器,访问 http://your_domain_or_ip:3000,按照页面提示完成 Gitea 的初始化配置,包括管理员账号设置等。

8.如果报错版本不一致或者过低

Gitea数据库设置无效: migrate: installed git version "1.8.3.1" is not supported, G

卸载原来的,重新安装新版git

  • 安装依赖

在升级 Git 之前,需要安装一些编译和构建 Git 所需的依赖包:

bash 复制代码
sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
sudo yum install -y gcc perl-ExtUtils-MakeMaker
  • 卸载旧版本的 Git

如果你之前安装的 Git 版本较低,可以先将其卸载:

bash 复制代码
sudo yum remove -y git
  • 下载并解压 Git 源码

从 Git 官方的 GitHub 仓库下载最新稳定版本的源码压缩包,并解压:

bash 复制代码
# 进入临时目录
cd /tmp
# 下载 Git 源码压缩包,这里以 2.42.0 版本为例,你可以根据需要更换版本
wget https://github.com/git/git/archive/v2.42.0.tar.gz
# 解压压缩包
tar -zxf v2.42.0.tar.gz
cd git-2.42.0
  • 编译和安装 Git

在解压后的源码目录中,依次执行以下命令进行编译和安装:

bash 复制代码
# 配置编译选项
make configure
./configure --prefix=/usr/local
# 编译 Git
make all
# 安装 Git
sudo make install
  • 验证 Git 版本

安装完成后,验证 Git 的版本是否已经更新:

bash 复制代码
git --version

确保输出的版本号是你刚刚安装的新版本(如 git version 2.42.0)。

  • 重启 Gitea 服务

更新 Git 版本后,重启 Gitea 服务使更改生效:

bash 复制代码
sudo systemctl restart gitea
  • 重新进行 Gitea 数据库设置
    完成以上大概率99.9%就成功了,也有可能小伙伴没有/etc/,/usr/local/bin,/var/lib权限,看我上面提示!
  • select * from user;表中is_admin=1为管理员。
相关推荐
纷飞梦雪1 小时前
使用chroot预安装软件到ubuntu22中
linux·运维·ubuntu
小羊在奋斗4 小时前
【Linux网络】NAT技术、DNS系统、五种IO模型
linux·网络·智能路由器
jiarg5 小时前
linux 内网下载 yum 依赖问题
linux·运维·服务器
yi个名字6 小时前
Linux第一课
linux·运维·服务器
Kurbaneli6 小时前
深入理解 C 语言函数的定义
linux·c语言·ubuntu
菜鸟xy..6 小时前
linux 基本命令教程,巡查脚本,kali镜像
linux·运维·服务器·kali镜像·巡查脚本·nmtui
暴躁的小胡!!!6 小时前
Linux权限维持之协议后门(七)
linux·运维·服务器·网络·安全
阿梦Anmory6 小时前
git本地仓库链接远程仓库
git
黄同学real7 小时前
如何下载和使用Git:初学者指南
git