Linux(CentOS)环境搭建Gitea做私有的git服务器

news2024/11/26 19:58:13

基本分三大步骤,1.安装Gitea,2.安装MySQL(或者SQlite等其中一款数据库)3.安装Git

一.Gitea

Gitea文档地址:文档 - Docs (gitea.io)

Gitea的官网:https://gitea.io

Gitea最新版本的下载地址:https://dl.gitea.io/gitea

1.登录linux系统,创建gitea普通用户

useradd gitea

 设置密码

passwd gitea

2.修改用户附属组

usermod -a -G sudo gitea

 3.gitea安装在/opt目录下, 所以,先进入/opt目录

cd /opt

4. 在opt目录下创建一个名为gitea的新目录

mkdir gitea

5.修改gitea目录的权限,修改为可读可写可执行

chmod 777 ./gitea/

 6.切换到刚刚创建好的gitea普通用户(可选)

su gitea

7. 进入gitea目录

cd /opt/gitea

8.下载Gitea 

sudo wget -O gitea https://dl.gitea.io/gitea/1.22.1/gitea-1.22.1-linux-amd64

9.修改刚下载好的gitea文件,使其能够执行

sudo chmod +x gitea

10.返回/usr/local目录

cd /usr/local/

11.安装mysql作为数据库(使用root用户执行命令)

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.30-el7-x86_64.tar

12.拆分tar包

tar -xvf mysql-8.0.30-el7-x86_64.tar

13.解压安装包

tar -zxvf mysql-8.0.30-el7-x86_64.tar.gz

14.重命名解压后的文件为mysql

mv mysql-8.0.30-el7-x86_64/ mysql

15.创建存储数据文件

     在mysql文件夹中创建data文件夹

mkdir mysql/data

16.设置用户组并赋权

创建用户组

groupadd mysql

创建用户
-r:创建系统用户
-g:指定用户组

useradd -r -g mysql mysql

更改属主和数组

chown -R mysql:mysql /usr/local/mysql/

更改权限

chmod -R 755 /usr/local/mysql/

17.初始化MySQL

进入MySQL的bin目录

cd /usr/local/mysql/bin/

初始化

./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql

初始化完成后会打印一个随机密码,需要记一下,拷贝到txt临时存储,后面会用到。

18.配置参数文件 

vi /etc/my.cnf

 配置文件修可以根据自己需要设置:

