gogs 是一个git 仓库的管理面板和代码托管工具,这次记录的是我自己搭建gogs局域网git私有库的操作经历。
搭建gogs,我们需要用到哪些东西,以下软件可以放心使用无毒免费。
1、gogs ,这里是介绍二进制安装
2、git
3、NSSM 代理gogs ,对其进行服务运行,window 自带的服务运行方式,会出现gogs服务运行不起来的问题。
4、phpstudy, 这是一个开发集成环境,有mysql 、apache 等等搭建gogs需要的软件
5、DBeaver ,是数据库可视化管理工具
下载地址:
gogs:https://gogs.io/docs/installation/install_from_binary
git:https://git-scm.com/downloads
NSSM:https://nssm.cc/download
phpstudy:https://www.xp.cn/download.html
DBeaver:https://dbeaver.io/download/
按上述的下载地址,到官网下载git,下载好后直接安装,一路下一步就行
1、按上述的地址,到官网下载phpstudy,直接安装没有特殊设置,一路下一步就行
2、将mysql 数据库启动服务
3、创建一个数据库
数据库创建就到这了
1、按上述的地址,到官网下载DBeaver,直接安装没有特殊设置,一路下一步就行
2、安装好DBeaver后,进入DBeaver就需要一些配置了,第一进来会提示你创建一个数据库,那么就按gogs 的需求先创建一个数据库;需要填写的东西就是,先前phpstudy创建数据库的账号密码。
3、DBeaver一开始是没有数据库驱动的,所以连接数据前,需要安装驱动。点击编辑驱动设置
4、点击编辑驱动设置后,进入驱动编辑页,我这边是安装好的驱动,所以一开始就存在。没有驱动的需要点击《下载/更新》。
5、点击下载/更新,进入下载界面,软件会自动识别数据库所需要的驱动,点击选择好驱动;这边需要注意一下,网络是处于局域网内的话,需要开VPN才行,有的时候会出现失败,需要回到驱动编辑页,点击充值为默认状态,又重新下载,直到下载ok,当然实在下载不了,只能百度找现成的驱动,点击添加文件的方式完成了。
6、驱动下载好后,选择确定,就会进入驱动编辑设置界面,接着点确定;上述都完成了,就可以点击测试连接。
7、测试成功了,就会出现下述弹框了;失败,就自己百度出现错误信息,自己找解决方案吧,这里就不赘述了。
8、数据库,因为gogs 要求数据库编码格式,字符集:utf8 排序方式:utf8_general_ci
所以还需要修改一下。
1、打开数据库->右键数据库->查看数据库->修改字符集、排序方式->Ctrl+S->执行
1、按上述的地址,到官网下载gogs 的压缩包,按自身电脑环境,下载符合环境的安装包
2、gogs 的二进制压缩包,解压获得以下的文件
3、创建 gogs\custom\conf\ 文件夹
4、在conf 文件夹下创建app.ini 文件
5、编写app.ini文件内容,RUN_USER = COMPUTERNAME$ 这句话的意思是,gogs是运行在window的那个用户下,COMPUTERNAME$ 是代表返回电脑用户名
RUN_USER = COMPUTERNAME$
[server]
DOMAIN = gogs
PROTOCOL = http
HTTP_ADDR = 127.0.1.1
HTTP_PORT = 8083
OFFLINE_MODE = true
EXTERNAL_URL = http://gogs.com/
6、编写window 的host 文件,host路径:C:\Windows\System32\drivers\etc\hosts
# Gogs local HTTPd
127.0.1.1 gogs.com
1.按上述的下载地址,到官网下载NSSM,下载下来是一个压缩包,解压后将获得以下文件
2、将NSSM 启动路径放到,系统环境变量path中,右键我的电脑->属性->高级系统设置-> 环境变量->用户变量->path->新建->确定->确定->确定
1、进入E:\gogs\scripts\windows 目录,编辑install-as-service.bat 文件
将下面属性修改成你安装gogs 的路径,以下是我安装gogs的路径
SET gogspath=E:\gogs
2、修改完成,右键install-as-service.bat 文件,使用《以管理员身份运行》。
1、因为我已经安装完了, 懒得再重新弄了,就先从放上找个图
数据库主机:localhost:3306
数据库用户:先前phpstudy 创建的数据库,用户:gogs
数据库用户密码:先前phpstudy 创建的数据库,密码:a12345678
数据库名称:先前phpstudy 创建的数据库,名称:gogs
应用名称:默认
仓库根目录:填写你以后存放代码的目录,完全自定义,我的是:E:\gogs\gogs-repositories
运行系统用户:默认
域名:localhost
SSH端口号:默认
其他的都选择默认就行
1、到这一步基本上就完成了,第一个注册的人是管理员身份。做完上述这些也只是能在自己电脑上访问,其他局域网内的电脑还访问不到,还需要进行反代理
1、使用phpstudy ,编辑apache 文件,先打开文件位置,进入Apache 目录->conf->httpd.conf
2、打开httpd.conf 文件,找到下属两条属性,并将开头的#号删掉
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
3、配置Apache 代理文件
<VirtualHost _default_:80>
DocumentRoot "E:/gogs/templates"
FcgidInitialEnv PHPRC "D:/Development/phpstudy_pro/Extensions/php/php7.3.4nts"
AddHandler fcgid-script .php
FcgidWrapper "D:/Development/phpstudy_pro/Extensions/php/php7.3.4nts/php-cgi.exe" .php
<Directory "E:/gogs/templates">
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
DirectoryIndex home.tmpl index.php index.html
</Directory>
ErrorDocument 400 /error/400.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html
ErrorDocument 501 /error/501.html
ErrorDocument 502 /error/502.html
ErrorDocument 503 /error/503.html
ErrorDocument 504 /error/504.html
ErrorDocument 505 /error/505.html
ErrorDocument 506 /error/506.html
ErrorDocument 507 /error/507.html
ErrorDocument 510 /error/510.html
</VirtualHost>
<VirtualHost *:80>
ServerName gogs.com
ServerAlias 192.168.xxx.xxx //这里填写你自己的ip地址
ProxyRequests off
ProxyMaxForwards 100
ProxyPreserveHost On
ProxyPass / http://127.0.1.1:8083/
ProxyPassReverse / http://127.0.1.1:8083/
<Proxy *>
Order Deny,Allow
Allow from all
</Proxy>
</VirtualHost>