centos上 安装配置svnserve 服务器与同步到web网站目录
一、系统
centos7 x64位
二、svnserve版本
1.7.14
三、检测是否已经安装svn
# svnserve --version
如出现版本信息则表示安装过
四、如果没有安装则使用命令安装
yum install subversion -y
五、检查是否安装成功
#svnserve --version
#ps -ef|grep svn
如出现下图所示则安装成功:
六、创建版本库
1、创建版本库路径:
# mkdir -p /home/svn/test
2、创建一个空的版本库:
#svnadmin create /home/svn/test
七、配置svn内容
1、创建完新的版本库之后会有这个几个文件生成
conf、 db 、format 、hooks、 locks 、README.txt
其中:
conf: --配置文件
db: --存储数据
hooks: --脚本程序,SVN提交上来的文件检验等操作
2、进到conf文件 然后修改svnserve.conf 配置文件
vi svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = test //库路径
然后保存。
3、进到conf文件 然后修改authz 配置文件
在末尾添加
[/]
test=rw
其中:
【代码的意思是:为 svntest 项目添加一个test的用户,并且,这个用户授予读写的权限。】
关于方框号里面的写法有以下几种:
[/]表示根目录及以下,根目录是svnserve启动时指定的,我指定为/home/svn
[/]就是表示对全部版本库设置权限
[test:/] 表示对版本库svntest设置权限
[test:/demo] 表示对版本库svntest中的demo项目设置权限
[test:/demo/test] 表示对版本库svntest中的demo项目的test目录设置权限
4、进到conf文件 然后修改passwd 配置文件
指定用户密码:在最后一行添加
test=123456
保存退出
八、启动svn服务并且测试
1、启动服务
#svnserve -d -r /home/svn/ // 因为我们后期需要进行svn项目的管理 所以启动的路径为当前svn 目录
2、查看服务是否正常启动
#ps -ef|grep svn
如图所示:
九、关联web 网站目录
1、进到库版本目录:
#cd /home/svn/test/ hooks
2、新建一个文件名为: post-commit
#touch post-commit
3、进入编辑器
#vi post-commit
#!/bin/sh
export LC_CTYPE=zh_CN.UTF-8
/usr/bin/svn updata /home/www/test --username "abc" --password "123456"
保存退出
十、提交文件自动更新web网站目录
1、进入到网站目录:
#cd /home/www/
2、创建创库副本
svn co svn://localhost/test --username test --password 123456
十一、同步测试
1、查看当前网站目录
#ls -a
2、本地svn上传一个薛之谦-绅士同步测试 .mp3的文件
然后提交到svn服务器。
3、提交查看结果:
这时回到服务器切换到网站目录
#cd /home/www/test
使用ls -a 查看 是否有增加的文件
显然已经同步过来了。