最近在实验室,因为有部分资料不能上传到网上,因此在本地的服务器上部署git,最后对比,实验室人数不多,没必要部署大型的Coding(国内开发,本地私有云要收费,据说挺好用),后面发现Gitea(开源)还不错,用于部署git的本地私有云。在部署时,遇到了几个问题,在此作一个记录。
1、安装教程:gitea轻量级代码托管
2、安装完成后,需要登录http://0.0.0.0:3000 对web端进行初始化的设置,在此需要先运行gitea.exe后再登录,登录时,经常提示失败,如果浏览器提示登录失败,可以试一下:重启gitea.exe、重启后等待一会儿、重启电脑~~!我就是这么干的。
3、如果不是很懂数据库,在安装数据库的选项中,简单的选择SQLITE 3 吧。
4、安装完成后,自己在服务器端用起来很爽,但是实验室同一个局域网的电脑访问,存在问题,因为URL默认是Localhost,如果局域网中,在其它电脑上输入这个URL,分分钟歇菜。这里有有两种方法解决,第一种,最简单,每次将“Localhost“改为服务器ip。第二种,直接进入gitea的安装目录,我这里是这个 C:\Gitea\custom\conf 找到app.ini 用文本打开,再找到其中的“server”配置区,将Localhost,改为服务器的ip地址(只在局域网中验证了可用)改完后如下图:
更改完成后,需要保存退出,重启gitea.exe。这样,局域网中的其他人,都可以直接通过这个URL访问了,而且在gitea的仓库提交时的HTTP地址也从http://Localhost:3000/xxx/xxx.git 变为了 http://192.168.1.162:3000/xxx/xxx.git。SSH也会相应更改。
5、SSH进行密钥配置时,老是授权不成功,我是控制学科,根本没有学过这方面知识,于是各种尝试,同样的密钥在gitHub上又是可以的,搞了好久,还系统了解了一下ssh-keygen 的命令,ssh-keygen -t rsa -C "xxx",其中-t 是类型,rsa是加密算法(其中又是公钥私钥的),-C是注释。好吧,最后没法,解决方法是详细阅读gitea官网的配置文档 将SSH改为启用内部SSH服务器。
同理,进入上文提及的app.ini文件中,在[server]下,增加一行配置START_SSH_SERVER
= true 保存退出,重启gitea,大功告成。
6、对应的端口一定要打开,避免防火墙把数据拦截了。SSH默认的22号端口,web端,gitea默认的3000端口。
7、如果是window系统,可能遇到gitea.exe老是在前台,所以想把gitea放到后台运行,然后支持开机自启,所以写一个超简单的脚本。在gitea的安装目录下,新建一个文本文档,写入两句话(其中“C:\Gitea\gitea.exe”改为自己的安装目录)
set wscriptObj = wscript.createObject("wscript.shell")
wscriptObj.run "C:\Gitea\gitea.exe", 0
然后保存,更改后缀为gitea.vbs。以后双击gitea.vbs,就变为后台运行了(只能到进程去找它了)。
开机自启呢,最简单的方式,就是建一个gitea.vbs的快捷方式,把它放到自己电脑的启动目录,我的启动目录在这里(C:\Users\Cheery\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup),一般将Cheery更换为自己的用户名就能找到了。OK,现在gitea可以开机自启了(不用快捷方式,直接将gitea.vbs扔过去也可以的)。
8、其它部署gitea的问题,暂时没有想到。