装上websvn之后,就可以在浏览器上面比较好的浏览整个svn库的目录文件结构以及修改记录了,像github那样
yum install websvn
会自动安装相关联的apache、php
为了测试websvn,需要先启动apache
systemctl start httpd
websvn安装之后,会在apache的配置目录增加一个配置文件 /etc/httpd/conf.d/websvn.conf
Alias /websvn /usr/share/websvn/
<Directory /usr/share/websvn/>
Options MultiViews
DirectoryIndex wsvn.php
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
order deny,allow
deny from all
allow from 127.0.0.1 ::1
</IfModule>
</Directory>
可见websvn的访问路径为/websvn。可是在浏览器输入http://服务器ip/websvn之后,会出现403 Forbidden的错误,这是因为mod_authz_core只允许本地访问。把Require local改为Require all granted,并且重启httpd,则可以访问websvn了
界面虽然出来了,但我们还没指定svn库。配置文件在 /etc/websvn/config.php。在配置文件中,添加一行
$config->parentPath('/home/svn/');
其中/home/svn是svn仓库的父目录。这样websvn会自动扫描这个目录,这样就可以用浏览器浏览整个代码库了。
然而,目前websvn的访问是不带任何权限控制的。我们希望websvn使用http访问svn时同样的用户名密码及权限控制,可以修改 /etc/httpd/conf.d/websvn.conf,删掉<IfModule mod_authz_core.c>的部分,仿照subversion.conf添加auth认证
AuthType Basic
AuthName "Authorization SVN"
AuthUserFile /home/svn/passwd
Require valid-user
让访问websvn的时候,带上用户名密码。参考htpasswd的用法,给AuthUserFile添加上用户名密码。然后修改/etc/websvn/config.php,添加目录权限配置文件
$config->useAuthenticationFile('/home/svn/doc/conf/authz');
网友评论