NoteZ_技术博客 NoteZ_技术博客
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)

NoteZ_技术博客

前端界的小学生
🏠 首页
  • 📚 Web技术
  • 📋 Npm笔记
  • 📑 Markdown
  • 📄 Git笔记
  • 📝 Nginx文档
  • 📓 Linux文档
  • 📖 技术文档
  • 📜 其他文档
  • 🧊 NodeJs
  • 🎡 Express
  • 🔥 Rust
  • 🎉 Koa2
  • 🍃 MongoDB
  • 🐬 MySql
  • 🥦 Oracle
  • 🍁 Python
  • 🍄 JavaScript
  • 🌰 CSS
  • 🧄 HTML
  • 🥑 Canvas
  • 🌽 Nuxt
  • 🍆 React
  • 🥜 Vue
  • 🧅 TypeScript
  • 🌶️ AI
  • 📘 分类
  • 📗 标签
  • 📙 归档
⚜️ 在线编辑 (opens new window)
  • 📁 站点收藏
  • 📦 前端组件库
  • 📊 数据可视化
  • 🌈 开源插件
  • 🎗️ 关于我
  • 🔗 友情链接
GitHub (opens new window)
  • Web技术

  • Git笔记

  • Linux文档

    • CentOS7 -bash:vim:未找到命令
    • CentOS系统中升级Git版本
    • Linux 下 Git 免登录不需重复输入账号和密码
    • Linux 下安装 Nginx 详细教程
    • Linux 中 mysql 数据库的备份与还原
    • Linux 使用 npm 安装 cnpm 镜像
    • Linux 安装 mysql 并设置远程连接
    • linux 环境安装 java 环境和 eclipse
    • Linux 系统命令总结
    • linux安装nvm并快速修改node版本
    • Linux防火墙配置相关笔记
    • Linux(centos7)上安装 Node.js 的 4 种方法(包含npm)
    • Linux(centos7)下 pm2 的安装步骤及问题总结
    • Linux(centos7)下查看端口占用情況
    • 【Linux-编译器gcc|glibc升级】CentOS7.x使用高版本NodeJS时报错解决方案
    • 如何在Linux系统(CentOS7.x)上安装Git
    • CentOS 7安装 FFmpeg音频视频处理工具
    • centos7 下通过docker安装sentry
    • CentOS7安装Gitea
      • 前言
      • Gitea安装
        • 1、创建一个目录用于存放gitea和git数据的目录
        • 2、添加Git用户
        • 3、下载Gitea
        • 4、关闭防火墙
        • 5、更换目录的用户
        • 6、nginx代理
        • 7、配置service
        • 8、启动服务命令
    • CentOS7下安装GraphicsMagick或ImageMagick方法
    • Centos安装MySQL
    • Linux-客户端npc内网穿透开机后台自启动
    • linux(contOS_7)下安装git
    • 两台远程Linux服务器之间传输文件的四种方法(scp、rcp、wget、rsync)总结
    • Ubuntu20.x使用root账户远程登录ssh处理方法
    • Ubuntu 更换 apt 源为阿里云镜像源
    • linux 下 CentOS7 安装 LibreOffice 详细过程
    • linux 下 Ubuntu 安装 LibreOffice 方法
    • Linux 下安装 pm2 并设置开机自启动服务
    • Linux 服务器之 systemctl 命令使用详解
    • 在 linux下的 CentOS7 安装 Onlyoffice 详细步骤
    • Linux 下 Gitlab 相关配置记录
    • Linux(Ubuntu)下安装最新版 ffmpeg7
    • Linux (Ubuntu 24.04) 切换软件源为清华源
    • Linux 之 Ubuntu-24.04 安装英伟达显卡驱动
    • Ubuntu 上安装 【docker】 的详细指南
    • Ubuntu 安装 Anaconda 【conda】换源并配置 Python 环境
    • Linux(Ubuntu)安装 open-webui 最新方式汇总
    • linux 安装 ollama 基本步骤
    • Linux 使用 rsync 互相传输同步文件的简单步骤
  • Markdown

  • Nginx文档

  • Npm笔记

  • 技术文档

  • 其他文档

  • 前端开发
  • Linux文档
NoteZ
2024-02-20
目录

CentOS7安装Gitea

# 前言

Gitea的首要目标是创建一个极易安装,运行非常快速,安装和使用体验良好的自建 Git 服务。我们采用Go作为后端语言,这使我们只要生成一个可执行程序即可。并且他还支持跨平台,支持 Linux, macOS 和 Windows 以及各种架构,除了x86,amd64,还包括 ARM 和 PowerPC

安装之前请确保已安装 git 和 MySQL、PostgreSQL、MSSQL 或 SQLite3其中一个用于gitea存储数据。

# Gitea安装

根据官网,目前提供了这些 (opens new window)安装方式,我这边选择二进制安装,应该也是最简单的方式了。

官方配置文件:https://docs.gitea.io/zh-cn/config-cheat-sheet (opens new window)

# 1、创建一个目录用于存放gitea和git数据的目录

