您现在的位置是:物联网 >>正文
CentOS下搭建Gitea-自己的Git服务器
物联网9784人已围观
简介前言大家好,我是麦洛。最近由于工作需要,需要给部门搭建一套git代码管理平台,经过一番对比,最终选择了Gitea来搭建。Gitea是什么官网的介绍是:Gitea的首要目标是创建一个极易安装,运行非常快 ...
大家好,下搭我是麦洛。最近由于工作需要,自己需要给部门搭建一套git代码管理平台,服务经过一番对比,最终选择了Gitea来搭建 。
Gitea是下搭什么官网的介绍是:
Gitea的首要目标是创建一个极易安装,运行非常快速 ,自己安装和使用体验良好的服务自建 Git 服务 。我们采用Go作为后端语言,下搭这使我们只要生成一个可执行程序即可。自己并且他还支持跨平台 ,服务支持 Linux,下搭 macOS 和 Windows 以及各种架构,免费模板除了x86,自己amd64 ,服务还包括 ARM 和 PowerPC。下搭
换句话说就是自己一个git管理工具,类似构建自己的服务github,但是github仓库需要公开(私有付费),国内的gitee免费的也有一定的限制 。我们可以通过gitea管理自己的项目代码。
官方文档地址(中文):文档 - Docs (gitea.io)。
常见git管理工具对比
功能基本满足我的高防服务器需求
需要的机器性能不高 ,官方建议是2 核 CPU 及 1GB 内存 ,我自己跑1核1GB有点小慢(故而以下教程是买了一个2GB去跑的)。
GitLab太重了,Gogs不怎么维护了,Gitea还在不断地前行,值得推荐。
Gitea安装
image-20220924182825278
根据官网,目前提供了以上的安装方式,我这边选择二进制安装,应该也是最简单的方式了。下面都是在centos7系统操作的 。源码下载
注意⚠️:需要有MySQL、PostgreSQL、MSSQL 或 SQLite3其中一个用于gitea存储数据 。
1、安装git 复制yum -y install git1.从yum源安装的git版本为1.8.3,与最新的gitea要求的版本相比有点低,这里不推荐yum源安装,需要大家自行安装高版本git 。
2 、创建一个目录用于存放gitea和git数据的目录我自己是放在/gitea里面,大家看着改。
复制mkdir -p /usr/local/gitea1. 3 、添加Git用户因为gitea限制了不能用root用户启动 ,云计算所以我们需要创建git用户来运行gitea,后面创建的service也是通过这个用户运行,还有密钥那些东西不会和root之类的用户搞混。
复制# 创建用户组
groupadd git
# 创建用户并添加到用户组
useradd git -g git 1.2.3.4. 4 、下载打开页面:gitea | Gitea,可以看到全部版本,最上面的就是最新的 ,选择你要的版本 。

点击进入你要的建站模板版本找到后缀是linux-amd64的文件复制下链接,我下载的是https://dl.gitea.io/gitea/1.17.2/gitea-1.17.2-linux-amd64 。
在服务器上进行如下操作,用root用户 。
复制# 去到你要安装的目录
cd /usr/local/gitea
# 下载
wget -O gitea https://dl.gitea.io/gitea/1.17.2/gitea-1.17.2-linux-amd64
# 设置成可运行文件
chmod +x gitea1.2.3.4.5.6.7.8.如果服务器开了防火墙的,那就放行一下 。如果防火墙本身是关闭的,那就不用管了。亿华云
复制
# 查看是不是没有开放3000端口
firewall-cmd --zone=public --list-ports# 如果没有就添加一个
firewall-cmd --zone=public --add-port=3000/tcp --permanent# 重新载入配置文件
firewall-cmd --reload1.2.3.4.5.6.7.没问题就直接退出gitea程序 ,继续下面的操作。
5 、更换目录的用户复制#目录赋权限
chown -R git:git /usr/local/gitea
#切换用户
su git
# 测试运行
cd /usr/local/gitea
./gitea web1.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控制了 。
复制vi /etc/systemd/system/gitea.service1.官方有提供了一份services配置文件 :gitea/gitea.service at master · go-gitea/gitea (github.com)。
注意 :
WorkingDirectory配置项是工作路径得是存在且是git有权限的目录 ,如果不想太麻烦,可以删除...ExecStart是启动命令的意思,/usr/local/bin/gitea web --config /etc/gitea/app.ini中/usr/local/bin/gitea改成你自己的gitea文件的目录,我这里是/usr/local/gitea,-- config带的参数是gitea的配置文件,如果你刚刚按照我的做法去做 ,在gitea的同级目录下存在./custom/conf/app.ini ,把这个换到后面就行了,最后就是 :ExecStart=/usr/local/gitea/gitea web --config /usr/local/gitea/custom/conf/app.ini 。懒人版请直接复制下面的(从头到尾和我一样的目录的)。
复制[Unit]Description=Gitea
After=syslog.targetAfter=network.target[Service]RestartSec=2s
Type=simple
User=git
Group=git
ExecStart=/usr/local/gitea web --config /usr/local/gitea/custom/conf/app.iniRestart=always
[Install]WantedBy=multi-user.target1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.启动服务和设置开机启动。
复制# 运行
systemctl start gitea
# 查看是否成功运行
ps -aux |grep gitea
# 如果成功会看到一条git用户运行的gitea进程
git 1525 9.8 12.1 1375512 227352 ? Ssl 17:17 0:00 /git/gitea web --config /git/custom/conf/app.iniroot 1525 0.0 0.0 12324 1040 pts/0 S+ 17:17 0:00 grep --color=auto gitea# 开机启动
systemctl enable gitea1.2.3.4.5.6.7.8.9.然后在自己电脑浏览器打开[ip]:3000,点击登陆初始化设置,我这边给它设置了域名和端口,所以访问变成[域名]:[端口号] ,完成。

需要大家提前创建gitea数据库 ,其他情况根据自己需求配置即可 ,这一步比较简单,就不赘述 。

最后我们访问一下 。

Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“商站动力”。http://www.noorid.com/html/959c399037.html
相关文章
持续扩张网安版图 Fortinet宣布完成两项重大收购!
物联网Fortinet近日宣布了两项重大收购交易,分别收购了云原生应用程序保护平台CNAPP)开拓者Lacework,以及内部风险和数据保护领域的佼佼者Next DLP。这两项收购不仅进一步巩固了Forti ...
【物联网】
阅读更多windows10有必要安装杀毒软件吗
物联网我们在使用win10操作系统的时候,有些小伙伴不知道windows10要不要安装杀毒软件有什么用。对于这种问题小编觉得现在的电脑也是自带了防火墙功能,功能上已经差不多足够了,而且占内存小。现在的第三方 ...
【物联网】
阅读更多win10是什么架构
物联网对于我们现在使用的win10操作系统,有些小伙伴可能想要了解win10相较之前的版本是什么架构的。对于这个问题,小编认为,从windows XP之后所有系统使用的架构都是相同的。那么具体内容就来和小编 ...
【物联网】
阅读更多