[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
pid-file=/opt/mysql/data/mysqld.pid
log-error=/opt/mysql/data/mysqld.err
socket=/tmp/mysql.sock

或者:

[client]
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysqld.log
pid-file = /usr/local/mysql/mysqld.pid
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names = 1 # 不区分大小写
sql_mode = 'STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO'
default-time_zone = '+8:00'

或者: 

[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
default-character-set = utf8mb4

[mysql]  
default-character-set = utf8mb4

[mysqld]  
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
init_connect = 'SET NAMES utf8mb4'

port = 3306
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
datadir = /usr/local/mysql/data
#lower_case_table_names=1
#如果要设置lower_case_table_names可以在初始化里面设置 ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql --lower_case_table_names=1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

19.配置后修改 /etc/my.cnf 的权限为777

chmod 777 /etc/my.cnf

20.启动mysql

/usr/local/mysql/support-files/mysql.server start

21.设置软连接,并重启MySQL

ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
ln -s /usr/local/mysql/mysql.sock /var/mysql.sock
service mysql restart

22.登录并更改密码

[root@localhost bin]# mysql -uroot -p
Enter password: 输入初始化随机密码

进入之后修改密码

alter user 'root'@'localhost' identified by '123456';

或者使用另一种方式

set password for root@localhost = '123456';

 都可以

23.开放远程连接(在mysql中执行)

use mysql;

update user set user.Host='%' where user.User='root';

  刷新权限 

flush privileges;

24.MySQL启动和停止

启动

service mysql start

或者

systemctl start mysql

停止

service mysql stop
systemctl stop mysql

重启

service mysql restart
systemctl restart mysql

查看状态

service mysql status
systemctl status mysql

25.设置开机自启动(可选)

将服务文件拷贝到 /etc/init.d下,并重命名为mysqld

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

赋予可执行权限

chmod +x /etc/init.d/mysqld

添加服务

chkconfig --add mysqld

显示服务列表

chkconfig --list

如果看到mysqld的服务,并且3,4,5都是on的话则成功,如果是off,则执行

chkconfig --level 345 mysqld on

重启(可选)

reboot

重启后查看mysql是否开机自启动

ps -ef|grep mysql

26.mysql安装成功,进入mysql

mysql -u root -p 123456

在数据库中首先创建一个名为gitea的用户

CREATE USER 'gitea' IDENTIFIED BY 'gitea123';

然后再创建giteadb的数据库

CREATE DATABASE giteadb CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';

 并为其授权

GRANT ALL PRIVILEGES ON giteadb.* TO 'gitea';

 刷新权限

FLUSH PRIVILEGES;

然后退出

exit

 27.使用刚刚创建的用户连接数据库

mysql -u gitea -p gitea123

 连接成功,说明配置成功。

28.安装Git

centos下,可以直接使用yum安装,所以

sudo yum install git

git安装完毕,接下来对gitea做服务

29.使用服务来启动Gitea

vi /usr/lib/systemd/system/gitea.service

写入

[Unit]
Description=gitea

[Service]
User=gitea
ExecStart=/opt/gitea/gitea
Restart=on-abort

[Install]
WantedBy=multi-user.target

注意:配置文件中,Gitea的目录配置,以及使用用户不能为user,修改之前创建的为gitea

30.重载daemon,让新的服务文件生效

systemctl daemon-reload

31.用systemctl来启动gitea

systemctl start gitea

32.设置开机启动

systemctl enable gitea

33.停止

systemctl stop gitea

34.查看状态

systemctl status gitea

启动成功,接下来去浏览器做初始化配置 

35.浏览器打开ip:3000

初始化配置这里,用户名选择之前创建的gitea,数据库选择gitea数据库,密码gitea123同理。

其他内容随意,然后点击安装。

等执行完毕之后,选择注册账号,第一个注册的账号为管理员。

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

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

相关文章

【一竞技CS2】Twistzz秋季小组赛rating最高指挥

1、BLAST秋季小组赛于刚刚落下帷幕,数据统计显示,Liquid战队选手Twistzz是秋季小组赛里Rating最高指挥。 2、HLTV发布本周最新世界排名。TOP10战队方面凭借着在小组赛双杀NAVI头名晋级,Liquid战队新阵容一跃进入TOP10的行列,目前位…

湖北职称评审条件是什么?

其实湖北职称评审,要求很多,具体是根据评审专业大类来划分的,不同的专业要求略微有不同,主要是表现在相应的资料准备上,那么职称具体的有哪些要求? 别老听别人说湖北职称申报要求是什么,甘建二告…

基于R语言生物信息学大数据分析与绘图

随着高通量测序以及生物信息学的发展,R语言在生物大数据分析以及数据挖掘中发挥着越来越重要的作用。想要成为一名优秀的生物数据分析者与科研团队不可或缺的人才,除了掌握对生物大数据挖掘与分析技能之外,还要具备一定的统计分析能力与SCI论…

文本加密工具类-支持MD5、SHA1、SHA256、SHA224、SHA512、SHA384、SHA3、RIPMD160算法

文本加密工具类 1.算法简介1.1 MD51.2 SHA-11.3 SHA-2(推荐使用)1.4 SHA-3(推荐使用)1.5 RIPEMD-160 2.工具类案例2.1POM导入2.2代码编写2.3 输出示例 1.算法简介 1.1 MD5 MD5 (Message-Digest Algorithm 5) 描述:M…

一文理清生产管理的“4管”和“8理”!

一提到生产管理,很多人的第一反应可能是车间里忙碌的身影、流水线上飞速运转的机器,还有一张张密密麻麻的生产计划表。但实际上,生产管理远不止于此。 “科学管理之父”弗雷德里克温斯洛泰勒认为:管理就是确切地知道你要别人干什…

【Python】数据类型之元组

列表(list)是一个有序且可变的容器,在里面可以存放多个不同类型的元素。 元组(tuple)是一个有序且不可变的容器,在里面可以存放多个不同类型的元素。 1、定义 元组中的元素与元素之间用逗号相隔&#xf…

mybatis插件代码生成。

mybatis插件代码生成。 第一步连接数据库:第二步,选择数据库表:第三步,进行配置选择第四步、就生成了有关于表的实体类和其他的表数据。 第一步连接数据库: 在右边,拉出数据库的操作栏 输入用户名密码&am…

虚拟机Windows10系统安装QEMU

文章目录 1. QEMU安装1.1 安装准备1.1.1 安装平台1.1.2 软件下载 1.2 安装QEMU1.2.1 找到下载的QEMU软件,双击开始安装1.2.2 设置语言1.2.3 安装向导,点击 Next1.2.4 点击“I Agree”1.2.5 点击Next1.2.6 设置软件安装位置1.2.7 点击 finish1.2.8 编辑系…

Wi-Fi 7信号标志着行业新的关注重点:稳定性

多链路操作和 6GHz 频段保证了比以往更高的可靠性 Wi-Fi 无疑是我们生活中一项广泛使用的成功技术,但它仍存在一些缺陷,如服务质量不稳定、网速较慢或网络总是中断等问题,给人一种可靠性不佳的印象。 随着 Wi-Fi 7 在今年问世,这一代 Wi-Fi 的重点将转向改善其可靠性。以往每…

【C++】STL | vector 详解及重要函数的实现

目录 前言 总代码 vector类框架建立(模板与成员变量) 构造、析构、swap 与 赋值重载 构造 析构 swap 赋值重载 reserve 扩容(重要!!)、size、capacity operator[ ]重载 insert 插入 逻辑讲解 i…

手撸高性能日志系统(一):百万日志,秒秒落盘(小试牛刀篇)

一、需求一丢,谁累成狗 最近由于某些需要,计划手撸一个高性能的日志系统。需求很简单: 1、 不允许丢一条日志信息(很重要很重要) 2、支持多线程,必须线程安全 3、性能要越优越好,尽量百万可秒级…

【逗老师的无线电】QRZ快速得到Incoming请求的准确QSO时间

各位友台,有没有遇到过别人从QRZ发过来了Incoming的QSO请求,但是我完全不记得QSO的时间和波段,盲猜要猜好久。尤其是下面这种,8月份发来的6月份的通联记录,这我天天FT8,上哪翻当天的记录啊(大概…

第6章>>实验6:PS(ARM)端Linux RT与PL端FPGA之间(通过Reg寄存器进行通信和交互)-《LabVIEW ZYNQ FPGA宝典》

1、实验内容 前面第五章入门实验和上一个实验5里面我们向大家展示通过了布尔类型的Reg寄存器通道实现了ZYNQ PS端ARM和PL端FPGA二者之间的开关量交互,抛砖引玉。 从本节实验开始,接下来4个实验我们将着重向大家讲解更为通用和更为全面的4种交互方式&…

研0 冲刺算法竞赛 day27 P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G

P1090 [NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 考点:哈夫曼树 思路:建优先队列,自动排序,然后每次取出最小两个即可。本来思路是数组的,但是一直写…

这才是你需要的C语言、C++学习路线!

大家好,我已经整理好了关于学习 C 语言和 C 的路径图。 接下来,让我们先聊一些有趣且常见的话题。 这些问题是我经常在私信中收到的,同时也是我在学习过程中曾经感到困惑的地方。 粉丝福利, 免费领取C/C 开发学习资料包、技术视…

Jenkins保姆笔记(2)——基于Java8的Jenkins插件安装

前面我们介绍过: Jenkins保姆笔记(1)——基于Java8的Jenkins安装部署 本篇主要介绍下基于Java8的Jenkins插件安装。为什么要单独讲一个插件安装?因为一些原因,Jenkins自带的插件源下载几乎都会失败,如图…

小怡分享之Java的String类

前言: 🌈✨之前小怡给大家分享了图书管理系统这个项目,今天小怡给大家分享Java的String类。 1.String类的重要性 String是字符串类型,C语言中没有字符串类型。 Java当中没有说字符串的结尾是 \0这样的说法。C语言中要表示字符串只…

【爬虫实战】利用代理爬取Temu电商数据

引言 在行业竞争激烈、市场变化快速的跨境电商领域,数据采集可以帮助企业深入了解客户需求和行为,分析市场趋势和竞争情况,从而优化产品和服务,提高客户满意度和忠诚度。同时,数据采集可以实时跟踪库存水平和销售情况&…

Windows10上安装SQL Server 2022 Express

Microsoft SQL Server 2022 Express是一个功能强大且可靠的免费数据管理系统,可为轻量级网站和桌面应用程序提供丰富可靠的数据存储,为关系数据库: (1).LocalDB(SqlLocalDB):是Express的一种轻型版本,该版本具备所有可…

常见中间件漏洞复现之【Tomcat】!

Tomcat介绍 tomcat是⼀个开源⽽且免费的jsp服务器,默认端⼝ : 8080,属于轻量级应⽤服务器。它可以实现 JavaWeb程序的装载,是配置JSP(Java Server Page)和JAVA系统必备的⼀款环境。 在历史上也披露出来了很多的漏洞 …