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吧!