,转 CentOS7.4 + MySQL8.0 + Git + Gogs搭建

原文:https://blog.csdn.net/qq_16075483/article/details/80295793

1.装系统,这个不会的下面就不用看了

2.CentOS7.X安装MySQL8.0

这个请看我的另一篇文章

3.安装Git

一条命令搞定:

yum install git -y

4.安装Gogs

主要分以下几个步骤

1. 创建git用户,设置一些权限之类的

2. 下载并解压Gogs的二进制包

3. 建库/建数据库用户/给数据库用户授权

4. 运行Gogs,进行初始化配置

5. 开机自启设置

接下来针对以上步骤,进行详细操作

1.创建系统用户

添加用户

useradd git

设置密码

passwd git

修改配置文件,让git用户能够越权使用一些资源,执行下面这个命令,在文件中找到差不多90行左右的位置,把git用户添加上

visudo

91 ## Allow root to run any commands anywhere

92 root ALL=(ALL) ALL

93 git ALL=(ALL) NOPASSWD: ALL

切换用户到git

su git

至此,系统用户创建完毕

2.下载并解压Gogs的二进制包

1. 下载就不用说了`gogs_0.11.43_linux_amd64.tar.gz`,这个扔到服务器上,因为使用的是git用户,各种权限不足,所以基本上所有的命令前面都要加上sudo

2. 解压安装包

sudo tar xzvf gogs_0.11.43_linux_amd64.tar.gz

3. 解压完会生成gogs目录,进行授权操作

sudo chown -R git:git gogs

至此,第二步完毕

3.数据方面的准备

1. 先运行gogs自带的sql文件scripts/mysql.sql

cd gogs/scripts/

mysql -u root -p < mysql.sql

输入密码后就会执行sql文件,如果执行失败了..你懂得,怎么会不失败呢...手动建库

CREATE DATABASE IF NOT EXISTS gogs CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

2. 建立数据库用户

create user 'gogs'@'localhost' identified by 'gogs';

3. 给数据库用户授权

grant all privileges on gogs.* to 'gogs'@'localhost';

4. 刷新配置

flush privileges;

至此,数据库方面准备完毕

4.运行Gogs,进行初始化配置

1. 运行吧,一般都会运行起来的

cd gogs

./gogs web

2. 打开你的浏览器,访问吧.ip:3000,例如:192.168.1.1:3000

一开始会显示一个初始化配置页面,看着配置一下,点保存

下面这张图里有2个地方很坑,什么域名啊,应用URL啊.最好写IP地址,除非你能把dns配好

不然肯定会出现仓库clone不下来的情况,因为仓库地址不对啊..写成IP就比较稳

这里点完保存以后我的那个页面就404了..据说是正常的,初始化配置只进行一次

3.然后就是自己注册,建仓库..随便玩

至此,已经完成了部署,下一步是设置开机启动..这一步很简单但是由于网上文章太多太杂,愣是浪费了我几个小时

5.设置开机自启

1. 找到这一层目录`gogs/scripts/systemd`,里面有个文件`gogs.service`,把这个文件复制到`/etc/systemd/system`这个目录下

cd ogs/scripts/systemd

sudo cp gogs.service /etc/systemd/system

2. 改一下里面的参数,要跟你自己的目录对应上,大概注意的就这些

User=git

Group=git

WorkingDirectory=/opt/gogs

ExecStart=/opt/gogs/gogs web

3. 启用开机启动,这一步不太懂,反正弄就行了,不行就去找别的文章

sudo systemctl enable gogs.service

4. 然后试试命令好不好用`systemctl stop gogs.service`和`systemctl start gogs.service`

5. 重启试试吧,不行就用下面这个方法,反正我试了不行,用上面这个可以

这是另一种解决方案,不行就不行了...祝好运~

复制scripts/init/centos/gogs到/etc/init.d/目录下:

sudo cp scripts/init/centos/gogs /etc/init.d/

切换到/etc/init.d/目录为脚本赋予可执行权限

sudo chmod +x gogs

更改gogs脚本内关于GOGS_HOME目录位置的设置(这儿使用vim编辑)

GOGS_HOME=/data/gogs/gogs

使用服务管理命令管理服务

sudo service gogs start/stop/restart/status

配置Gogs开机自启动

sudo chkconfig --add gogs

参考资料:

https://segmentfault.com/a/1190000007764934

https://www.cnblogs.com/phpisbest/p/7000255.html

https://blog.csdn.net/dante_003/article/details/54618237