prettyice 2008-05-10
1.SUSE Linux确保架设好APACHE,可以用YAST中的软件管理完成.
http://localhost 验证成功 '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 .提示此用户文件已存在,不用再创建
pub_svnserve.conf的 pub_authz.conf的配置文件有非法字符的原因引起,需要查找pub_authz.conf提的非法内容比如多余的空格删除或直接将pub_authz.conf