Chinaunix首页 | 论坛 | 博客
  • 博客访问: 101975030
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-11 15:12:12

作者: Unique  出自:
1.suse 确保架设好APACHE,可以用YAST中的软件管理完成.

验证成功 'it worked'

2.下载svn,[最后复制到/opt/src 便于管理]

subversion-1.4.6.tar.gz
subversion-deps-1.4.6.tar.gz

3.解压到相应目录下

tar -zxvf subversion-1.4.6.tar.gz
tar -zxvf subversion-deps-1.4.6.tar.gz

4.进入subversion-1.4.6解压后的目录

5.运行.configure 建立Makefile文件

./configure --prefix=/opt/svn --with-apxs=/usr/sbin/apxs2

注:参数prefix 是指示,svn 的安装位置

参数with-apxs : apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器.不同版本的apxs可能的位置不同,主要是看http的安装位置.在suse中,apxs2还加上了版本号2,所处的位置在默认的执行文件目录.当不能确定的时候,可以通过find / -name 'apx*' 来搜索确认.如果没找到.可能是没有安装httpd-dev [在suse中是apache-dev].加上这个参数,将会在apache 的安装库中产生二个svn相关的文件

mod_dav_svn.so
mod_authz.svn.so

这二个文件也是svn 能过HTTP访问的关键

6. 修改./nero/src/Makefile,将CFLAGS = -g -O2 改成 CFLAGS = -fPIC -g -O2

没有这一步的话,make时报错:/usr/bin/ld: /*/*/subversion-1.4.*/neon/src/.libs/libneon.a(ne_request.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
/*/subversion-1.4.4/neon/src/.libs/libneon.a: could not read symbols: Bad value

*代表不同安装情况下的目录

7.运行make,make install

8.检查 1. /opt/svn 是否安装.

2.检查/usr/lib64/apache2 目录下是否产生那二个必要的so文件.不同的linux根据http安装的目录可能有不同

9.恭喜基本成功

10. 在/opt 目录下新建一文件夹 mkdir svndata 用来当svn 服务器的仓库,版本库都放在这下面

11. 创建svn 用户,假设用户文件也放成SVN安装目录/opt/svn下.取名叫passwd

第一次: htpasswd2 -c /opt/svn/passwd robin

创建了一个叫robin的用户,会提示输入密码

第二次.以后增加用户只要在上一条命令中少输入参数-c .提示此用户文件已存在,不用再创建

12. 修改httpd.conf文件,以让apache 带动svn 一起工作


DAV svn
SVNParentPath /opt/svndata '指示各版本库的父路径,也即是版本库都放在此目录下
AuthType Basic
AuthName 'ethink svn' '随便取个名字
AuthUserFile /opt/svn/passwd 'svn 用户登录文件
Require valid-user ' 要求登录SVN需要验证


13.apache2ctl restart 重启suse服务器. 其它版本命令可能不一样

14./svn 出现'ethink svn'的输入用户名才能登录的框.这个名字就是上面'authname'中

指定的名字.

输入robin,可以正常登录进去[我这里只创建了robin用户].显示'Access forbidden!'等信息的一个提示权限错误的页面

这个非常正常.svndata 目录下面没有任何版本库.

15.在svndata 目录下创建版本库

1.用svn提供的命令

#/opt/svn/bin/svnadmin create /opt/svndata/firtsproject/ *创建仓库"firstproject"
#ls /opt/svndata/firstproject/* 查看有没有创建好,如果多了一些文件则说明版本库已经创建好

2.我倾向于把/opt/svndata 共享出去.在远程,通过小海鬼在此目录下新建项目版本文件夹,然后右击此文件夹来创建版本库

16.现在可以通过/svn/firstproject 来查看这第一个版本库了.显示'Revision 0: /'

客户端用Tortoise SVN(我叫他小海鬼).

还可以用svn 结合bugfree来一起进行用户验证.都是很好的开源,便于团队协作

大功告成.
阅读(220) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~