centos6.6安装SVN服务器(2015/3/7)

一、安装
#yum install subversion
  判断是否安装成功
  [root@]# svnserve --version
有了SVN软件后还需要建立SVN库。
#mkdir /opt/svn/repos
#svnadmin create /opt/svn/repos

 二、配置
 进入上面生成的文件夹conf下,进行配置,   有以下几个文件authz, passwd, svnserve.conf      其中authz 是权限控制,可以设置哪些用户可以访问哪些目录,   passwd是设置用户和密码的,    svnserve是设置svn相关的操作。

对用户配置文件的修改是立即生效的,不必重启svn。

解决老是论证错误的问题:把svnserve.conf里的authz-db = authz注掉试下,我是这样解决的。   

2.1先设置passwd     

[users]  # harry = harryssecret  # sally = sallyssecret  hello=123 用户名=密码
这样我们就建立了hello用户, 123密码  
 
2.2 再设置权限authz
hello= rw
意思是hello用户对所有的目录有读写权限,当然也可以限定。 如果是自己用,就直接是读写

2.3最后设定snvserv.conf

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = password

authz-db = authz   # 访问控制文件

realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。

采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

 3、连接
启动svn
svnserve --/opt/svn/repos --listen-port 3690
这样同一台服务器可以运行多个svnserver
如需开机自动启动编辑 /etc/rc.d/rc.local文件,在最后加上启动命令就可以了。


好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://your server address 
连接后可以上传本地的文件,有效的管理你的代码。

4、初始化版本库
传入初始文档。 
svn import /home/ttt file:///opt/svn/repos/lbypmall --message "inital lbypmall source" 
svn list --verbose file:///opt/svn/repos/lbypmall //查看导入的文件 

5、配置hooks    /opt/svn/rpos/hooks/post-commit

#!/bin/sh

REPOS="$1"
REV="$2"
WEB=/home/upload
LOG=/opt/svn/logs/log
export LANG=zh_CN.UTF-8
svn update $WEB --username mxh --password 123 --no-auth-cache 
echo `date`,$REPOS,$REV >> $LOG
chmod -R 777 $WEB
 
!wq    
chmod a+x post-commit

以root用户deamon模式并设置 /opt/svn/repos 为根目录启动svn服务 这样只需要修改root用户目录下,修改 .subversion/servers 文件如下两行(即去掉默认前面的注释)

store-passwords = no

store-plaintext-passwords = no

post-commit脚本就能顺利执行了!

 

6、checkout版本库

先把upload 目录改名;

svn co svn://127.0.0.1/lbypmall /home/upload

按照提示操作

==============================================

认证领域: <svn://localhost:3690> /opt/svn/repos/

“root”的密码: 123456

认证领域: <svn://localhost:3690> /opt/svn/repos/

“user01”的密码: 123456

chmod -R 777 /home/upload

 

7、在windows建立工作目录并checkout文档。

上传前先保证update版本后,再commit

查看web文档中的变动日志。

 

 参考博文:Linux下SVN配置hook经验总结 http://rabbit52.com/2012/linux/setting-svn-hooks-in-linux
             CentOS 6.3下Apache+SVN部署Web版本同步http://www.linuxidc.com/Linux/2013-07/86955p2.htm


执行上面的命令后,自动在repos下建立多个文件, 分别是conf, db,format,hooks, locks, README.txt。

 

posted on 2015-03-07 13:39  xihong  阅读(255)  评论(0编辑  收藏  举报

导航