之前从未在相关平台写过文章,今天鼓起勇气迈出了自己的第一步,希望可以帮助到大家!!!
安装前准备工作
因为我是刚申请的机器,平常项目安装的时候,我都会安装一些常用的,避免安装过程出现一些未知的错误,相关命令如下:
yum install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel openssl openssl-devel -y
1、安装Mysql数据库
数据库版本为:5.7,先安装 mysql 源:
#下载
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
# 安装 mysql 源
yum localinstall mysql57-community-release-el7-11.noarch.rpm
检查 mysql 源是否安装成功:
yum repolist enabled | grep "mysql.*-community.*"
如下所示,安装成功:
使用 yum install 命令安装Mysql
yum install -y mysql-community-server
等待安装完成后,在 CentOS 7 下,启动/关闭服务的命令是 systemctl start|stop,执行命令:
systemctl start mysqld
查看 MySQL 状态
systemctl status mysqld
如图所示,表示启动成功:
设置服务开机启动
systemctl enable mysqld
# 重载所有修改过的配置文件
systemctl daemon-reload
修改root账户密码
Mysql 安装完成之后,生成的默认密码在 /var/log/mysqld.log 文件中。使用 grep 命令找到日志中的密码。图中红色框标记为密码。
grep 'temporary password' /var/log/mysqld.log
安装后,通过初始密码登录,使用下面的命令修改密码
#登录mysql
mysql -uroot -p# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YouNewPassword@';
注意:mysql 5.7 默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements 错误。查看 MySQL官网密码详细策略
添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须添加一个允许远程连接的帐户(添加gogs用户)
GRANT ALL PRIVILEGES ON *.* TO 'gogs'@'%' IDENTIFIED BY 'gogs2020!' WITH GRANT OPTION;
也可以修改root为远程连接,但是不推荐这么做哦
use mysql;
UPDATE user SET Host='%' WHERE User='root';
flush privileges;
设置默认编码为utf8
Mysql安装后默认不支持中文,我们需要修改编码。修改 /etc/my.cnf 配置文件,在相关节点(没有则自行添加)下添加编码配置,如下:
[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
重启Mysql服务,查看编码
systemctl restart mysqld
mysql -uroot -p
show variables like 'character%';
创建gogs用户 和 gogs数据库
执行如下命令,如果前面有执行(添加gogs用户),则不需要再#新建 gogs 用户
#创建数据库
create database gogs default charset utf8mb4 collate utf8mb4_general_ci;
#新建 gogs 用户
GRANT ALL PRIVILEGES ON *.* TO 'gogs'@'%' IDENTIFIED BY 'gogs2020!' WITH GRANT OPTION
2、安装Git
使用如下命令进行安装即可
sudo yum install -y git
3、安装Gogs
到这里就进行我们的主题啦,开始安装Gogs,首页我们需要为Gogs创建一个git用户
sudo useradd git
然后设置一下git用户不要使用密码,需要修改的文件为:/etc/sudoers 我们前需要把它改为可读写状态,不然编辑了无法保存,该文件默认是只读。
#改为读写
chmod u+w /etc/sudoers
然后再编辑该文件:
vim /etc/sudoers
添加如下内容:
git ALL=(ALL) NOPASSWD:ALL
当我们编辑完成后,不要忘记把/etc/sudoers改为只读状态,执行命令
chmod u-w /etc/sudoers
然后我们在服务器上新建一个git文件夹,进入home文件夹后执行命令:
cd /home
mkdir git
给用户分配权限,执行如下命令
chown git:git /home/git/**
下载安装包进行安装
cd /home/git
#下载Gogs安装包
wget https://dl.gogs.io/0.12.0/gogs_0.12.0_linux_amd64.tar.gz
#解压安装包
tar -zxvf gogs_0.12.0_linux_amd64.tar.gz
设置守护线程
接下来我们就可以启动Gogs了,使用命令(不推荐这样使用)
./home/git/gogs/gogs web
但是这样启动有一个弊端,当我们把命令行一关闭,Gogs服务就停止了,这不是我们想要的,所以我们要设置一个守护线程,官方已经给出了守护线程执行脚本,相关脚本放在了 scripts 文件夹下。
接下来我们执行如下命令,复制启动脚本
cp scripts/systemd/gogs.service /etc/systemd/system
配置开机启动
sudo systemctl enable gogs.service
然后执行命令(启动的时候,请切换用户为git):
su git
# 启动服务
sudo systemctl start gogs.service
查看Gogs服务运行状态
sudo systemctl status gogs.service
服务启动成功的状态:
接下来就是激动人心的时刻啦,打开浏览器,输入服务器的地址加上端口进行访问,例如:127.0.0.1:3000
进行初始化设置
Gogs服务相关命令
ps -ef|grep gogs #启动状态查询
systemctl start gogs #启动gogs
systemctl stop gogs #关闭gogs
systemctl restart gogs #重启gogs
systemctl status gogs #gogs 状态