svn的基本配置及安装

1.检查是否已安装
rpm -qa subversion
如果要卸载旧版本:
yum remove subversion

2.安装

yum install subversion

3.检查是否安装成功
svnserve --version
如果成功会输出版本号


4. 修改环境变量

vi/etc/profile 

 

 

文件末尾加入:

 

PATH=$PATH:/share/apps/svn/bin 

export PATH 

 

使环境变量生效

 

Source/etc/profile



6.创建仓库目录
例如:

mkdir /share/apps/svn/test

7.创建项目
svnadmin create /share/apps/svn/test

8.检查是否创建成功
cd share/apps/svn/test
ll
创建版本库(注意:如果这里不写--pre-1.6-compatible,更新svn的时候会报post commit FS processing had error: Couldn’t open rep-cache database)  PS:这个方法是从别的帖子看来,可以解决问题但并不懂具体原因


8. 配置版本库信息

 

项目配置:

 

vim svnserve.conf 

 

 

修改:去掉注释符

 

anon-access = none 

 

auth-access = write 

 

password-db = passwd 

 

authzauthz-db = authz 

 

realm = test

 

这里要注意:每一行的都要你顶头,不能有空格,不然会报错

 

 

定义版本库访问权限:

 

# vim authz 

 

添加: (svnuser为svn用户名,这里可以用用户组设置权限r:read w:wirte)

 

[/] 

svnuser = rw 

 


设定用户密码:


vim passwd 

 

添加(用户名=密码):

 

svnuser = 123456 

 


8.开放svn端口
默认是3690端口,你也可以用别的。已开启的跳过这一步
修改
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
保存
/etc/rc.d/init.d/iptables save
重启
service iptables restart
查看
/etc/init.d/iptables status
.

9.启动SVN服务

svnserve -d -r /home/svn
-d:守护进程
-r:svn根目录
假设服务端IP为192.168.1.100,那么如下设置后game的访问目录就为:
svn://192.168.1.100/game


ps:error while loading shared libraries的解決方法


./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory
出现这类错误表示,系统不知道xxx.so放在哪个目录下,这时候就要在/etc/ld.so.conf中加入xxx.so所在的目录。

一般而言,有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。

所以,在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。



设置SVN服务器强制填写10个字符以上的日志


Linux SVN Server 
SVN Server在每个仓库中的hooks里都有个pre-commit.tmpl文件,cp这个文件并改名为pre-commit并添加可执行权限:chmod +x pre-commit。pre-commit文件内容如下:

REPOS=”$1″ 
TXN=”$2″

# Make sure that the log message contains some text. 
SVNLOOK=/usr/bin/svnlook 
LOGMSG=`$SVNLOOK log -t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc -c`

if [ "$LOGMSG" -lt 10 ]; then 
echo -e “Please provide a meaningful comment when committing changes.” 1>&2 
exit 1 
fi

# All checks passed, so allow the commit. 
exit 0


配置使用HTTP的方式访问SVN


1.yum install httpd

2.yum install  yum mod_dav_svn

  1. vim /etc/httpd/conf.d/subversion.conf
  2. LoadModule dav_svn_module modules/mod_dav_svn.so
  3. LoadModule authz_svn_module modules/mod_authz_svn.so
  4. <Location />
  5. DAV svn
  6. SVNParentPath /svn #根目录
  7. AuthType Basic
  8. AuthName "Authorization test"
  9. AuthzSVNAccessFile share/apps/svn/authz #验证的权限文件目录
  10. AuthUserFile share/apps/svn/passwd #密码文件,这个使用htpasswd方式新建的密文文件
  11. Require valid-user
  12. </Location>



    查看权限配置文件的格式是否正确


在本地服务器上安装svn客户端TortoiseSVN  上传几个测试版本


svn迁移步骤如下:
1.将原来的Repository导出为一个文件
svnadmin dump /svnroot/repos > repos
这里说明下/svnroot/repos是我svn库存放的地址.
2.使用scp把repos传输到要新服务器上
scp repos root@ip:路径
3.在新服务器上配置相同svn环境,如
svnadmin create /svnroot/repos
4.将repos导入新库中
svnadmin load /svnroot/repos < /root/repos
5.将原服务器的配置文件复制到新服务器,如authz,passwd,svnserve.conf
6.启动新svn
svnserve -d --listen-port 3690 /svnroot/repos


posted @ 2016-11-04 18:02  fool鱼  阅读(1031)  评论(0编辑  收藏  举报