linux下的svn搭建

来源:互联网 发布:网络鸡腿是什么意思 编辑:程序博客网 时间:2024/06/01 08:38

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服务器。
原创粉丝点击