我自己是放在/gitea里面,大家看着改。

mkdir -p /var/lib/gitea
1

# 2、添加Git用户

因为gitea限制了不能用root用户启动,所以我们需要创建git用户来运行gitea,后面创建的service也是通过这个用户运行,还有密钥那些东西不会和root之类的用户搞混。 创建用户组

groupadd git
1

创建用户并添加到用户组

useradd git -g git
1

# 3、下载Gitea

Gitea版本 (opens new window)可以看到全部版本,最上面的就是最新的,选择你要的版本。

点击进入你要的版本找到后缀是linux-amd64的文件复制下链接,我下载的是:gitea-1.19.0-rc1-linux-amd64 (opens new window)

或者使用wget下载

# 去到你要安装的目录
cd /var/lib/gitea

# 下载
wget -O gitea https://dl.gitea.com/gitea/1.19.0-rc1/gitea-1.19.0-rc1-linux-amd64

# 设置成可运行文件
chmod +x gitea
1
2
3
4
5
6
7
8

# 4、关闭防火墙

如果服务器开了防火墙的,那就放行一下。如果防火墙本身是关闭的,那就不用管了

# 查看是不是没有开放3000端口
firewall-cmd --zone=public --list-ports
# 如果没有就添加一个
firewall-cmd --zone=public --add-port=3000/tcp --permanent
# 删除已填加的端口
firewall-cmd --zone=public --remove-port=3000/tcp --permanent
# 重新载入配置文件
firewall-cmd --reload
1
2
3
4
5
6
7
8

或者全部关闭

chkconfig iptables off
1

没问题就直接退出gitea程序,继续下面的操作。

# 5、更换目录的用户

#目录赋权限
chown -R git:git /var/lib/gitea
#切换用户
su git
# 测试运行
cd /var/lib/gitea
./gitea web
1
2
3
4
5
6
7

运行成功的话,别退出测试下[ip]:3000是否可以访问,云服务器的话去设置下安全策略开放3000端口。

# 6、nginx代理

因为我们80端口都是给nginx用了,3000端口不想报漏在外面(主要是看着域名后面跟着端口号好难受),我们给他做一下nginx代理 找到nginx的配置文件目录,添加一个网站配置文件,如果要ssl的自己添加就行了,改完修改下app.ini的ROOT_URL重启一下gitea,nginx重载下配置文件

server {
    listen       80;
    server_name  [域名]
}
location / {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass    http://127.0.0.1:3000;
}
location ~ .*\.(js|css|png)$ {
    proxy_pass  http://127.0.0.1:3000;
}
1
2
3
4
5
6
7
8
9
10
11
12
13

# 7、配置service

如果不配置service,我们启动gitea是适用./gitea web,配置以后就可以很爽的用systemctl控制了。

vim /etc/systemd/system/gitea.service
1

写入如下内容

[Unit]
Description=Gitea
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=git
Group=git
ExecStart=/var/lib/gitea/gitea web --config /var/lib/gitea/custom/conf/app.ini
Restart=always

[Install]
WantedBy=multi-user.target
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

官方有提供了一份services配置文件:gitea/gitea.service at master · go-gitea/gitea (github.com) (opens new window)

注意

WorkingDirectory配置项是工作路径得是存在且是git有权限的目录,如果不想太麻烦,可以删除… ExecStart是启动命令的意思,/usr/local/bin/gitea web --config /etc/gitea/app.ini中/usr/local/bin/gitea改成你自己的gitea文件的目录,我这里是/var/lib/gitea,-- config带的参数是gitea的配置文件,如果你刚刚按照我的做法去做,在gitea的同级目录下存在./custom/conf/app.ini,把这个换到后面就行了,最后就是:ExecStart=/var/lib/gitea/gitea web --config /var/lib/gitea/custom/conf/app.ini。

# 重新加载
systemctl daemon-reload

# 启动Gitea
systemctl start gitea
1
2
3
4
5

或者

nohup ./gitea web &
1

# 8、启动服务命令

开始运行

systemctl start gitea
1

重启

# systemctl daemon-reload
systemctl restart gitea
1
2

停止运行

systemctl stop gitea
1

查看运行状态

systemctl status gitea
1

开机启动

systemctl enable gitea
1

查看日志

ps -aux | grep gitea
# 或者
ps - ef|grep gitea
# 或者
journalctl -b 0 -u gitea
1
2
3
4
5
#CentOS7#Linux#Gitea
上次更新: 2024/02/20, 17:31:36
centos7 下通过docker安装sentry
CentOS7下安装GraphicsMagick或ImageMagick方法

← centos7 下通过docker安装sentry CentOS7下安装GraphicsMagick或ImageMagick方法→

最近更新
01
Gitea数据备份与还原
03-10
02
Linux 中使用 rsync 同步文件目录教程
03-10
03
Linux 使用 rsync 互相传输同步文件的简单步骤
03-08
更多文章>
Theme by Vdoing | Copyright © 2019-2025 NoteZ,All rights reserved | 冀ICP备2021027292号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式