apache+svn安装过程,亲测

1.官网下载所需的文件,我在此使用的版本如下:

Httpd-2.2.22.tar.gz subversion-1.6.12.tar.gz subversion-deps-1.6.12

2.安装apache

1)将文件解压到/usr/local下,然后执行#./configure –prefix=/usr/local/apache enable-dav –enable-so&& make && make install

2)启动apache,#/usr/local/apache/bin/apachectl start,在浏览器中输入http://localhost,可以看到欢迎页面,说明安装成功。

3.安装svn

1)分别解压subversion-1.6.12.tar.gz , subversion-deps-1.6.12到/usr/local下,解压后的文件会自动合并为一个文件夹subversion-1.6.12

2)删除从deps里解压出来的apr, apr-util.执行#rm –rf apr #rm–rf apr-util.原因如下: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里提供的。(网上摘录)

3)接着编译安装svn。#./configure –prefix=/usr/local/subversion –with-apxs=/usr/local/apache/bin/apxs–with-apr=/usr/local/apache/bin/apr-1-config –with-apr-util=/usr/local/apache/bin/apu-1-config&& make &&make install

安装的时候会遇到这个问题:


我使用的是ubuntu,是因为缺少两个包:libssl-dev和libxml2-dev。直接用apt-get install安装,不会报这样的错误了。

然后再次编译,又会遇到一个错误:

可以看到是因为缺少expat包,网上有解决方法是安装expat-1.95.8-8.2.1.i386.rpm和expat-devel-1.95.8-8.2.1.i386.rpm这两个包。

因为我用ubuntu,所以直接apt-get install libexpat-dev来搞定。

4) 最后执行#/usr/local/subversion/bin/svnserve - -version,看到有版本信息输出,说明svn安装成功了。

4.配置svn

1) 首先创建数据仓库test:

#mkdir/svn/repository

#/usr/local/subversion/bin/svnadmincreate /svn/repository/test

可以看到目录下多了test,test里面会有一些文件。

2) 然后添加用户:

# /usr/local/apache/bin/htpasswd –cmb /svn/repository/authfilelvxiaobao lvxiaobao

可以看到在repository下生成了名为authfiled 的文件,里面保存的是用户名和密码

其中参数c的意思是创建文件的意思,如果是第一次添加用户就要用到c,如果是继续添加,就不要c了。

3) 然后是配置svn用户的权限

可以找到在数据仓库test下有个名为conf的文件夹,编辑下面的authz,

添加

[test:/]

Lvxiaobao=rw

5.配置apache

1)配置httpd.conf。#vim /usr/local/apache/conf/httpd.conf

首先看一下里面有没有这两行:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

这是在上一步编译的时候生成的,我这里没问题,顺利进行。

然后找到

Userdaemon
Group daemon
把上述内容改成:
User apache
Group apach

(我的系统在安装apache的时候未自动添加这个组和用户,所以需自己添加一下)

然后继续,在文件末尾添加:


可以看到注释掉两行,这两行在网上的其他一些教程中有,但是我使用的时候总是在验证的时候有问题,后来看了亮哥的配置,按照他的这么写了,用SVNPath代替掉SVNParentPath,然后就能自动寻找到authz,不必配置了。

最后,要修改数据仓库的所有者为apache:#chown –R apache:apache /svn/repository

6.最后重启apache服务和svn服务,在客户端就可以用http://ip/test来访问到svn了。

查看svn服务是否启动:ps -ef|grep svnserve

启动svn服务:/usr/local/subversion/bin/svnserve -r /svn/repository-d


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值