昨晚在实验室一台redhat AS4系统下安装配置svn,过程如下:
1.下载apr和apr-util:http://apr.apache.org/download.cgi
安装:http://space.itpub.net/725190/viewspace-608874
(如果没有apr和apr-util,下面configure的时候会提示“没有有效的apr/apr-util版本”的错误)
2.安装(注意./configure的选项)
按照http://doc.iusesvn.com/show-15-1.html中的说明configure,make,make install,最后设置一下$PATH。
注:
1)如果安装apr和apr-util后仍在configure时出现上面的错误提示,则在./configure时加上选项:--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util,/usr/local/apr和/usr/local/apr-util分别是apr和apr-util的安装位置。
2)对于64位系统,编译可能出现错误:
/usr/lib/libexpat.so: could not read symbols: File in wrong format
在编译 apr-util 和 subversion 都碰到过同样的问题,解决的办法是打开 Makefile 找到 -lexpat 这么一个参数,修改为: /usr/lib64/libexpat.la 即可。
其他64位版本的linux如果出现同样问题也可以参考此方法
3.配置
按照http://doc.iusesvn.com/show-15-1.html中的说明,大致步骤如下:
1)建立版本库:svnadmin create /opt/svndata/xxx
2)配置版本库文件:/opt/svndata/xxx/conf/svnserve.conf(指定版本库名,以及另两个配置文件pwd.conf,authz.conf位置)
3)配置用户文件和权限文件
4)建立一个专用于启动svn的用户,设置用户名密码,给予访问opt/svndata和opt/data的权限
5)su - svn -c "svnserve -d --listen-port 3690 -r /opt/svndata"
注:链接中给出的是端口是9999,但我后面试验checkout不成功。
4.本地客户端访问
例:已在/opt/svndata目录下建立新目录new,在new下按照上面的步骤建立版本库proj1
客户端checkout命令:svn checkout svn://localhost/new/proj1
注:
1)客户端提交更改时,需要配置环境变量$SVN_EDITOR,将其设置为一个文本编辑器,如/usr/bin/nano。否则需用-m选项后添加更新日志。
2)如果提交更改时提交版本库只读,提交失败,很可能是权限配置文件authz.conf或svnserve.conf中的设置有误。如果设置正确,第一次checkout时会先后提示输入用户密码、版本库用户名和密码。