centos上 安装配置svnserve 服务器与同步到web网站目录


一、系统


centos7 x64位


二、svnserve版本


 1.7.14


三、检测是否已经安装svn


# svnserve --version

如出现版本信息则表示安装过


四、如果没有安装则使用命令安装


yum install subversion -y


五、检查是否安装成功


#svnserve --version
#ps -ef|grep svn

如出现下图所示则安装成功:




centos svn服务器慢 centos svn服务器搭建web_linux中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 


如图所示:



centos svn服务器慢 centos svn服务器搭建web_linux svn 安装教程_02



九、关联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




centos svn服务器慢 centos svn服务器搭建web_centos svn服务器慢_03




2、本地svn上传一个薛之谦-绅士同步测试 .mp3的文件



centos svn服务器慢 centos svn服务器搭建web_centos 如何安装svn服务器_04



然后提交到svn服务器。



3、提交查看结果:




centos svn服务器慢 centos svn服务器搭建web_linux svn 安装教程_05




这时回到服务器切换到网站目录


#cd /home/www/test



使用ls -a 查看 是否有增加的文件




centos svn服务器慢 centos svn服务器搭建web_centos svn服务器慢_06




显然已经同步过来了。