参考:http://www.linuxidc.com/Linux/2009-05/20226.htm
Apache版本:httpd-2.2.23.tar.gz
Subversion版本:subversion-1.6.18.tar.gz 和 subversion-deps-1.6.18.tar.gz
一、安装篇
1.Apache安装
# tar zxvf httpd-2.2.23.tar.gz ←解压
# cd httpd-2.2.23 ←进入目录
# ./configure --prefix=/usr/local/apache_2.2.23 --enable-so --enable-dav
# make
# make install
说明:--prefix为指定的安装目录,注意一定要加--enable-so是核心能够装载DSO 和 --enable-dav是安装mod_dav_svn.so跟mod_authz_svn.so这两个模块的。
2.Subversion安装
# rpm -qa|grep apr #查看apr与apr-util(知道已经安装,不再安装)
# tar zxvf subversion-1.6.18.tar.gz #解压
# tar zxvf subversion-deps-1.6.18.tar.gz #解压(解压顺序不能乱,将解压在同一个文件夹。)
# cd subversion-1.6.18
# ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache_2.2.23/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
# cat /usr/local/apache2/conf/httpd.conf | grep svn #查看安装是否成功
若显示如下信息,则表示安装成功!
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
说明:--prefix为指定的安装目录,其他参数为安装包的所在位置。
二.配置篇
1.Apache的配置
# vim /usr/local/apache2/conf/httpd.conf #编辑httpd.conf文件(最好在编辑前备份)
#修改端口
ServerName localhost:8089
#在文件的最后添加如下
<Location /guwei>
DAV svn
SVNPath /home/svnroot/data
AuthType Basic
AuthName "hello,world!"
AuthUserFile /home/svnroot/passwd
AuthzSVNAccessFile /home/svnroot/authz
Require valid-user
</Location>
说明:DAV svn:告诉Apache响应此url请求的模块伟svn模块
SVNPath /home/svnroot/data:指定实际项目在文件系统中的路径(不能只写:/home/svnroot否则出错)
AuthName "hello,world!":认证提示信息
AuthType Basic:激活基本认证,需要用户名和密码才能登录
AuthUserFile /home/svnroot/passwd:指定svn服务的用户认证密码文件
AuthzSVNAccessFile /home/svnroot/authz:指定svn服务的用户对此项目的访问权限
Require valid-user:指定只有输入正确的用户和密码才可以访问
2.SVN配置
# cd /usr/local/subversion/bin
# ./svnadmin create /home/svnroot/data/ #创建SVN库
# cd /usr/local/apache_2.2.23/bin #建立访问控制文件
# ./htpasswd -c /home/svnroot/passwd user1#第一次添加需要带-c,代表创建文件
# ./htpasswd /home/svnroot/passwd user2
# vim /home/svnroot/authz #编辑权限文件
[groups]
admin=user1
user=user2,user3
#用逗号分开
[data:/]
@admin = rw
@user=rw
* = r
说明:[groups]:代表用户组;[data:/]:赋予SVN库data的权限;*:代表所有人;r:读权;w:写权限
# vim /home/svnroot/data/conf/svnserve.conf #编辑svnserve.conf
anon-access = none #意为未经授权,不能读定
auth-access = write #授权后可读可写
password-db = ../../passwd #引用上两目录中的passwd文件作为用户管理文件
authz-db = ../../authz #引用上两目录中的authz文件作为用户仓库授权文件
三、测试篇
1.重启Apache
# /usr/local/apache2/bin/apachectl restart
进入测试:
在浏览器中输入:http://localhost/guwei (localhost应为:IP+端口)
如果显示:guwei- Revision 0: / 则表示成功!