环境
- centos:7.5 (64位)
- mysql : 5.7
- git : 1.8
mysql
- 安装mysql
centos yum 安装mysql - 创建gogs数据库
登录mysql数据库,创建新用户gogs// 查看mysql已经提供的存储引擎 # show engines; // 查看mysql当前默认的存储引擎 # show variables like '%storage_engine%'; // 此处默认是innodb,如果不是innodb存储通过下面命令设置 # set global storage_engine = 'InnoDB'; // 创建数据库(注意:gogs install页面中有提示:如果您使用MySQL,请使用INNODB引擎以及utf8_general_cl字符集) # DROP DATABASE IF EXISTS gogs; # CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_general_ci;
git
- Set1:安装git
centos yum 安装 git - Set2:设置git账户
// 创建git账户 # sudo useradd git // 修改密码 # passwd git // 输入新密码并确认
限制ssh登录服务器
vi /etc/passwd
将 git:x:1000:1000::/home/git:/bin/bash 改成 git:x:1000:1000::/home/git:/usr/bin/git-shell
注意:后面需要切换git用户 启动gogs,所以此处不要设置。否则无法切换用户。
[可以开机自启后设置]
gogs
-
Set1:下载二进制安装包
// 查看centos内核版本,确定架构(X64、X86还是am) # uname -a // 下载 # cd /home/git/ # wget https://dl.gogs.io/0.11.34/linux_amd64.tar.gz // 下载完成解压至git用户目录下(/home/git)并修改其权限和所有者 # tar -xf linux_amd64.tar.gz -C /home/git # chmod -R 700 /home/git/gogs # chown -R git:git /home/git/gogs
-
Set2:使用git用户运行gogs
# sudo su - git -c "cd /home/git/gogs && ./gogs web &"
-
Set3:初始化配置
// 创建git仓储目录,后面初始化的时候会使用此目录 # cd /data/ # mkdir gogs-repositories
浏览器输入http://ip:3000,完成初始化配置
至此gogs安装完成,注册账户使用。
Gogs 开机启动
-
方法一:添加启动项和守护进程
(重启 active(exited),无法启动,不建议使用)
# sudo ln -sf /home/git/gogs/scripts/systemd/gogs.service /usr/lib/systemd/ # sudo chmod u+x /home/git/gogs/scripts/systemd/gogs.service # sudo ln -sf /home/git/gogs/scripts/init/centos/gogs /etc/init.d/ # sudo chmod u+x /home/git/gogs/scripts/init/centos/gogs # sudo /sbin/chkconfig gogs on # sudo service gogs restart
-
方法二:官方提供脚本(centos7)
(推荐)
# cp /home/git/gogs/scripts/systemd/gogs.service /usr/lib/systemd/system/ # systemctl enable gogs.service # systemctl start gogs.service # systemctl list-unit-files | grep gogs gogs.service enabled
注意事项
- gogs启动后注册用户时提示500错误,查看后台日志提示运行用户无仓储目录操作权限
在gogs初始化页面中也有提示该用户必须具有对仓储根目录和运行gogs的操作权限
。// 设置用户操作权限 # chown -R git /data/gogs-repositories/