这里先说明下Svn有两种运行方式:
1、基于Apache Http Server
2、Subversion Standalone Server
以下是基于 Apache Http 的 Svn 安装
解释:使用Apache Http Server 时,只需要启动Http 服务即可,不需要启动 Subversion Standalone Server。
Apache Http 的 Svn 安装
1) 使用yum 命令进行 subversion 安装。
安装命令:
yum install subversion
测试是否安装成功命令:
svn --version
2) 确定是否安装svn模块:mod_dav_svn
安装命令:
yum install mod_dav_svn
测试命令:
[root@svn ceshi]# cd /etc/httpd/modules/
[root@svn modules]# ls |grep svn
mod_authz_svn.so
mod_dav_svn.so
若存在则安装成功
3) Apache加载mod_dav_svn模块
[root@svn conf.d]#cd /etc/httpd/conf.d
[root@svn conf.d]# vi subversion.conf
添加以下二行
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
4) 创建仓库,仓库名为:test
mkdir -p /var/www/svn
cd /var/www/svn
svnadmin create test
chown -R apache.apache test
5) 添加用户(属Apache命令,为Apeche添加用户)
建立可访问用户文件命令:
用户名为:autest
htpasswd -c /var/www/svn/authfile autest
增加用户命令:
htpasswd /var/www/svn/authfile 用户名
//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加。
//当你用页面访问svn时,apache要进行的密码确认。
6) 权限控制
在/var/www/svn/ 目录下创建文件authz.conf。
命令:
vi /var/www/svn/authz.conf
添加内容:
[test:/]
changyang=rw
[gameybtx2:/]
changyang=rw
[/]
*=r
内容解析:
[test:/] //这表示,仓库test的根目录下的访问权限
autest=rw //使autest用户可以对 test 仓库读写。
[/] //这个表示在所有仓库的根目录下
*=r //这个表示对所有的用户都具有读权限
//authz.conf文件的内容中,=号两边不能有空格,也不能有空行。
7) 配置Svn在Apache中的配置
命令:
vi /etc/httpd/conf.d/subversion.conf
添加内容:
<Location /svn/>
DAV svn
SVNParentPath /var/www/svn
#
# # Limit write permission to list of valid users.
# <LimitExcept GET PROPFIND OPTIONS REPORT>
# # Require SSL connection for password protection.
# # SSLRequireSSL
#
AuthType Basic
AuthName "Authorization Realm"
AuthzSVNAccessFile /var/www/svn/authz.conf
AuthUserFile /var/www/svn/authfile
Require valid-user
# Satisfy Any
# </LimitExcept>
</Location>
内容解析:
SVNParentPath /var/www/svn //指定根目录
AuthzSVNAccessFile /var/www/svn/authz.conf //指定用户权限控制文件
AuthUserFile /var/www/svn/authfile //指定用户验证文件
Require valid-user //开启用户验证
8) 上述步骤设置完成后,重启Apache
命令:
# service httpd restart
一切顺利的话, 基于Apache Http Server 配置完成。
另:上述过程是建立在已经安装Apache的基础上,没有安装Apache,请先安装Apache。