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就白装了) make
 make 

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 �e面,而不是一般位置的 /usr /include �@��目�。而 openssl 支援 kerberos,因此在 compile 使用到 openssl 的程式就很容易�l生找不到 kerberos 的 include file 的�e�`。

而解�Q的�k法相����危�首先��然要�_定 krb5-devel 以及 krb5-libs 等套件�_��有安�b在系�y上,而不是根本�]安�b;接下�恚�建立以下的 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 svn
SVNParentPath /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,职场,subversion,休闲,linux系统)