注意:subversion,和apache的版本要对应起来,不然架设不起来。
安装需要的软件包:
Apr :APR-1.2.12和APR-util-1.2.12
Apache :httpd-2.2.6.tar.gz
Subversion:subversion-1.4.5.tar.gz subversion-deps-1.4.5.tar.gz
1、安装APR-1.2.12和APR-util-1.2.12
1) # tar zxvf apr-1.2.12.tar.gz
# cd apr-1.2.12
# ./configure
Make;make install
2) # tar zxvf apr-util-1.2.12.tar.gz
# cd apr-util-1.2.12
# . /configure --with-apr=/usr/local/apr
# make;make install
2、安装apache 2.2.6
1)解包 httpd-2.2.6.tar.gz
# tar xzvf httpd-2.2.6.tar.gz
2) 生成配置文件
# ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so --enable-maintainer-mode --enable-rewrite --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
3)生成make文件,并安装
# make
# make install
4)编辑配置文件httpd.conf
# vi /usr/local/apache2/conf/httpd.conf
(没修改)
保存退出
5)启动Apache服务:
# /usr/local/apache2/bin/apachectl start
6)浏览网站:
用浏览器查看http://localhost/,得到it works,说明apache已经配置成功了。
7)停止Apache服务:
# /usr/local/apache2/bin/apachectl stop
8)设置启动系统后,自启动Apache服务
编辑etc/rc.d/rc.local
# vi /etc/rc.d/rc.local
在最后加上一句: /usr/local/apache2/bin/apachectl start
3、安装subversion
1)解包
# tar xvzf subversion-1.4.5.tar.gz
# tar xvzf subversion-deps-1.4.5.tar.gz
2)转入解包目录并生成配置文件
# cd subversion-1.4.5
SVN 依赖的APR版本要正确。如果Apache为2.0.x,对应的APR版本应为0.9.x;Apache为2.2.x,对应的APR版本应为1.2.x。 由于subversion-deps包里的APR是0.9.x的,因此编译svn时要删除从deps里解压出来的apr, apr-util,改而使用apache 2.2里提供的。(这里指定为开始安装的apr目录)
如果apache不是安装在默认路径,configure必須加上--with-apxs选项,如:./configure --with-apxs=/usr/local/apache2/bin/apxs(此目录为我的apache安装目录)
# rm -rf apr
# rm -rf apr-util
#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apr/apr-1-config --with-apr-util=/usr/local/apr/apu-1-config --with-ssl --with-zlib --enable-maintainer-mode
3)编译安装
# make
# make install
4)查看subversion两个动态库有没有安装成功
# vi /usr/local/apache2/conf/httpd.conf
看到下面两个模块说明安装成功
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
5 )配置apache 支持svn
# vi / usr/local/apache2/conf/httpd.conf
在文件末尾加上
例子:
<Location /svn>(svn为通过地址访问subversion的根目录名,以svn为例:http://xxx.xxx.xxx.xxx/svn/具体库名)
DAV svn
SVNParentPath /subversion/project (此处配置你的版本库根目录,project不是上面提到的具体库名)
AuthType Basic
AuthName "Subversion repository" (此处字符串内容修改为提示对话框标题)
AuthUserFile /subversion/passwd (此处修改为访问版本库用户的文件,用apache 的 htpasswd命令生成)
AuthzSVNAccessFile /subversion/auth (此处修改为访问版本库权限的文件)
Require valid-user
</Location>
6 )建立版本库
先创建版本根目录
# mkdir -p /subversion/project/test
/usr/local/subversion/bin/svnadmin create /subversion/project/test
更改版本库权限,这样通过apache服务访问svn的客户就有权限来编辑版本库文件
chown –R apache:apache /subversion/project/test
进入到版本库 test中执行ls
# cd /subversion/project/test
# ls 后看到以下文件夹及文件,则表示建库成功
conf dav db format hooks locks README.txt
7 ) 建立访问库用户文件
# /usr/local/apache2/bin/htpasswd –cm /subversion/passwd yuzone(第一次添加用户需先创建文件,所以有参数-c,以后添加用户可以不用添加参数;linux是大小写敏感的,一定要注意)
按照提示输入密码
8 )建立访问库权限文件
# vi /subversion/auth
内容按照以下格式
[groups](此语句块是为了将用户分组,为后面权限分配提供方便,这里分了两组)
Tester=test,yuzone
Developer=yuzone