CentOS7搭建gogsGit服务器

CentOS7搭建gogsGit服务器
 最后更新于 2024年10月02日 23:15:06

一、环境

Linux 系统环境为:CentOS Linux release 7.4.1708 (Core)
MySQL 版本为: mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper
Git 版本为: git version 1.8.3.1
Gogs 当前最新版本为:0.11.86

二、所需软件

  • Git
  • MySQL

三、安装步骤

  1. 下载并安装gogs
// 克隆仓库到`gogs`目录
git clone --depth 1 https://github.com/gogs/gogs.git gogs

// 修改工作目录
cd ./gogs

// 编译主程序,这个步骤会下载所有依赖,并在`gogs`目录下生成一个名为`gogs`的文件
go build -o gogs
  1. 配置数据库
// 切换到`scripts`目录
cd /home/gogs/scripts

// 登陆数据库
mysql -u root -p

// 执行`gogs`数据库脚本文件
source mysql.sql

// 测试(执行完了之后可以看到已经创建好了gogs数据库)
show databases
  1. 配置

打开gogs文件

vim /home/git/gogs/scripts/init/centos/gogs

核对文件信息

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Gogs"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/home/gitrepo      # 仓库地址,可以自行修改
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=git   # 如果运行 gogs 不是 git 的账户,则需要修改对应的账户

gogs添加到service服务中

// gogs 文件复制到 /etc/init.d 目录下
sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/

// 增加执行权限
sudo chmod +x /etc/init.d/gogs

// 复制 service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

4.运行

// 运行 gogs 服务
service gogs start

// or

// 运行 gogs web
./gogs web

// 后台运行 gogs
- ./gogs web >/dev/null 2>&1 &
- ./gogs web &
- nohup ./gogs/gogs web > /dev/nunohup ./gogs/gogs web > /dev/null 2>&1 &