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

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章