Centos7 安装Gogs 0.12

1,162 阅读4分钟

之前从未在相关平台写过文章,今天鼓起勇气迈出了自己的第一步,希望可以帮助到大家!!!

Gogs项目地址

安装前准备工作

因为我是刚申请的机器,平常项目安装的时候,我都会安装一些常用的,避免安装过程出现一些未知的错误,相关命令如下:

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 状态