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

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

1. 安装Gitea

# 下载
wget https://dl.gitea.io/gitea/1.23.5/gitea-1.23.5-linux-amd64

2. 创建用户

# 创建 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 服务:

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 配置文件,并进行数据库等相关配置:

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

7. 完成安装

开浏览器,访问 http://your_domain_or_ip: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 源码

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

# 进入临时目录
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

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

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

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

git --version

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

  • 重启 Gitea 服务

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

sudo systemctl restart gitea
  • 重新进行 Gitea 数据库设置

完成以上大概率99.9%就成功了,也有可能小伙伴没有/etc/,/usr/local/bin,/var/lib权限,看我上面提示!

  • select * from user;表中is_admin=1为管理员。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/72706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI绘画软件Stable Diffusion详解教程(6):文生图、提示词细说与绘图案例

文生图即以文字描述来生成图像&#xff0c;这是目前所有AI绘画软件的基本功能之一。要想画一副好的图片&#xff0c;除了选择好的模型&#xff0c;在文生图中&#xff0c;提示词特别关键。 一、什么是提示词&#xff08;Prompt&#xff09; 提示词又称创意、关键词、咒语、ca…

MATLAB实现遗传算法优化风电_光伏_光热_储热优化

1. 问题定义 目标&#xff1a;最小化输出负荷与需求负荷的偏差平方和。决策变量&#xff1a;每个时间步长的风电、光伏、光热和储热输出功率。约束条件&#xff1a; 风电、光伏、光热的输出功率不得超过其最大容量。储热系统的输出功率&#xff08;充放电&#xff09;不得超过…

Ubuntu20.04本地配置IsaacLab 4.2.0的G1训练环境(一)

Ubuntu20.04本地配置IsaacLab的G1训练环境&#xff08;一&#xff09; 配置Omniverse环境配置IsaacSim配置IsaacLab 写在前面&#xff0c;如果Ubuntu剩余空间低于60G&#xff0c;则空间不足&#xff0c;除非你不需要资产包。但资产包中却包含了G1模型、Go2模型等机器人模型和代…

Linux文管读写书签

文件&#xff1a;~/.config/gtk-3.0/bookmarks 格式&#xff1a;file://路径 名称&#xff0c;每个一行。 QTreeWidgetItem清空item所有子节点 读取书签 void MainWindow::genBookmark() {QString fp QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) &…

芋道打包时报错:缺失@unocss插件

在遇到打包时&#xff0c;报这个错误&#xff0c;提示构建失败是因为 ESLint 在加载 unocss 插件时&#xff0c;找不到 unocss/eslint-plugin 模块 解决办法&#xff1a;安装缺失的依赖&#xff1a;保证unocss/eslint-plugin已经被正确安装&#xff0c; 使用以下命令安装&…

【JAVA架构师成长之路】【JVM实战】第2集:生产环境内存飙高排查实战

课程标题:生产环境内存飙高排查实战——从堆转储到代码修复的15分钟指南 目标:掌握内存泄漏与OOM问题的系统性排查方法,快速定位代码或配置缺陷 0-1分钟:问题引入与核心现象 线上服务内存持续增长,触发频繁Full GC甚至OOM(OutOfMemoryError),导致服务崩溃。常见诱因:…

PROFINET转PROFIBUS从案例剖析网关模块的协议转换功能

一、 案例背景 在当下追求高效协同的工业自动化生产体系里&#xff0c;设备间的无缝互联互通堪称关键要素。某企业的生产车间中&#xff0c;有一台性能稳定的变频器&#xff0c;其配备的是PROFIBUS接口。与此同时&#xff0c;操控整个生产线的核心大脑——西门子1500 PLC&…

flutter环境最新踩坑

## Flutter 开发常见问题排查与解决 ### 1. 项目初始化与依赖问题 bash # 清理项目 flutter clean # 获取依赖 flutter pub get # 详细日志运行 flutter run -v ### 2. 网络和下载问题 - 网络慢可能导致依赖下载卡住 - 使用 -v 参数可查看详细日志 - 检查网络连接 - 可以尝…

xss笔记与打靶(更新中)

这个文章好 https://blog.csdn.net/huangyongkang666/article/details/123624164?fromshareblogdetail&sharetypeblogdetail&sharerId123624164&sharereferPC&sharesource2401_88818565&sharefromfrom_link 什么是xss XSS&#xff08;跨站脚本攻击&…

