全面的环境要求请看官网:https://gogs.io/docs/installation
我这里只列举我的环境:windows server 2012_x64、Git-2.19.1-64、mysql-5.7.22(或者SQLserver)、gogs_0.11.86_windows_amd64、nssm-2.24
下载地址(也可自己去官网下,推荐官网的,因为版本可能新):
链接:https://pan.baidu.com/s/1LmVN_fBe1A9YlluNMJ6HpA 提取码:cqqw
下载完后,都解压出来。放在你觉得合适的目录里面。
首先安装数据库,我这里只介绍mysql和sqlserver(二选一,推荐mysql,因为官方对mysql支持好)。
mysql:
- mysql自行安装好,不会的可参考我这篇博客的mysql安装部分:https://www.cnblogs.com/cluyun/p/9256537.html
- 安装完了后执行gogs\scripts\mysql.sql里面的sql语句。如何执行也可以参考我上面的链接里面的sql执行部分
- 都弄完了记得弄个账号设置密码,可以执行我下面的命令
alter user 'root'@'localhost' identified by '这是密码'; flush privileges;
sqlserver:
- 先自行把数据库安装好
- 然后建立一个sqlserver身份验证的账号留给gogs用
- 执行如下语句就好了,或者根据你自己的需要建库,反正要给一个库给Gogs
IF EXISTS(Select 1 From Sysobjects Where Name='gogs') DROP table gogs GO CREATE DATABASE gogs
然后安装Git,git下一步下一步一直到完成就好了。不过安装完成了之后要在服务器里配置环境变量。
参考以下两步
- 找到Git(安装目录)/usr/bin目录下的ssh-keygen.exe(如果找不到,可以在计算机全局搜索)
- win界面计算机-->鼠标右键 属性-->高级系统设置-->环境变量-->系统变量,找到Path变量,进行编辑,End到最后,输入分号,粘贴复制的ssh-keygen所在的目录,保存;
最后就是安装gogs了。
- 把nssm-2.24\win64目录下的nssm.exe复制到gogs\scripts\windows目录中去
- 如果你的gogs不是直接放在c盘根目录下的,那就要更改install-as-service.bat文件中的SET gogspath=后面的路径,改成你gogs(就是gogs.exe所在的)目录。
- 右键用管理员的方式运行install-as-service.bat,一般不会有错误,出错了自行检查(这一步是把gogs以win服务的方式在服务器永久运行)
- 打开服务器的浏览器进入http://127.0.0.1:3000(3000是默认的端口号 具体看你上一步怎么配置的)看到效果并完成配置安装,这个时候恭喜你搭建完成。
- 如果上面出错了,可以直接在gogs目录下按着shift键+鼠标右键,点击”在此处打开命令窗口”,接着输入命令:gogs web,有错误就能直接看到错误消息,然后解决。这样可以先进行非win服务的方法运行,不过这样子有弊端,就是把CMD关了gogs就没了,网页打不开了。
注意要点:
nssm可以反复折腾,不会挂掉。主要的命令如下:
nssm install servername 安装
nssm remove servername 移除
nssm start servername 开启
nssm stop servermame 停止
nssm restart servername 重启
nssm status servername 状态
gogs网页上是以UTF-8解释的,所以用其他编码可能会在网页上乱码。
gogs其实有很多灵活的东西,可以通过配置来达到要求,参考如下两个网址:
- https://gogs.io/docs/installation/configuration_and_run
- https://gogs.io/docs/advanced/configuration_cheat_sheet
在custom/conf/app.ini中的所有目录必须只能用/,不能用\。
修改完配置后可能要重启,可在nssm所在文件夹下执行 nssm restart gogs
想在外网访问请把端口开放,默认是3000。
内置的SSH服务器,默认端口是22,如果要外网也要记得开放。
建议在windows server上专门建立一个用户,给gogs中的ssh用。
如果你用的TortoiseGit,那么第一次用ssh你得用命令行clone ,不能用可视化界面操作(可能是bug,我也不知道)。
感谢以下链接给予我帮助:
https://blog.csdn.net/zy_281870667/article/details/50443403
https://blog.csdn.net/qq_26819733/article/details/77860125
https://blog.csdn.net/blogsun/article/details/54895589
https://discuss.gogs.io/t/win-ssh/2617
https://discuss.gogs.io/t/mssql/2619