CentOS 7安装Gogs代码仓库

87447007 2020-07-19

1、准备环境

1. MySQL
2. Gogs二进制包
3. git
4. git用户
5. nginx
6. 域名
7. ssl证书

1.1 创建gogs用户和对应的数据库并授权

create database `gogs` character set utf8 collate utf8_general_ci;

create user ‘gogs‘@‘localhost‘ identified by ‘密码‘;
create user ‘gogs‘@‘127.0.0.1‘ identified by ‘密码‘;
grant all privileges on gogs.* to ‘gogs‘@‘localhost‘;
grant all privileges on gogs.* to ‘gogs‘@‘127.0.0.1‘;
flush privileges;

1.2 下载Gogs二进制包

wget https://dl.gogs.io/0.11.91/gogs_0.11.91_linux_amd64.tar.gz

1.3 安装git

yum install git -y

1.4 添加git用户

useradd git
echo "密码"|sdtin passwd git

1.5 安装nginx

yum install nginx -y

2、安装Gogs

2.1 切换到git用户

su - git

2.2 安装配置Gogs

# 将安装包移动到git家目录
cp /root/gogs_0.11.91_linux_amd64.tar.gz /home/git

# 解压安装包
tar xf gogs_0.11.91_linux_amd64.tar.gz
cd gogs/

# 开始安装
./gogs web

2.3 浏览器上配置

浏览器打开http://server_ip:3000开始配置:

CentOS 7安装Gogs代码仓库

如上图,根据实际情况进行填写,ssh端口我这里改成了2222是为了避免和sshd服务的端口冲突。

确认之后点击立即安装即可,如果有报错,根据报错信息进行修改之后再次点击立即安装即可。

2.4 注册用户

建议安装完成之后直接到首页选择注册用户,因为之前没有创建管理员并且默认第一个注册的用户就是管理员。

CentOS 7安装Gogs代码仓库

选择右上角的注册:

CentOS 7安装Gogs代码仓库

填写好信息之后点击创建用户。马上就会跳转到登录界面:

CentOS 7安装Gogs代码仓库

登录之后进入首页:

CentOS 7安装Gogs代码仓库

至此,安装完成!使用方法与GitLab和GitHub相差不大。

3、其他配置

3.1 开启Gogs的ssh连接

# 将app.ini中START_SSH_SERVER改为true即可,端口建议改成其他不和sshd服务冲突的端口。
sed -i.bak ‘s#START_SSH_SERVER = false#START_SSH_SERVER = true#g‘ /home/git/gogs/custom/conf/app.ini

3.2 使用nginx代理

cat /etc/nginx/conf.d/gogs.conf
server {
    server_name 域名或IP;
    listen 80; #或者443,如果你使用 HTTPS 的话
    # ssl on; 是否启用加密连接
    # 如果你使用HTTPS,还需要填写ssl_certificate和ssl_certificate_key
 
    location / { #如果你希望通过子路径访问,此处修改为子路径,注意以/开头和结束
        proxy_pass http://127.0.0.1:3000/;
    }
}

语法检查重载配置文件

nginx -t
systemctl reload nginx.service

3.4 域名解析

在对应域名供应商的DNS解析页面添加相应的A记录即可(要和gogs.conf中的配置对应)。

3.5 ssl证书

有多种方法实现:

  • 付费的
  • 免费的
3.5.1 付费的ssl证书

去对应的ssl代理商购买,比如阿里云、腾讯云、又拍云等等。

3.5.2 免费的ssl证书
  • 阿里云、腾讯云、又拍云等代理商提供一个用户限定个数的免费单域名ssl证书
  • 通过各种工具获取免费的ssl证书,例如 certbot之类的

4、查看效果

CentOS 7安装Gogs代码仓库

相关推荐