Visual Studio 2022新建c语言项目的详细步骤

步骤1&#xff1a;点击创建新项目 步骤2&#xff1a;到了项目模板 --> 选择“控制台应用” (在window终端运行代码。默认打印"Hello World") --> 点击 “下一步” 步骤3&#xff1a;到了配置新项目模块 --> 输入“项目名称” --> 更改“位置”路径&…

SQL进阶技巧:上课时长计算

目录 0 问题描述 1 数据准备 2 问题解决 核心难点 时间区间标记与分组 区间合并与时长计算

HashMap 在多线程环境下可能引发哪些问题?如何解决?

HashMap 在多线程环境下可能引发哪些问题&#xff1f; 答案&#xff1a; 在多线程同时操作 HashMap 时&#xff0c;可能引发 死循环、数据丢失、脏数据读取 等问题。 根本原因&#xff1a; HashMap 的设计是非线程安全的&#xff0c;多线程并发修改其结构&#xff08;如扩容、…

告别GitHub连不上!一分钟快速访问方案

一、当GitHub抽风时&#xff0c;你是否也这样崩溃过&#xff1f; &#x1f621; npm install卡在node-sass半小时不动&#x1f62d; git clone到90%突然fatal: early EOF&#x1f92c; 改了半天hosts文件&#xff0c;第二天又失效了... 根本原因&#xff1a;传统代理需要复杂…

【软考-架构】2.1、操作系统概述-进程管理-同步互斥

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 操作系统知识操作系统概述进程组成和状态&#x1f4af;考试真题前趋图进程资源图&#x1f4af;考试真题问题1问题2 ✨【重点】进程同步与互斥✨&#x1f4af;考试真题问题…

基于开源库编写MQTT通讯

目录 1. MQTT是什么&#xff1f;2. 开发交互UI3. 服务器核心代码4. 客户端核心代码5. 消息订阅与发布6. 通讯测试7. MQTT与PLC通讯最后. 核心总结 1. MQTT是什么&#xff1f; MQTT&#xff08;Message Queuing Terlemetry Transport&#xff09;消息队列遥测协议&#xff1b;是…

在VScode下配置C/C++环境(tasks.json、launch.json、c_cpp_properties.json)

文章目录 1. tasks.json、launch.json配置文件中参数(属性)的说明2. tasks.json介绍3. launch.json介绍4. 直接生成tasks.json、launch.json配置文件的另外一种方式5. c_cpp_properties.json介绍6. 运行多个C/C文件7. 命令行方式编译C 1. tasks.json、launch.json配置文件中参数…

ORB-SLAM2源码学习(六):相机跟踪(局部地图跟踪和关键帧创建)

目录 1.局部地图跟踪 1.1 更新局部关键帧UpdateLocalKeyFrames 1.2 更新局部地图点&#xff08;来自局部关键帧&#xff09;UpdateLocalPoints() 1.3 投影匹配 2. 对比四种跟踪方式以及使用的投影匹配 3.关键帧创建 3.1 判断是否需要创建新关键帧: NeedNewKeyFrame() 3…

PostgreSQL时间计算大全:从时间差到时区转换(保姆级教程)

一、时间计算的三大核心场景 当你遇到这些需求时&#xff0c;本文就是你的救星&#x1f31f;&#xff1a; 倒计时功能&#xff1a;计算活动剩余天数 用户行为分析&#xff1a;统计操作间隔时间 跨国系统&#xff1a;多时区时间统一管理 报表生成&#xff1a;自动计算同比/环…

Qt6.8.2创建WebAssmebly项目使用FFmpeg资源

Qt6新出了WebAssmebly功能&#xff0c;可以将C写的软件到浏览器中运行&#xff0c;最近一段时间正在研究这方便内容&#xff0c;普通的控件响应都能实现&#xff0c;今天主要为大家分享如何将FFmpeg中的功能应用到浏览器中。 开发环境&#xff1a;window11&#xff0c;Qt6.8.2…

DeepSeek V3 源码:从入门到放弃!

从入门到放弃 花了几天时间&#xff0c;看懂了DeepSeek V3 源码的逻辑。源码的逻辑是不难的&#xff0c;但为什么模型结构需要这样设计&#xff0c;为什么参数需要这样设置呢&#xff1f;知其然&#xff0c;但不知其所以然。除了模型结构以外&#xff0c;模型的训练数据、训练…