在linux中安装SVN成功,但是使用命令时报错,求linux高手来解决。

在linux中安装SVN成功,但是使用命令时报错,求linux高手来解决。,第1张

从提示看来,是说你svn可执行程序在启动时需要动态库 libsvn_fs_base。。。但是系统中缺少。。

解决办法,很简单,安装这个库 libsvn_fs_base

我的系统是centos ,

[root@centos ~]# rpm -qf /usr/lib64/libsvn_fs_base-1so000

subversion-1611-7el6x86_64

这个库属于 subversion 包,也就是安装svn 时自动安装的。

不知道,你用的什么版本,如果是ubuntu,可以apt-cache search libsvn 搜索下,看看有什么匹配的包

1环境

centos64

2安装svn

代码如下:

yum -y install subversion

3配置

建立版本库目录

代码如下:

mkdir /www/svndata

svnserve -d -r /www/svndata

4建立版本库

创建一个新的Subversion项目

代码如下:

svnadmin create /var/www/svndata/njlrxx

配置允许用户jiqing访问

代码如下:

cd /var/www/svndata/njlrxx/conf

vi svnserveconf

anon-access=none

auth-access=write

password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

代码如下:

vi passwd

[users]

#用户1 = 密码1

#用户2 = 密码2

jiqing=123456

5客户端连接

代码如下:

svn co svn://ip/njlrxx

用户名:jiqing

密码:123456

6实现SVN与WEB同步,可以CO一个出来,也可以直接配在仓库中

(1)设置WEB服务器根目录为/var/www/webroot

(2)checkout一份SVN

代码如下:

svn co svn://localhost/njlrxx /var/www/webroot/njlrxx

修改权限为WEB用户

代码如下:

chown -R apache:apache /var/www/webroot/njlrxx

(3)建立同步脚本

代码如下:

cd /var/www/svndata/njlrxx/hooks/

cp post-committmpl post-commit

编辑post-commit,在文件最后添加以下内容

代码如下:

REPOS="$1"

REV="$2"

BASEPATH=/var/www/webroot/njlrxx

WEBPATH="$BASEPATH/"

export LANG=zh_CNUTF-8

svn update $WEBPATH --username jiqing --password 123456 --no-auth-cache

增加脚本执行权限

代码如下:

chmod +x post-commit

最后操作是关闭服务然再打开服务:

svn服务的关闭:

代码如下:

killall svnserve

svn开启:

代码如下:

svnserve -d -r /var/www/svndata

7如何支持匿名用户访问

方法一:

在svn安装目录下找到,conf/httpdconf文件,如果是手动集成apache的则找到apache的配置文件。

找到中的

代码如下:

Require valid-user

改为

代码如下:

LimitExcept GET PROPFIND OPTIONS REPORT

Require valid-user

/LimitExcept

重启服务,这样设置以后,svn下的所有内容都不在需要验证用户,可以直接访问。

缺点:svn自身的访问权限设置失效了。更多的时候我们希望用户先用匿名方式尝试访问,如果不行,在输入用户名和密码验证访问。

方法二:

在配置文件中加入

代码如下:

Satisfy Any

加入了Satisfy Any的设置,其表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和Require的条件,而Any则是满足其中之一即可。

Satisfy Any表示允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。

PS:SVN自动同步程序执行流程:

1、用户提交文件到SVN服务器,提交操作成功后触发post-commit脚本

2、在post-commit版本文件中使用php_scriptphp执行PHP脚本

3、在PHP脚本中通过exec系统调用更新服务器上的版本库工作副本

4、根据更新操作结果日志,对另一个SVN版本库进行对应的操作处理

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 在linux中安装SVN成功,但是使用命令时报错,求linux高手来解决。

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情