前言

开发者做的项目都需要一个仓库来集中管理,而项目性质决定了不可能所有项目都上传Github管理。本地git仓库或许是一个不错的选择,但项目多了之后一则不好集中收录,二则源代码的分享很不方便。Github的私人仓库需要订阅高级用户,身为学生党,能省的钱还是要省一下。

刚好最近购买了一个用于科学上网的VPS服务器,编自然的想到在自己的服务器上构建一个私人仓库。一开始是想搭建Gitlab仓库,但是Gitlab仓库需要至少4G的RAM,我的512MB小胃口服务器根本吃不下。于是加上了轻量化标签后,选择便自然而然浮现了出来: Gogs

什么是Gogs?

Gogs 是一款极易搭建的自助 Git 服务。

开发目的

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台 ,包括 Linux、Mac OS X、Windows 以及 ARM 平台。

Gogs官方网站

Gogs在线体验

准备

环境要求


  • 数据库(选择以下一项):
    • MYSQL:版本 >= 5.5.3
    • TIDB (实验性支持,使用 MySQL 协议连接)
    • 或者 什么都不安装 直接使用 SQLite3

  • git (bash)
    • 服务端和客户端均需版本 >= 1.7.1
    • Windows 系统建议使用最新版

  • SSH 服务器:
    • 如果您只使用 HTTP/HTTPS 的话请忽略此项
    • 如果您选择在 Windows 系统使用内置 SSH 服务器,请确保添加 ssh-keygen 到您的 %PATH% 环境变量中

++本文将使用 Nginx + SQLITE3 + git + Gogs 方案++

配置环境

操作系统: Centos 6.8 (final)

内核:Linux host.localdomain ++4.10.5-1.el6.elrepo.x86_64++ #1 SMP Wed Mar 22 14:55:33 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

一般而言购买的VPS里的组件都是上古组件了,我们先更新所有组件。Centos自带yum命令,这会使我们的操作简便很多。

1
yum -y upgrade

这里需要注意yum提供两个升级方式,即yum -y updateyum -y upgrate是不一样的。yum -y update会升级软件包,系统和内核,而yum -y upgrate只会升级软件包。

安装SQLite3

一步解决

1
sudo yum install sqlite-devel
安装git

默认情况下Centos是自带了git的,不用再次安装也可以搭建Gogs,但以防万一还是记录一个安装(更新)git的方法。

拆卸自带git

1
yum remove git

下载最新git(替换为最新版本号)

1
wget https://github.com/git/git/archive/<LASTED-VERSION>

解压

1
2
tar -zxvf <FILE-NAME>.tar.gz
cd <FILE-NAME>

编译安装

1
2
3
4
make configure
./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
make all doc
sudo make install install-doc install-html

修改环境变量

1
sudo vim /etc/profile

在最后一行添加

1
export PATH=/usr/local/git/bin:$PATH

:q保存后使其立即生效

1
source /etc/profile

查看是否生效

1
git --version
安装Nginx
安装Nginx所需的环境
1
2
3
4
yum install gcc
yum install pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel

一键安装:

1
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
安装

下载Nginx包(替换为最新版本号)

1
wget http://nginx.org/download/nginx-<LATEST-VERSION>.tar.gz

解压缩

1
2
tar -zxvf nginx-<LASTED-VERSION>.tar.gz
cd nginx-<LASTED-VERSION>

安装

1
2
3
./configure
make
makeinstall

查找Nginx安装目录

1
whereis nginx

完成安装

1
2
cd /usr/local/nginx/sbin ##默认在这里,如找不到目录请cd上一步得到的地址
./nginx

打开浏览器,输入ip地址,看到Welcome To Nginx!即安装成功

安装Gogs

官方文档提供的3种安装的方式

  1. 二进制安装
  2. 源码安装
  3. 包管理安装

这里我们使用二进制安装最为简便

在 https://gogs.io/docs/installation/install_from_binary 查找适合自己的包,右键拷贝下载地址,然后在服务器控制台中输入命令:

创建一个叫做git的用户,并切换登录

1
2
useradd git
su git -l

下载Gogs包

1
wget https://dl.gogs.io/0.11.34/linux_amd64.tar.gz   ##这里拿linux_amd64.tar.gz做示范

解压并进入目录

1
2
tar -zxvf linux_amd64.tar.gz
cd gogs

执行命令(注意一定以git用户执行)

1
./gogs web

然后,就没有然后了。

配置与运行

在游览器输入 localhost:3000 (localhost为你的服务器IP地址),即进入Gogs配置界面,配置完成后即安卓完成

后台运行

以上操作完成后,你会发现Gogs在你断开与服务器的SSH连接后就会停止运行,若要持续运行,在gogs目录下执行命令

1
nohup ./gogs web &

Gogs安装完成

参考资料

https://gogs.io/docs/installation

https://www.cnblogs.com/boxuan/articles/6434109.html

http://blog.csdn.net/BigStupidBear/article/details/72809472



发现存在错别字或者事实错误?请麻烦您点击 这里 汇报。谢谢您!