转载自: 幽谷狼主 http://blog.csdn.net/millery22/article/details/51218491
linux下搭建svn服务器会存在很多问题,博主在安装的过程就出现了好多问题,花了很多时间查询资料,最终才搞定的,特在此分享给大家,希望对各位博友有用。
预备部分:检查自己的linux系统中是否已经默认安装了svn
rpm -qa | grepsvnserve
如果有卸载
rpm -e --nodeps ****(输入上个命令获取的安装包名称)
第一步:下载subversion-1.8.15.tar.gz,在我写这个博文的时候官网上最新的是1.9.3,大家可以根据需要自行下载。
下载地址:http://subversion.apache.org/download.cgi#recommended-release。
在这个下载页面可以看着下图这句话,这句话的说明看图:
从图上的说明就知道,这里就不需要下载依赖了,之前在网上看老版本的安装都是需要下载依赖的。
第二步:解压安装,这里会出现一系列问题,当时被坑了好长时间
tar -xvf subversion-1.8.15.tar.gz
cd subversion-1.8.15
执行./configure--prefix=/opt/subversion进行配置设定并指明安装目录
此时会出现第一个问题,看图:
apr找不到,此时就要安装apr了,看我apr和aprutil的安装博客。
博客地址:apr和apr-util的安装详细步骤
好了这个问题解决了,再重新执行./configure --prefix=/opt/subversion。
此时会出现第二个问题,看图:
apr是可以找到了,但是aprutil找不到,但是在上个问题解决的过程中已经安装了,这个时候我也很郁闷,找度娘问了很长时间才得到正确的答案,那就是在执行命令的时候要添加指明aprutil的安装目录,此时执行的命令变成下面这样。
./configure --prefix=/opt/subversion--with-aprutil=/opt/aprutil
这次就可以正确的执行了。
第三步:make &make install命令安装
首先执行make命令,此时会出现第三个问题,看图:
sqlite没有,需要下载,到这我就郁闷了,真心不容易,后面还有让人崩溃的,先解决这个问题。
复制上图给的地址,下载对应的文件,将文件中的sqlite3.c保留,其他都删除,上传到subversion-1.8.15目录下的sqlite-amalgamation文件夹下(如果该文件不存在,创建之),这下就解决了第三个问题。
在执行make install,在这里就没有出现什么问题,老天啊终于给点力了。
第四步:测试安装是否成功
测试命令:
/opt/subversion/bin/svnserve--version
此时如果打印出svn版本信息,恭喜你安装成功了。
注:这里可以采用配置环境变量的方式,就不要写完整路径了,直接使用svnserve,我的电脑一直没有成功,不知道什么地方配置有误,想探索的博友可以尝试。
第五步:创建库的目录
创建目录:
mkdir -p/opt/svn/test
将上面的目录创建成库的路径
/opt/subversion/bin/svnadmin/opt/svn/test
第六步:修改配置文件
上一步完成后,test目录下回生成多个文件和目录,此时进入conf目录
修改svnserve.conf中的下面属性
# anon-access = read //将read改为none
# auth-access = write
# password-db = passwd
# authz-db = authz
将这几个参数前的#和空格都去掉,这里该文件就配置完了。
修改passwd配置文件,配置用户
[users]
test=123456
修改authz权限配置文件,rw表示读写权限
[groups]
[/]
test=rw
第七步:上面的配置文件就都完成了,接下来启动svn服务
/opt/subversion/bin/svnserve-d -r /opt/svn/
上面的命令启动后,检测一下是否启动成功
ps -ef | grep svn
这样就启动成功了。
第八步:远程连接测试
这里远程连接记得svnserve的默认监听端口是3690,需要将linux系统的该端口开通,如果暴力一点就直接关闭防火墙,下面提供两种方式,博友们根据自己情况自己选吧。
开端口:
/sbin/iptables -I INPUT -p tcp --dport 3690-j ACCEPT
/etc/rc.d/init.d/iptables save
关闭防火墙:
service iptables stop
远程连接:使用TortoiseSVN客户端尝试连接,这个过程很简单,如果在连接的时候出现Authorization failed错误,表示认证错误,注意常看自己的认证文件(authz)。
到此简单的搭建过程就完成了,以后的博客还会提供http和https的方式连接svn服务器。
转载自: 幽谷狼主 http://blog.csdn.net/millery22/article/details/51218491