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

基本分三大步骤,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
  1. 在opt目录下创建一个名为gitea的新目录

    mkdir gitea

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

复制代码
chmod 777 ./gitea/

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

复制代码
su gitea
  1. 进入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,数据库选择giteadb数据库,密码gitea123同理。

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

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

相关推荐
随便取个六字9 小时前
GIT操作 学习
git·学习
星源~18 小时前
tree 命令集成到 Git Bash:可视化目录结构的指南
git·单片机·物联网·嵌入式·项目开发
zhaqonianzhu19 小时前
git gerrit安装钩子
git·gerrit
这是个栗子20 小时前
【问题解决】VSCode终端中看不到Git-Bash
ide·git·vscode
悲伤小伞20 小时前
linux_git的使用
linux·c语言·c++·git
天机️灵韵21 小时前
云效DevOps vs Gitee vs 自建GitLab的技术选型
git·开源项目
荔枝吻1 天前
【AI总结】Git vs GitHub vs GitLab:深度解析三者联系与核心区别
人工智能·git·github
mrbone111 天前
Git-git worktree的使用
开发语言·c++·git·cmake·worktree·gitab
小哈龙1 天前
裸仓库 + Git Bash 搭建 本地 Git 服务端与客户端
开发语言·git·bash
GISer_Jing2 天前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch