CentOS7下安装使用websvn

2020-07-15  本文已影响0人  叶迎宪

装上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');

上一篇 下一篇

猜你喜欢

热点阅读