1. 添加用户并设置权限
这里是架设服务器最复杂的地方,笔者试图把这里搞清楚,可惜,还是有些疑问!??好在服务器还能运转!
首先说,通过http协议传输数据时,用户是通过apache来操做svn版本库的,subversion是通过一些模块和apache进行通讯的。具体原理,有兴趣的朋友可以google相关资料。设置用户访问权限,有这么几个工作要做:
(1)版本库的密码文件,一般命名为PasswdFile,由用户通过命令创建,里面保存授权用户的用户名和MD5加密后的密码
(2)apache的httpd.conf文件,我理解这个文件是连接用户、apache、subversion的桥梁
这里只总结一下具体操作方法:
1.1 创建密码文件,密码文件保存在你的版本库文件目录下,在终端通过下面的命令创建密码文件
htpasswd -c /etc/svn/passwordfile username
//建立新文件及使用者
htpasswd -c -b filename userName passWord
//新增使用者或更新原使用者密码
htpasswd -b filename userName passWord
解释:/etc/svn/ 版本库的目录,建议采用完整路径,也就是你从filesystem一路找到你的版本库的所有文件夹
passwordfile 密码文件名称,可以由用户自行命名
username 你希望添加的用户名,比如zhangsan,lisi,wangwu
-c 用来创建密码文件,这个命令在密码文件不存在的情况下可以创建一个文件,可以看到的哦!然后再添加其他
用户时可以去掉这个命令字。
回车执行本命令,会要求你输入密码,一共需要输入两便,添加成功后会提示add user username,然后可以再继续添加
第二个用户。
htpasswd /etc/svn/passwordfile seconduser
反复执行此程序,将自己需要添加的用户添加进去!如果以后有需要还要添加别的用户,也可以单独执行上边的这条命令来
添加。
文件创建完成后,你可以去目录下看一看是否有这么一个文件存在!实际上,应该是存在的,不存在的话就是操作没有成功啊!
5.2 配置httpd.conf文件
文件位置,正常安装的话在etc/apache2/ 目录下,双击打开进行编辑,添加如下内容
#LoadModule dav_module modules/mod_dav.so 加载mod_dav模块
#LoadModule dav_svn_module modules/mod_dav_svn.so 加载mod_dav_svn模块
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so 加载mod_anthz.svn模块
location标签头
DAV svn
SVNPath /home/bb/svn/vcard/ 指明版本库的路径
AuthType Basic 认证类型为基本认证
AuthName "SVN repos" 认证名称,将在IE界面弹出一个对话框,其标题就是SVN repos
AuthUserFile /home/bb/svn/vcard/VcardPasswdFile 加载密码文件
# AuthzSVNAcessFile //home/bb/svn//vcard/accesspolicy
# satisfy Any
Require valid-user 要求验证用户,即不能匿名访问
location标签尾
加#号的语句被注释掉了!如果有两个以上的版本库,可以针对每个版本库添加不同的location标签,两个互不影响。
配置完成后,重启apache,在IE里输入:http://localhost/vcard(即版本库名称),可以看到如下对话框