2020-10-12 centos7 git 代码服务器gogs搭建

此文介绍使用gogs搭建git代码服务器

  1. 下载二进制安装包 wget https://github.com/gogs/gogs/releases/download/v0.12.3/gogs_0.12.3_linux_amd64.zip
  2. 解压 unzip gogs_0.12.3_linux_amd64.zip & mv gogs/ /servers/
  3. 安装git yum install git 服务端和客户端均需版本 >= 1.8.3
  4. 配置mysql数据库
    CREATE USER 'gogs'@'%' IDENTIFIED BY '1qaz2wsx';
    FLUSH PRIVILEGES

说明
CREATE USER 'username'@'host' IDENTIFIED BY 'password';

  • username:你将创建的用户名
  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符%
  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器
  1. 新建数据库 gogs CREATE DATABASE gogs CHARACTER SET utf8 COLLATE utf8_general_ci;
  2. 给gogs用户添加数据库gogs权限 GRANT ALL ON gogs.* TO 'gogs'@'%'

说明
GRANT privileges ON databasename.tablename TO 'username'@'host'

  • privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
  1. 为gogs设置系统用户
    添加系统用户git [root@localhost servers]#useradd git
    为git设置密码 [root@localhost servers]# passwd git
    为git用户添加gogs目录权限 [root@localhost servers]# chown -R git gogs/
    切换到git用户,并启动gogs web服务注意一定要用git账户启动
    [root@localhost servers]# su git
    [root@localhost servers]# cd /servers/gogs/
    启动gogs服务
[git@localhost gogs]$ ./gogs web   
2020/10/12 13:48:30 [ WARN] Custom config "/servers/gogs/custom/conf/app.ini" not found. Ignore this warning if you're running for the first time    
2020/10/12 13:48:30 [TRACE] Log mode: Console (Trace)
2020/10/12 13:48:30 [ INFO] Gogs 0.12.3
2020/10/12 13:48:30 [TRACE] Work directory: /servers/gogs
2020/10/12 13:48:30 [TRACE] Custom path: /servers/gogs/custom
2020/10/12 13:48:30 [TRACE] Custom config: /servers/gogs/custom/conf/app.ini
2020/10/12 13:48:30 [TRACE] Log path: /servers/gogs/log
2020/10/12 13:48:30 [TRACE] Build time: 2020-10-07 03:03:48 UTC
2020/10/12 13:48:30 [TRACE] Build commit: f0e3cd90f8d7695960eeef2e4e54b2e717302f6c
2020/10/12 13:48:30 [ INFO] Run mode: Development
2020/10/12 13:48:31 [ INFO] Listen on http://0.0.0.0:3000
  1. 浏览器访问 http://ip:3000/install
    插播个问题,我这里centos开启的防火墙,查看防火墙状态
    [git@localhost gogs]$ systemctl status firewalld
    查看所有打开的端口:[git@localhost gogs]$ firewall-cmd --zone=public --list-ports
    添加3000端口 firewall-cmd --zone=public --add-port=3000/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
    重新载入firewall-cmd --reload 然后就可以访问了,打开如下图所示
    配置1.png

    配置2.png

    image.png

    配置好以上信息之后,点击立即安装,gogs就搭建完成了

守护进程

安装完成gogs 现在有个问题,就是你如果关闭当前 shell,Gogs 服务也对应关闭了;修改配置 /servers/gogs/script/init/centos/gogs

[git@localhost gogs]$ vim scripts/init/centos/gogs
# Default values
NAME=gogs
GOGS_HOME=/servers/gogs
GOGS_PATH=${GOGS_HOME}/$NAME
GOGS_USER=git
SERVICENAME="Gogs"
LOCKFILE=/var/lock/subsys/gogs
LOGPATH=${GOGS_HOME}/log
LOGFILE=${LOGPATH}/gogs.log
RETVAL=0

我们需要确保以下两项配置是正确的:

  • GOGS_HOME 指向你 Gogs 的目录,我这里是/servers/gogs
  • GOGS_USER 指向你运行 Gogs 所用的用户,这个用户一定要存在且有相关权限,我这里是git

然后将该文件拷贝到系统目录,并为其增加相关权限

sudo cp /servers/gogs/scripts/init/centos/gogs /etc/init.d/   
sudo chmod +x /etc/init.d/gogs

最后只需要运行以下命令就行了:

sudo service gogs start   
sudo service gogs stop
sudo service gogs restart

然后就可以用git了
http://10.1.1.109:3000/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容