本来想在 Github 上建一个私仓,但是发现只能设置 3 个贡献者。

国内的码云也只能设置 5 个。

无意间看到了使用 gogs 可以搭建私服,正好手头有空闲的服务器,于是开干!

https://gogs.io/

1、安装 git

yum install git

2、安装MySQL

安装过程省略。

安装后登录 MySQL 进行如下配置:

create database gogs default character set utf8mb4 collate utf8mb4_unicode_ci;

# 这里我新建了一个用户用来访问gogs数据库
CREATE USER 'pig'@'%' IDENTIFIED BY 'xxxx';
GRANT ALL ON gogs.* TO 'pig'@'%';

3、安装gogs

3.1 创建git用户

建议使用 git 用户,因为 gogs 配置文件默认使用的 git 用户。

useradd git
passwd git设置密码

3.2 下载解压gogs

su git
cd wget https://dl.gogs.io/0.11.29/linux_amd64.zip
# unzip 命令不可用的话需先安装
unzip linux_amd64.zip

3.3 配置gogs

vim /home/git/gogs/scripts/init/debian/gogs

PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="GoGs Git Service"
NAME=gogs
SERVICEVERBOSE=yes
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/home/git/gogs #根据自己的目录修改
DAEMON=$WORKINGDIR/$NAME
DAEMON_ARGS="web"
USER=git #修改对应用户

3.4 切回root,拷贝文件和服务

#拷贝到init.d下
cp /home/git/gogs/scripts/init/debian/gogs /etc/init.d/
#添加可执行权限
chmod +x /etc/init.d/gogs
#拷贝service
cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system/

3.5 启动

systemctl start gogs.service

4、配置 gogs

此时,使用 ip:3000 就可以访问了

P.S. 阿里云的坑

阿里云的主机默认是无法访问 3000 端口的,解决方法

① 登录到阿里云控制台,进入到自己的云主机管理页面

② 点击『防火墙』

③ 添加 3000 端口的访问规则

确定,然后就可以继续访问之前的页面了。

第一次访问 Gogs,浏览器进入安装页面,如图所示填写字段

点击 install gogs,安装成功以后会直接进入 gogs 首页,在这里可以注册或者登录,完全像是一个正常的网站。

若在安装页面没有配置管理员,那么第一个注册的用户默认自动变成管理员,之后注册的用户都是普通用户。

配置文件详解

配置文件位于:

/home/git/gogs/custom/conf/app.ini

其中参数的详细解释可以看官网:https://gogs.io/docs/advanced/configuration_cheat_sheet

禁止用户注册

为了系统安全性,考虑禁止用户注册,只能由管理员创建帐号。

将参数 DISABLE_REGISTRATION 设置为 true。

DISABLE_REGISTRATION = true

此时需要在页面进行创建账号:

至此,基于 gogs 的 Git 私仓搭建基本完毕。


参考:

https://www.jianshu.com/p/63206dad0afa

https://blog.csdn.net/qq_22638399/article/details/80658196

https://zhuanlan.zhihu.com/p/30798837

https://www.jianshu.com/p/28e8aa8f9ec4

