linux (redhat9)下subversion 的安装推荐

搞了一个subversion 花费了我两天的时间,其间虽然有干其他的事情,但是来来回回的装,搞的我是一点脾气都没有了,俗话说不经历风雨真的见不到彩虹。就是这个意思. 原本本的下来

一.准备好安装包

打算使用apache来浏览subversion ,并且apache2 支持subversion 所以下载了httpd-2.2.17.tar.gz.

还需要两个包,一个是apr-1.3.8.tar.gz, 和一个apr-util-1.3.9.tar.gz ,而0.9 的版本的不支持apache2 所以请注意.

subversion 找一个最新的就可以.subverion-1.5.6.tar.gz.

subversion-deps-1.5.6.tar.bz2

好了文件准备好了,在做什么事之间 先要准备文件,把相关的资料多找一下,不必出了错还要找很多的东西,浪费不少时间.

二.安装步骤:1: 安装apache:

tar -xzvf httpd.httpd-2.2.17.tar.gz.

cd httpd-2.2.9

./configure –prefix=/usr/local/apache –enable-so –enable-dav:命令so模块是用来提DSO支持的apache核心模块,这里设置启动 设置的安装目录 和参数

make

make install

进入/usr/local/apache/bin/apachectl start 就启动了. : 在这里注意默认的端口是80 ,如果被占用的话,修改

../conf/httpd.conf , 文件中Listen 192.168.0.55:81 修改一下就可以了 可以用netstat -an |grep 80 来查看一下是否起来了

2.安装apr,以及apr-util

先安装apr.

./configure

make

make install

接着安装apr-util

./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr/ –with-berkeley-db=/usr/local/bdb(没有可以不用)

(这步要把berkeley数据库一起编译进去,否则berkeley就白装了) makemake

make install

3.安装subversion

解压 subverion-1.5.6.tar.gz. 和 subversion-deps-1.5.6.tar.bz2 ,直接解压就可以到一个目录了就

进入subversion -1.5.6 之后发现仍然有 apr 和 apr-util .

可是 先前已经安装了所以把该目录下的 apr 和apr-util 删除就可以了。

然后运行:

第一:./configure –prefix=/usr/local/subversion –with-apxs=/usr/local/apache/bin/apxs

-with-apr=/usr/local/apr/bin/apr-1-config

–with-apr-util=/usr/local/apr-util/bin/apu-1-config—————-

## apr-util=/usr/local/apr-util/bin/apu-1-config //这个的路径自己看具体的文件后定第二: make————–第三:make install—————

其中在make 这一步会出错,出现编译ssl 的错误.原因是

這是因為 Red Hat Linux 9.0 的 krb5-devel 套件把 kerberos 的 include file 放到了 /usr/kerberos/include 裡面,而不是一般位置的 /usr /include 這個目錄。而 openssl 支援 kerberos,因此在 compile 使用到 openssl 的程式就很容易發生找不到 kerberos 的 include file 的錯誤。

而解決的辦法相當簡單,首先當然要確定 krb5-devel 以及 krb5-libs 等套件確實有安裝在系統上,而不是根本沒安裝;接下來,建立以下的 symbolic links:

这是redhat 9.0 的原因,所以做以下的link 就可以了.ln -s /usr/kerberos/include/com_err.h /usr/include/ln -s /usr/kerberos/include/profile.h /usr/include/ln -s /usr/kerberos/include/krb5.h /usr/include/

三、配置subversion

在装subversion 之前最好把apache 启动 起来了,然后就可以把模块加入httpd.conf 中去了。然后在

/usr/local/subversion/bin/svnserve -d 下 把 svn 启动起来

默认端口是3690 ,用service iptables stop 来 关掉firewall

第一:创建repository

/usr/local/subversion/bin/svnadmin /home/talend/svn/www 其中svn 目录 必须存在,首先create 一个

尤其创建apache 可以默认加载一个apache 的用户和组.

所以在httpd.conf 里把 user daemon group daemon 其中的daemon 改成apache,这样apache 用户具有了访问apache 的权限。

chown -R apache:apache /home/talend/svn 这样repository 就有只能由 apache 用户来 访问,增加了安全性.

第二:配置apache 支持svn

5、配置apache支持svn

vi /usr/local/apache/conf/httpd.conf (编辑httpd.conf文件)

在文件末尾添加

Location /svn DAV svnSVNParentPath /svn/project (此处配置你的版本库根目录)AuthType Basic (连接类型设置 基本验证)AuthName Hello welcome to here (此处字符串内容修改为提示对话框标题)AuthUserFile /home/talend/svn/passwd (访问版本库用户的文件,用apache 的htpasswd命令生成)AuthzSVNAccessFile /home/talend/svn/auth.conf (此处修改为访问版本库权限的文件)Require valid-user ( Require valid-user 告诉apache在authfile中所有的用户都可以访问) /Location 保存文件退出!

其中

/usr/local/apache/bin /htpasswd -c /home/talend/svn/passwd zsun ; zsun 是自己输入的

然后会提示输密码,生成一个密码文件

直接vi 一个auth.conf 在上边的目录下

/*[groups]Admin= user1,user2(这个表示admin群组里的成员 user1,user2);

Develop=u1, u2 (这个表示Develop群组里的成员 u1,u2)

[www:/] (这表示,仓库www的根目录下的访问权限)user1 = rw (www仓库user1用户具有读和写权限)user2 = r ( www仓库userl用户具只有读权限)@develop=rw (这表示 群 develop的成员都具有读写权限)

[/] (这个表示在所有仓库的根目录下)* = r (这个表示对所有的用户都具有读权限)

*/

我自己的写成这样

[groups]Admin=zsun[www:/]zsun=rw[/]*=r注意:在编辑authz.conf文件时,所有行都必须要顶头写,否则会报错.

然后重新启动subversion 和 apache

http://localhost/svn/www/ 输入用户名和密码就可以logon 进去了。。

欢喜一大场.祝愿各位也能成功.有啥问题可以留言.

系统默认的apache 缺少dav 模块..

每一天都不可追回,所以更要珍惜每一寸光阴,

linux (redhat9)下subversion 的安装推荐

相关文章:

你感兴趣的文章:

标签云: