CentOS 下gogs搭建

前端之家收集整理的这篇文章主要介绍了CentOS 下gogs搭建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

步骤

  1. 新建用户@H_404_5@
  2. 下载源码进行编译/下载预编译二进制文件@H_404_5@
  3. 安装@H_404_5@
  4. 调整配置@H_404_5@
  5. 配置Nginx反向代理@H_404_5@
  6. 添加服务及开机启动@H_404_5@

注意,这里默认你已经安装并配置好了MysqLNginx,如果没有,请自行查找如何安装和配置这些依赖。当然你也可以使用sqlite数据库

新建用户

Gogs默认以git用户运行,因此我们需要建立一个git用户

$ sudo adduser git   #建立git用户
$ su git             #以git用户登录
$ mkdir ~/.ssh       #建立.ssh目录

下载并解压缩

为了节省时间,我选择的是编译好的二进制文件,需要从源码编译的话,请参考一般Go语言项目的编译。
这里寻找适用于你系统的二进制包

下载地址:https://github.com/gogits/gogs/releases/

wget https://github.com/gogits/gogs/releases/download/v0.11.4/linux_amd64.tar.gz

下载后解压到你喜欢的地方,例如/usr/share/gogs/或者/home/git/gogs/。目录结构如下:

$ ls ~/gogs
custom  gogs     log     README.md     scripts
data    LICENSE  public  README_ZH.md  templates

安装

首先建立数据库Gogs目录的scripts/MysqL.sql文件数据库初始化文件
执行MysqL -u root -p < scripts/MysqL.sql(需要输入密码)即可初始化数据库

然后登录MysqL创建一个新用户gogs,并将数据库gogs 的所有权限都赋予该用户

$ MysqL -u root -p
MysqL> # (输入密码)
MysqL> create user 'gogs'@'localhost' identified by '密码';
MysqL> grant all privileges on gogs.* to 'gogs'@'localhost';
MysqL> flush privileges;
MysqL> exit;

执行./gogs web运行Gogs,然后访问http://服务器IP:3000/ 安装,按照页面提示填写信息。

调整配置

配置文件位于Gogs目录的custom/conf/app.ini,为INI格式的文本文件,关键配置如下。
详细的配置解释和默认值请参考配置文件手册

  • RUN_USER默认为git,指定Gogs以哪个用户运行@H_404_5@
  • ROOT 所有仓库的存储根路径@H_404_5@
  • PROTOCOLNginx反代的话使用http@H_404_5@
  • DOMAIN域名,会影响SSH clone地址@H_404_5@
  • ROOT_URL完整的根路径,会影响页面链接指向,以及HTTP(s) clone的地址@H_404_5@
  • HTTP_ADDR监听地址,使用Nginx建议127.0.0.1,否则localhost或0.0.0.0也可以@H_404_5@
  • HTTP_PORT监听端口,默认3000@H_404_5@
  • INSTALL_LOCK锁定安装页面@H_404_5@
  • Mailer相关的选项
    注意邮箱stmp地址要加端口号@H_404_5@

配置Nginx反向代理

修改Nginx配置文件添加如下内容

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/;
    }
}

执行sudo service Nginx reload重新载入Nginx配置

添加服务及开机启动

在Gogs目录的scripts目录中找到对应你所用发行版的版本,文件名为gogs。
执行

$ sudo cp /home/git/gogs/scripts/init/centos/gogs /etc/init.d/
$ sudo chmod +x /etc/init.d/gogs

修改对应的WORKINGDIR值为自己的路径

设置开机启动

$ sudo chkconfig gogs on

即可添加开机启动,取消自启可以执行sudo chkonfig gogs off

Ubuntu 下设置开机启动

$ sudo cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
$ sudo chmod +x /etc/init.d/gogs

修改对应的WORKINGDIR值为自己的路径

复制gogs.service

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

vim /etc/systemd/system/gogs.service

修改gogs.service文件添加MysqL.service 到最前面

After=MysqL.service MysqLd.service postgresql.service memcached.service redis.service mariadb.service

参考资料

使用Gogs搭建自己的Git服务器

配置文件手册

Gogs在github上的项目页

原文链接:https://www.f2er.com/centos/377501.html

猜你在找的CentOS相关文章