(转) 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

原文地址:https://www.cnblogs.com/liujiacai/p/10332506.html