想搭一个VisualSVN服务器的环境(服务器是Windows Server 2016 Standard),从VisualSVN官网上下载的版本(当前是4.2.2版本),当添加超过16个人时,提示有16人的限制就不能用了。因此需要一个可以支持较多用户使用的版本,同时,还需要支持用户自己修改密码的功能,否则太不方便。
从CSDN上搜索有一篇文章(https://download.csdn.net/download/cs_21cn/9639890),带有安装包及**版本,同时还支持web端密码修改,貌似十分满足我的需求。
下载下来后,发现不像想象中顺利,按照文章中的步骤操作完,打开VisualSVN Server Manager,总是提示“类型不匹配。 (0x80020005)”的错误。
之后卸载并重新安装了该版本,没有按照操作步骤执行PatchVisualSVN.exe的补丁,发现“类型不匹配”的错误就消除了,因此应该是补丁的原因导致的。同时发现这个版本的Server居然本身就没有16个人数的限制。
然后再进行web服务器的安装,在启动VisualSvnServer的时候失败,提示”Cannot load C:/Program Files/VisualSVN Server/bin/mod_cgi.so into server: \xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3“的错误,但反复检查路径下是有mod_cgi.so的文件的,就是加载不上。
怀疑有可能是apache的版本和mod_cgi.so编译使用的不匹配导致的,但又没有mod_cgi.so的源码,没办法重新编译。
之后想再换一个Web端的代码,搜到CSDN上的另一篇文章,https://blog.csdn.net/Tiger99111/article/details/78295642,这里用的不是cgi了,使用php来实现。但同样按照文章的步骤执行,还是不能成功,因为文章里面提供的httpd.conf文件是修改过的,和安装后的httpd.conf差异很大,导致很多so找不到。直接用安装包生成的httpd.conf覆盖回去,启动服务的时候提示“不能加载php5apache2_4.dll”。看了一下路径下有两个dll:php5apache2_2.dll和php5apache2_4.dll,考虑可能是因为apache版本的原因。
尝试把httpd-custom.conf文件中的LoadModule php5_module "php/php5apache2_4.dll"更换为LoadModule php5_module “php/php5apache2_2.dll”,再次运行服务器,终于启动成功了。
访问https://localhost:8888/pwd.php (端口号我修改为8888了,而不是默认的443),就出现如下的界面,可以正常修改密码了。