linux 安装SVN:subversion及实现web同步更新

1.查看是否安装cvs 
rpm -qa | grep subversion


2.安装 
yum install subversion

 

配置:

二、配置
1、新建一个目录:repos 可用于存储SVN所有文件
mkdir -p /opt/svndata/repos
注意,这里的目录(项目名称)路径可以更改,格式如下:
mkdir -p 目录路径(如:mkdir -p /www/svn/project)


2、新建一个版本仓库(使用svnadmin create 目录仓库路径与上面新建的目录要一致)
svnadmin create /opt/svndata/repos


3、修改svn版本库的配置文件
vi /opt/svndata/repos/conf/svnserve.conf


按以下格式内容修改,其中realm的值为项目名称,本例中即为repos。

注意:password-db,authz-db打开#就可以了,不需要添加仓库路径
[general]
anon-access = none
auth-access = write
password-db =passwd
authz-db =  authz
realm = repos
注意:对用户配置文件的修改立即生效,不必重启svn


4、添加用户
vi /opt/svndata/repos/conf/passwd
要添加SVN用户非常简单,只需在/opt/svn/project/conf/passwd文件添加一个形如“username=password”的条目就可以了。
为了测试,我添加了如下内容:
[users]
user1 = user123321

user2 = user123321


5、修改用户访问策略
vi /opt/svndata/repos/conf/authz
记录用户的访问策略,以下是参考:

其他都不用管添加一个下面路径即可

[groups]

admin = user1,user2


[/]
@admin = rw

*=
关于权限的控制,本文不详情叙述,大家可以去咨询度娘。

5、启动svn服务(如果有多个SVN管理可以修改端口号来实现)
svnserve -d --listen-port 3690 -r /opt/svndata/repos (以root用户在运行)

 

6、测试svn服务器

这一步必须要做,否则下面钩子会不起作用
进入网站根目录
1. cd /www/web/repos/public_html(你web所在目录)
2. svn co svn://127.0.0.1:3690 /www/web/repos/public_html --username pm --password pm_pw

3.提示输入root和user密码注意看

4.提示yes/no ,输入yes回车

 

7.配置post-commit

cd /opt/svndata/repos/hooks

cp post-commit.tmpl post-commit
chown www:www post-commit
chmod +x post-commit

可以看到有一个post-commit.tmpl文件,这是一个模板文件,复制一份放在此目录下,命名为post-commit,并将其用户组设为www,并设置为可执行

这样就有了访问www目录的权限。
里面原有的代码全部注释掉.这里可以执行shell命令,每次commit完成后都会调用此文件.

 

8.编辑post-commit

vi post-commit

把里面的内容全部注释掉或者删掉

加入下面代码,并且修改

#!/bin/sh
export LANG="zh_CN.UTF-8"
echo "\n\n\n##########submit" `date "+%Y-%m-%d %H:%M:%S"` '##################' >> /tmp/svn_update.log
svn export --username user1 --password user123321 svn://127.0.0.1:3690 /www/web/repos/public_html --force
chown -R www:www /www/web/repos/public_html

export LANG="zh_CN.UTF-8"
echo "\n\n\n##########submit" `date "+%Y-%m-%d %H:%M:%S"` '##################' >> /tmp/svn_update.log
svn export --username user2 --password user123321 svn://127.0.0.1:3690 /www/web/repos/public_html --force
chown -R www:www /www/web/repos/public_html

保存:wq,退出vim,去客户端上传和使用的svn吧!

 

posted @ 2014-10-22 18:49  feimengv  阅读(164)  评论(0编辑  收藏  举报