系统:
Centos6.4 , Apache/2.2.15 and Subversion version 1.6.11
Windows7 and TortoiseSVN 1.7.13
前提条件
http://blog.csdn.net/xiongdi9456/article/details/9078939接着上次的svn配置继续完成,
(1)Checkout
1 . # mkdir /var/www/html/helpdesk
2. # cd /var/www/html
3. # chown -R apache:apache helpdesk
4.必须使用apache的所属用户和组来执行checkout,
首先,我得明确apache用户和组是哪个用户. 信息都在httpd.conf文件里 .在 CentOS这个系统,账户名字就是apache
第二部,su apache.
这一步可能会有问题“This account is currently not available”,没有的跳过
这个解决方法是
①查看apache账户的信息#cat /etc/passwd | grep apache。 发现属性的结尾部分是这样的 “/sbin /nologin”
②把这部分编辑成“/bin/bash”.命令 #vi /etc/passwd 。保存退出
第三部,重启apache。 #service httpd restart.
5.切换apache用户 #su apache
6.进行checkout操作。 bash-4.1$ svn checkout http://yourIP/svn/helpdesk/trunk/ /var/www/html/helpdesk/
7.提示你输入apache密码,空 .直接Enter
8.输入前面配置好的username and password
9. 输入两次 "yes"
OK.checkout结束
(2) 测试一下你的checkout的内容能不能更新
bash-4.1$ svn update /var/www/html/test/trunk --username name --password pass,Enter
如果出现 At revision 12.这种svn的版本号,可以正常更新
(3).post-commit
1.回到root用户
2.#cp post-commit.tmpl post-commit
3.编辑post-commit file
#!/bin/sh
REPOS="$1"
REV="$2"
SVN=/usr/bin/svn
WEB=/var/www/html/helpdesk
LOG_PATH=/tmp/svn_update.log
echo "\n\n\n##########COMMIT " `date "+%Y-%m-%d %H:%M:%S"` '##################' >> $LOG_PATH
echo `whoami`,$REPOS,$REV >> $LOG_PATH
"$SVN" update --username name --password pass "$WEB" --no-auth-cache >> "$LOG_PATH"
chown -R apache:apache "$WEB"
保存并退出
4.#chown apache:apache post-commit
5.给post-commit权限 #chmod 777 post-commit
6.#service httpd restart
(4)windows7
安装 TortoiseSVN 1.7.13 并且 checkout http://yourIP/svn/helpdesk/trunk/
其实我在第一篇文章结束测试时就已经配置好了Windows的这部分。
Windows部分更新图,Hello.txt的内容是:
Hello World!!!
I feel good!
Windows的chrome浏览器查看
再看服务器
再看log文件
文件内容一致,完成了更新
Over.