1、 须要的软件包:
apache
apr:apr-1.3.18 apr-util-1.3.19浏览器
apache:httpd-2.2.14服务器
svn:subversion-1.6.17.tar.gz subversion-deps-1.6.17.tar.gzsvn
2、 安装和配置步骤:ui
1、安装httpd-2.2.14url
tar –zvxf httpd-2.2.14.tar.gz
cd httpd-2.2.14
./configure
--prefix=/usr/local/apache
--enable-sospa
--enable-davrest
--enable-modules=mostip
Makeci
Make install
/usr/local/apache/bin/apachectl –k start
验证apache :Curl 127.0.0.1
2、安装apr-1.3.18
tar –zxvf apr-1.3.18
cd apr-1.3.18
./configure –prefix=/usr/local/apr
Make
Make install
3、安装apr-util-1.3.19
tar –zxvf apr-util-1.3.19
cd apr-util-1.3.19
./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr
Make
Make install
4、安装subversion
tar –zvxf subversion-1.6.17.tar.gz
tar –zvxf subversion-deps-1.6.17.tar.gz /*这两个自动解压成一个包 subversion-1.6.17
cd subversion-1.6.17
rm –rf apr
rm -rf apr-util
cd subversion-1.6.17
./configure --prefix=/usr/local/svn --with-apxs2=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
Make
Make install
提示:注意包的安装顺序,apache中本身有apr、apr-util包,先安装apr、apr-util,apache会报错
验证svn是否安装成功:
/usr/local/svn/bin/svnserve –version
查看apache的相关模块是否加载以下
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3、 配置apache支持svn
Vi /usr/local/apache/conf/httpd.conf
在文件末尾添加
<Location /svn/>
DAV svn
Satisfy Any
SVNListParentPath on
SVNParentPath /svndata/svn (此处配置你的版本库根目录) --注意这里不要是svnpath
AuthType Basic (链接类型设置 基本验证)
AuthName "Hello welcome to here" (此处字符串内容修改成提示对话框标题)
AuthUserFile /svndata/userpasswd (此处修改成访问版本库用户的文件, 用apache 的htpasswd命令生成)
AuthzSVNAccessFile /svndata/authz (此处修改成访问版本库权限的文件)
Require valid-user ("Require valid-user"告诉apache在authfile中全部的用户均可以访问。)
保存文件退出!
从新启动apache
# /usr/local/apache/bin/apachectl –k restart
先使用浏览器检测一下
打开浏览器访问http://192.168.0.111/svn/document 会提示输入用户名密码
等到完成下面步骤就能够进去访问了,进去后若是有东西显示就说明成功
4、 配置svn权限管理
1 . 添加用户:
# /usr/local/apache/bin/htpasswd –c /svndata/userpasswd user1
第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增长
第二次添加用户不须要带 –c 参数 如:
# /usr/local/apache/bin/htpasswd /data/svn/passwd user2
2 . 权限分配:
#vi /svn/auth.conf
[groups] 这个表示群组设置
Admin=usr1,user2 表示admin群组里的成员 user1,user2
Develop=u1, u2 /表示Develop群组里的成员 u1,u2
[www:/] 表示仓库www的根目录下的访问权限
[www:/aaa] 表示对www下的aaa目录的访问权限
user1 = rw www仓库user1用户具备读和写权限
user2 = r www仓库userl用户具只有读权限
@develop=rw 表示群组develop的成员都具备读写权限
[/] 表示在全部仓库的根目录下
* = r 表示对全部的用户都具备读权限
注意:在编辑authz.conf文件时,全部行都必需要顶头写,不能有缩行出现,不然会报错:"Access denied: ''user1'' ",里面的内容能够根据本身的须要自行添加,没必要与我上面写的相同
5、 重启apache服务和svn服务
/usr/local/apache/bin/apachectl restart
启动svn
/usr/local/svn/bin/svnserve -d -r /svndata/svn
-d 表示以 daemon 方式(后台运行)运行
-r /svn/project 指定根目录是/svndata/svn
检查服务器是否启动正常:
#ps –aux | grep svnserve
root 22975 0.0 0.0 7132 780 ? Ss Mar22 0:00 /usr/local/svn/bin/svnserve -d -r /svndata/svn
若是显示以下,即为启动成功
建立版本库是svnadmin create /svndata/svn/project
就能够经过 http://ip/svn/project这个URL来访问仓库了
OK.到此 APACHE+SVN服务器的架设已经完成