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= 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 -d -r /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
echo `date`,$REPOS,$REV >> $LOG
chmod -R 777 $WEB
以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。