一 、首先准备好相关的安装包,可以直接WGET,也可以去网站下载Apr: apr-1.4.2.tar.gz 和 apr-util-1.3.9.tar.gzApache:httpd-2.2.17.tar.gzSubversion: subversion-1.6.12.tar.gz 和 subversion-deps-1.6.12.tar.gz
二、安装和配置步骤:
1、安装apr-1.4.2tar –zvxf apr-1.4.2.tar.gzcd apr-1.4.2./configure [安装不指定路径时 默认安装到/usr/local/apr]make ; make install
2、安装 apr-util-1.3.9
tar –zvxf apr-util-1.3.9.tar.gzcd apr-util-1.3.9./configure –with-apr=/usr/local/apr make;make install
3、安装 httpd-2.2.17.tar.gz
tar –zvxf httpd-2.2.17.tar.gzcd httpd-2.2.17./configure –prefix=/usr/local/apache –with-apr=/usr/local/apr/bin/apr-1-config –with-apr-util=/usr/local/apr/bin/apu-1-config –enable-modules=so –enable-dav –enable-maintainer-mode –enable-rewritemake;make install安装好后启动apache/usr/local/apache/bin/apachectl –k start用浏览器查看http://localhost/,得到it works,说明apache已经配置成功了。
4、安装和配置 subversiontar –zvxf subversion-1.6.12.tar.gztar –zvxf subversion-deps-1.6.12.tar.gz /*这两个自动解压成一个包 subversion-1.6.12cd subversion-1.6.12rm –rf aprrm -rf apr-util
注意:删除原因自己google一下吧
./configure–prefix=/usr/local/svn–with-apxs=/usr/local/apache/bin/apxs–with-apr=/usr/local/apr/bin/apr-1-config–with-apr-util=/usr/local/apr/bin/apu-1-config–with-ssl–with-zlib–enable-maintainer-mode
makemake install
确定一下svn有没有安装成功/usr/local/svn/bin/svnserve –version
会看到相关版本信息!svnserve, version 1.6.12 (r955767) compiled Apr 1 2011, 20:37:20…..完了再看看apache的相关模块有没有加载!如下!
vi /usr/local/apache/conf/httpd.conf如果有下面内容,说明加载成功LoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so
到此如果一直都顺利的话就基本没什么问题!继续往下!
开始建立版本库
/usr/local/svn/bin/svnadmin create /svn/project/www /*创建仓库”www”*/ls /svn/project/www /*查看有没有创建好,如果多了一些文件则说明版本库已经创建好*/
confdavdbformathookslocksREADME.txt会在/svn/project/www目录下有上面的的文件
配置访问权限,首先看一下apache配置文件中指定的用户,我的是显示是User daemonGroup daemon
修改svn仓库的所有者#chown -R daemon:daemon /svn/project/www如果安装apache时候创建或使用了其他用户,此处需要作相应的修改
5、配置apache支持svn#vi /usr/local/apache/conf/httpd.conf
在文件末尾添加
<Location /www> (www为仓库名称)DAV svnSVNPath /svn/project/www (此处配置你的版本库目录)AuthType Basic连接类型设置 基本验证)AuthName “welcome”AuthUserFile /svn/project/www/conf/passwd (此处修改为访问版本库用户的文件,用apache的htpasswd命令增加或删除用户)AuthzSVNAccessFile /svn/project/www/conf/authz (此处修改为访问版本库权限的文件)Require valid-user (”Require valid-user”告诉apache在authfile中所有的用户都可以访问。如果没有它,则只能第一个用户可以访问新建库)</Location>
保存文件退出!
重新启动apache
/usr/local/apache/bin/apachectl –k restart
先使用浏览器检测一下打开浏览器访问http://localhost/www 会提示输入用户名密码等到完成下面步骤就可以进去访问了,进去后如果有东西显示就说明成功。下面就是对svn的用户和权限配置管理
6、配置svn权限管理(即authz.conf的配置)
1 . 添加用户:/usr/local/apache/bin/htpasswd –c /svn/project/www/conf/passwd admin第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加第二次添加用户不需要带 –c 参数 如:/usr/local/apache/bin/htpasswd /svn/project/www/conf/passwd user
2 . 权限分配:
vi /svn/project/www/conf/authz下面是配置完后的内容,user和admin是在上面加好的用户[groups]everyone = user,admingroupA=user,admin[www:/]@groupA = rw@everyone=rw
[groups] /*这个表示群组设置everyone = user,admin /*这个表示everyone群组里的成员 user,admingroupA=user,admin /*这个表示groupA群组里的成员 user,admin
[www:/] /*这表示,仓库www的根目录下的访问权限@groupA = rw /*这表示群groupA的成员都具有读写权限
注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:”Access denied: ‘user1’ “,里面的内容可以根据自己的需要自行添加,不必与我上面所写的相同!
完成上面配置,重启apache/usr/local/apache/bin/apachectl –k restart然后在浏览器中输入http://localhost/www输入用户名密码,此时页面会显示www – Revision 1: /恭喜你,配置成功了
旅行要学会随遇而安,淡然一点,