VisualSVN Server是非常方便好用的SVN服务器端软件,但有个问题,你在服务器端创建了用户名密码后,用户无法自己修改密码,据说VisualSVN的客户端可以修改用户密码,但客户端是收费软件。
VisualSVN Server是基于Apache的,所以密码可以修改可以通过网页来修改。参考网上各种方法后,我总结如下:
1.本着尽量少修改的原则,htdocs这个目录不用修改。
2.需要copy Apache的 mod_cgi.so 到C:\Program Files\VisualSVN Server\bin(我安装在C盘).注意版本对应,可以查看该目录下其他 .so 文件版本。我的VisualSVN Server是2.1.10,.so文件版本是2.2.20.0,为此我还装了一个Apache 2.2.20,就为了提取这个 .so 文件。
3.修改C:\Program Files\VisualSVN Server\conf\httpd-custom.conf,添加如下内容:
LoadModule alias_module bin/mod_alias.so
LoadModule cgi_module bin/mod_cgi.so
<IfModule alias_module>
ScriptAlias /cgi-bin/ "C:/Program Files/VisualSVN Server/cgi-bin/"
</IfModule>
第一个mod_alias.so 原来就有的。
4.下载 Apache22Passwd.rar,建立目录C:/Program Files/VisualSVN Server/cgi-bin/,把Apache22Passwd.rar到该目录,修改Apache22Passwd.cgi.ini,一般是这样的:
auth_user_file=X:/Repositories/htpasswd
Apache22Passwd.rar在CSDN资源里有。
5.还要把Apache的bin目录下的 libapr-1.dll、libapriconv-1.dll、libaprutil-1.dll 复制到 VisualSVN Server的 cgi-bin目录下。
然后重启一下VisualSVN Server,在IE浏览器里输入https://svn服务器IP/cgi-bin/Apache22Passwd.cgi (我的svn配置是https的),就可以看到修改密码的界面了。
这个cgi只支持IE浏览器,我试过Chrome是不行的。
为了避免大家也要装个Apache 2.2.20,我把修改的文件打包了,放在这里,你只要copy到VisualSVN Server的安装目录,修改一下Apache22Passwd.cgi.ini,就可以用了。