前言
开发者做的项目都需要一个仓库来集中管理,而项目性质决定了不可能所有项目都上传Github管理。本地git仓库或许是一个不错的选择,但项目多了之后一则不好集中收录,二则源代码的分享很不方便。Github的私人仓库需要订阅高级用户,身为学生党,能省的钱还是要省一下。
刚好最近购买了一个用于科学上网的VPS服务器,编自然的想到在自己的服务器上构建一个私人仓库。一开始是想搭建Gitlab仓库,但是Gitlab仓库需要至少4G的RAM,我的512MB小胃口服务器根本吃不下。于是加上了轻量化标签后,选择便自然而然浮现了出来: Gogs
什么是Gogs?
Gogs 是一款极易搭建的自助 Git 服务。
开发目的
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支持的 所有平台 ,包括 Linux、Mac OS X、Windows 以及 ARM 平台。
准备
环境要求
- git (bash)
-
- 服务端和客户端均需版本 >= 1.7.1
-
- Windows 系统建议使用最新版
- SSH 服务器:
-
- 如果您只使用 HTTP/HTTPS 的话请忽略此项
-
- 如果您选择在 Windows 系统使用内置 SSH 服务器,请确保添加
ssh-keygen
到您的%PATH%
环境变量中
- 如果您选择在 Windows 系统使用内置 SSH 服务器,请确保添加
-
- 推荐 Windows 系统使用 Cygwin OpenSSH 或 Copssh
++本文将使用 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 update
和yum -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种安装的方式
- 二进制安装
- 源码安装
- 包管理安装
这里我们使用二进制安装最为简便
在 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
本文作者 Auther:Soptq
本文链接 Link: https://soptq.me/2018/02/12/host-gogs/
版权声明 Copyright: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处。 Content on this site is licensed under the CC BY-NC-SA 4.0 license agreement unless otherwise noted. Attribution required.
发现存在错别字或者事实错误?请麻烦您点击 这里 汇报。谢谢您!