Yzk博客

用gogs在Windows服务器上搭建私人git服务器—超级简单的私人git服务器搭建

↓ps:第一段是废话,大家可以直接跳过。↓

刚开始想搭建这个这个私人git服务器,是因为原本的开发是通过FTP来上传代码的,我们公司的项目是用thinkphp框架搭建的,我也经常会改动一些前端的HTML和CSS样式,和前端人员总是互相覆盖对方的代码,就想着弄个git来进行团队协作  ,于是就上网去百度了一下,有没有开源的私人git服务器源码,然后百度出来的全部都是GitLab,据说功能强大,功能和GitHub可以相媲美,还是免费开源,于是就赶快去找安装教程,由于本人是个英语的渣渣,看了半天,还是不明所以,不知道该怎么安装。研究了不少教程发现安装很麻烦,而且完全看不懂啊,就百度有没有简单的安装方法,然后就找到了gogs,安装简单,功能也挺全基本的功能都有了。于是就开始了安装gogs之旅,本文主要是记载自己安装的过程和自己遇到的问题。

git是做什么用的,就不多做介绍了。(只有Windows安装过程

首先是下载安装需要的程序:(两个网站国内都可访问,为了安全请去官网下载)

Git:点击去官网下载

git官网

点击此图片即可下载。

gogs:点击去官网下载

gogs下载页面

由于不知道nssm如何配置,在加上为了省事,就选择了内置mws的版本直接解压安装就可以使用。

下载完这两个应用后传到服务器,首先安装git,没什么好说的,一般没什么特殊需求就是双击安装一直点下一步一直到安装完成就好了。

就是安装gogs,先把压缩包解压到F盘,(我是安装到F盘的,想安装的C盘或者其他盘的都可以随意。)然后打开cmd.exe,输入以下代码:

gogs安装

进入F盘,根据解压的目录访问gogs.exe web,回车就能看到提示运行成功,进入浏览器访问服务器ip:3000端口即可访问。但是只要已关闭cmd就无法访问了。

刚开始就是这么搭建的,又用了Apache进行反向代理,绑定了一个域名来实现通过80端口和域名访问。这样做就遇到一个问题,服务器上有多个网站,绑定了多个域名,所有的域名加上:3000端口都能访问到gogs。还有就是服务器的远程桌面不能注销,只能点击直接关闭远程桌面。

没办法就去官方手册里找到了把gogs注册为Windows系统服务的介绍,通篇中文的手册,只有这个是没有翻译的英文,瞬间就头大了,最后还是看着大概配置了一下(下面就是大致把官方的手册翻译了一下)。

要先修改gogs的配置文件,在gogs目录里,Gogs\custom\conf\app.ini

打开之后把 RUN_USER = 替换成电脑名称,如果不知道电脑名称的话在cmd里输入echo %COMPUTERNAME% 就会返回电脑全称。

把[server]下面的按照以下填写:

[server]
DOMAIN = gogs
PROTOCOL = http
HTTP_ADDR = 127.0.1.1
HTTP_PORT = 80
OFFLINE_MODE = true
ROOT_URL = http://gogs/

上面的意思大概是 DOMAIN:配置一个本地域名 (可以随意设置),

PROTOCOL:访问方式这里是http,

HPPT_ADDR:设置一个gogos用来访问的本地ip,ip可以设置 127.0.0.2 - 127.254.254.254 ,

HTTP_PORT:监听的端口,把ip和本地域名写到hosts文件里,

OFFLINE_MODE:是否启用离线模式,

ROOT_URL:这个是本地访问的连接,上面DOMAIN那里设置的是什么就写http://(*)/。

修改hosts文件, C:\Windows\System32\drivers\etc\hosts  

127.0.1.1        gogs

在hosts文件的最后一行加入上面的代码。

以管理员运行cmd.exe,输入以下代码

C:\> sc create gogs start= auto binPath= ""C:\gogs\gogs.exe" web --config "C:\gogs\conf\app.ini""

记得把C:\gogs\gogs.exe和后面配置的连接C:\gogs\conf\app.ini替换成自己解压的连接。回车。这行代码就是创建一个系统服务,后面跟软件的路径和配置的路径。

在cmd.exe里敲入

C:\> net start gogs

会看到

The gogs 正在启动.
The gogs 启动成功.
或者
The gogs service is starting.
The gogs service was started successfully.

就是运行成功了。在服务器的浏览器里访问htp://gogs/就可以看到安装的界面,就跟着流程选择一个SQLite数据库,还有网站域名,管理员账号密码什么的填写一下就OK了!

下一篇:使用Apache给gogs绑定域名通过80端口访问