手把手教你使用gogs搭建git私有仓库的更多相关文章

  1. 使用gogs搭建git私有仓库

    搭建gogs 我的机器环境:centos 7 1.安装git yum install git   2.安装mysql gogs的数据存在mysql中,需要安装一个mysql来存数据,当然也有其他的选择 ...

  2. 用yunio网盘搭建git私有仓库

      研究生开始奔波于教研室和寝室之间,于是想搭建一个git私有仓库来管理自己在做的项目或者学习资料.一来可以很方便的管理项目,二来可以学习使用git.我的主要工作平台是Linux,这也是我选择yuni ...

  3. 手把手教你使用 VuePress 搭建个人博客

    手把手教你使用 VuePress 搭建个人博客 有阅读障碍的同学,可以跳过第一至四节,下载我写好的工具包: git clone https://github.com/zhangyunchencc/vu ...

  4. 手把手教你认识并搭建Nginx

    手把手教你认识并搭建Nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...

  5. 手把手教你用vue-cli搭建vue项目

    手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...

  6. 沉淀,再出发——手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群

    手把手教你使用VirtualBox搭建含有三个虚拟节点的Hadoop集群 一.准备,再出发 在项目启动之前,让我们看一下前面所做的工作.首先我们掌握了一些Linux的基本命令和重要的文件,其次我们学会 ...

  7. 手把手教你用webpack3搭建react项目(开发环境和生产环境)(一)

    开发环境和生产环境整个配置源码在github上,源码地址:github-webpack-react 如果觉得有帮助,点个Star谢谢!! (一)是开发环境,(二)是生产环境. 一.首先创建packag ...

  8. Windows 使用 Gogs 搭建 Git 服务器(转)

    Windows 使用 Gogs 搭建 Git 服务器   随便说两句 之前有使用 Gitblit 在Windows搭建Git服务器,用的也挺好的,可能安装起来略麻烦一点.现在全用 Gogs 在wind ...

  9. 手把手教你用Python搭建自己的量化回测框架【均值回归策略】

    手把手教你用Python搭建自己的量化回测框架[均值回归策略] 引言 大部分量化策略都可以归类为均值回归与动量策略.事实上,只有当股票价格是均值回归或趋势的,交易策略才能盈利.否则,价格是随机游走的, ...

随机推荐

  1. JavaScript:了解一下函数式编程

    一.简介 在JavaScript中,函数就是第一类公民,它可以像字符串.数字等变量一样,使用var修饰并作为数据使用.它可以作为数值.可以作为参数.还可以作为返回结果.可以说JavaScript就是函 ...

  2. Saiku默认给数据类型的数据添加小数点问题处理(三十一)

    Saiku默认给数据类型的数据添加小数点问题处理 不知道大家有没有遇到过saiku定义的维度信息,数据类型时 展示出来的数据会自动加上 .0的后缀. 比如我定义了一个维度为 年, 在数据库中为 int ...

  3. Flink on YARN时,如何确定TaskManager数

    转自: https://www.jianshu.com/p/5b670d524fa5 答案写在最前面:Job的最大并行度除以每个TaskManager分配的任务槽数. 问题 在Flink 1.5 Re ...

  4. 序列化禁止使用Optional

    1: 概论 Optional 是Java8用来改变java引发NPE的解决办法,但是不是绝对的解决办法 2: 例子: 很多博文一上来就给力以下使用例子 @Data public class User ...

  5. C# 使用Json.NET对数据进行序列化和反序列化 | c# json serialize and deserialize using json.net JsonConvert

    本文首发于个人博客https://kezunlin.me/post/22391aa3/,欢迎阅读最新内容! c# json serialize and deserialize using json.n ...

  6. 黄聪:mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高

    mysql的SQL_CALC_FOUND_ROWS 使用 类似count(*) 使用性能更高 在很多分页的程序中都这样写: SELECT COUNT(*) from `table` WHERE ... ...

  7. 练手WPF(三)——扫雷小游戏的简易实现(下)

    十四.响应鼠标点击事件    (1)设置对应坐标位置为相应的前景状态 /// <summary> /// 设置单元格图样 /// </summary> /// <para ...

  8. springCloud实战篇——纯文本

    什么是微服务架构? 微服务是系统架构的一种设计风格,主旨是将原本独立的系统产分为多个小型的服务,这些服务都在各自的进程中运行.服务与服务之间基于HTTP的RESTful API进行通信协作. 构造背景 ...

  9. YYLable 的使用 以及注意点

    NSString *title = @"不得不说 YYKit第三方框架确实很牛,YYLabel在富文本显示和操作方面相当强大,尤其是其异步渲染,让界面要多流畅有多流畅,这里我们介绍下简单的使 ...

  10. Macbook触控板使用技巧

    1. 在Storyboard鼠标右键可以直接拖线的,如果你用的是外接的第三方鼠标,没必要按着 control 键再用鼠标左键拖线 如果是触控板的话,双指按下去就可以直接拖线,带3Dtouch功能的触控 ...