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来一起进行用户验证.都是很好的开源,便于团队协作
大功告成. | |