大家好,欢迎来到《分享本周所学》第十期。本人是一名人工智能初学者(虽然我最近写的东西都跟人工智能没什么关系),刚刚上完大一。之前想跟同学搞项目,我的学校自己有一个GitLab服务器,于是就把项目存在上面,但是后来收到学校邮件说学校服务器不允许存放和课程无关的个人项目,于是我就把项目放到了外部的GitLab上面(也就是gitlab.com)。之后又发现GitLab的免费账户只有10GB的储存空间,根本不够用,而且升级账户死贵,其他的各种Git平台,比如GitHub、Gitee也都存在这个问题。那怎么办?只好自己动手了。
目录
一、Bonobo Git Server
Bonobo Git Server是一款开源免费而且非常轻量化的Git服务器搭建工具,而且它有一个非常友好的图形化界面。
1. 下载Bonobo Git Server
我们可以在Bonobo Git Server的官网进行下载:Bonobo Git Server - Git Server for Windowshttps://bonobogitserver.com/
下载好之后解压缩,里面有一个叫Bonobo.Git.Server的文件夹。把这个文件夹随便放在一个位置。我是放在了D:\Program Files\Bonobo.Git.Server,所以我之后会以这个路径为例,大家替换成自己的路径即可。
2. 配置服务器
下载完毕后,我们需要让Bonobo Git Server顺利运行。
2.1 启用Windows功能
首先我们需要在Windows功能中启用.NET和Internet Information Services功能,这些功能默认是关闭的。
首先打开控制面板,选择“程序”:
选择“启用或关闭Windows功能”:
打开这三个功能:
注意,这些功能在启用的时候默认只会启用其中一部分功能,所以你可能需要点击功能左侧的加号将功能展开,然后手动启用其中所有的功能,直到功能左侧的选择框中是一个对勾(“√”)而不是横杠(“-”)。
选择之后点击确定,让Windows加载新打开的功能。
2.2 配置网页
打开控制面板,选择“系统和安全”:
选择“Windows工具”:
双击打开“Internet Information Services(IIS)管理器”:
选择“添加网站”:
随便选一个网站名称,比如“Git”,然后将物理路径设置为之前安装Bonobo Git Server的路径。端口的默认值是80,但是这里不太建议使用80,建议随便改成一个不常用而且没有被占用的端口。我这里填的是9418。其余位置不需要更改。
点击确定。现在网站还差最后一步就配置好了。我们回到Internet Information Services(IIS)管理器的界面,点击“应用程序池”右键刚刚创建的网站,选择“高级设置”:
将“启用32位应用程序”设置为“True”:
点击确定。现在,我们的网站就已经配置好了。在浏览器中输入“localhost:9418”即可打开网站。注意,这里的“9418”是我刚刚输入的端口号。如果你输入的端口号不是9418,那么需要替换成你自己的端口号。
二、配置Git仓库
这部分内容用于介绍如何在Bonobo Git Server中配置Git仓库。
1. 登录
打开刚刚创建的网页,你会看到一个这样的界面:
第一次打开的时候,你看到的界面应该是英文的,不过操作方式并没有区别。如果你想把语言设置长中文,可以在登录之后看这一章的第3节。登录的用户名和密码默认都是“admin”。登录后可以看到一个这样的界面:
页面下方是一个已有Git仓库的列表,这个列表在第一次登录还没有创建仓库之前应该是空的,所以如果你的页面和我的图片上显示的不一样是正常的。
2. 用户管理
我们刚刚使用的是admin账户,也就是管理员账户。如果我们并不只是个人使用,而是需要一个团队共同使用一个Git仓库,我们就需要手动为每个使用者分别创建一个账户。而且,我们并不希望给予团队中每个成员相同的权限。显然我们不想让团队中的某个人把除了自己之外所有人的账号全都删掉。
打开“用户”菜单:
你可以在这里看到已有的所有用户。你可以使用右上角的“创建新用户”来添加一个用户。创建完毕后,你需要将用户名和密码告知团队中的成员,并通知他们尽快修改密码,以免账户被其他人盗取。另外,你也可以在这个界面对每个人的信息进行编辑:
注意下方的“Administrator”选项。如果这一项被勾选,意味着用户可以像admin一样对其他用户进行编辑。如果你在创建一个账户后不希望他拥有管理员权限,请不要勾选这一项。另外,如果团队中的某个人忘记了自己的密码,你可以在编辑界面帮助他们重置密码。由于原始密码使用了SHA-256进行加密,所以即使是管理员也不能在这个界面看到用户的原始密码。用户设置的密码基本上是绝对安全的。
3. 全局设置
你可以在菜单栏中的“全局设置”一项更改全局设置:
这其中比较重要的只有一项,就是“库目录”。这一栏决定了所有Git仓库在你的电脑上储存的位置。除此之外,你可以在“语言”中将界面调成中文。你还可以自行配置网站的标题、标志并用CSS来美化网页。
4. 仓库
你可以在主页创建一个新仓库:
你需要在这里输入仓库的名称,并选择哪些用户可以使用或管理这个仓库。除此之外,你也可以给仓库添加一些描述或者给它一个标志,不过这些都可以忽略。
创建好之后,你可以进入仓库主页:
你可以在“Git库位置”那里点击“复制”,这样就可以通过“git clone”来克隆这个仓库了。在“浏览库”界面中,你可以查看仓库中的所有分支和文件;在“提交”界面,你可以看到每个成员的每一次历史提交。 由于Bonobo Git Server比较轻量化,所以这上面的功能可能不是很全,比如说你没办法在这里添加新的分支。不过你还是可以在终端上用“git checkout -b”来创建新分支。
三、远程访问Git仓库
这一部分内容是关于如何远程访问你创建的Git仓库的。
1. 局域网远程访问
Bonobo Git Server在配置好之后,默认支持局域网远程访问。你需要做的就是查看一下自己的局域网IP地址。打开终端,输入以下命令:
ipconfig
然后,在“Wireless LAN adapter WLAN”中找到“IPv4 Address”:
比如我当前的IPv4地址就是192.168.0.102。注意,这个地址有可能会随时间变化,如果你想保持自己的IP地址不变,需要在路由器进行设置,具体的设置方法取决于路由器的品牌和型号,大家可以查查自己的路由器怎么设置。
查找到IP地址之后,就可以用同一局域网下的其他设备访问Git网页了。你需要在设备的浏览器中输入IP地址和端口号,其中端口号就是你刚刚在IIS管理器中设置的端口号。假设IP地址是192.168.0.102,端口号是9418,那么其他设备就可以通过在浏览器中访问“192.168.0.102:9418”来访问Git。
2. 外网远程访问
如果两台设备不在同一局域网内,需要通过互联网来访问,那就比较麻烦了。这里提供两种方法:端口转发和Tailscale。
2.1 端口转发
如果你有固定的公网IP或者域名,那你可以采用端口转发的方式。如果没有或者不确定自己有没有,那建议看2.2这节,用Tailscale的方式。
端口转发具体的设置方法也是取决于你的路由器。我家的路由器是水星(Mercury),我就以它为例。
你需要先打开路由器管理页面,网址一般是192.168.0.1或者192.168.1.1,如果都不是的话,你可能需要自己查一下自己家的路由器怎么设置。
水星路由器的端口转发功能叫作“虚拟服务器”。对不同的路由器来说,这个功能的命名可能不太一样,你可以看看自己家服务器上有没有类似的功能。
对于这个路由器的端口转发功能,我们在服务器类型中选择“HTTP”。外部端口可以随便选一个,但最好选一个不太常用的。内部端口是我们刚才在IIS管理器中输入的端口号。IP地址选择自己的局域网IP地址,协议类型选“TCP”。
配置好了之后,建议重启一下路由器。这时候,我们就可以使用自己的域名或者公网IP来访问Git服务器了。假设我的公网IP是1.2.3.4,那么我就可以通过“1.2.3.4:9418”来访问我的Git服务器。注意,这里的“9418”不是我们在IIS管理器上配置的端口号,而是刚刚在端口转发界面配置的端口号。
2.2 Tailscale
Tailscale是一款用于私人组网的工具,安全性和性能都非常高。我们可以在官网进行配置:Tailscale · Best VPN Service for Secure Networkshttps://tailscale.com/
点击“Get started for free”,然后根据页面的提示注册一个账号。之后,我们在所有需要远程访问Git服务器的设备上下载Tailscale的客户端,然后将它们全部登录到刚刚注册的Tailscale账号上。这样就可以把所有这些设备远程连接起来。你可以理解为Tailscale将这些设备组成了一个虚拟的局域网。
进入Tailscale的设备管理界面,然后查看“ADDRESSES”这栏。找到运行Git服务器的设备的IP地址。
之后就可以将这个IP地址当作一个局域网IP来使用了。假设查到的IP地址是1.2.3.4,那么列表中的任何一个设备就可以用1.2.3.4:9418来访问Git服务器。