在某云购置了一台新服务器做为项目测试和部署用 java
之后资料都是网上搜集整理后测试过的!实在太多乱78遭的文章,仍是本身整理一份备份好; linux
#Setup 1 安装lampp apache
这个很简单,直接从官方下载一个linux版本安装就能够,默认安装就OK; 服务器
https://www.apachefriends.org 我安装的是XAMPP for Linux v1.8.3 (PHP 5.5.9) svn
#Setup 2 安装subversion 工具
直接用yum工具 post
#yum install subversion
搞定,最后测试是否安装成功 测试
#svnserve --version
创建版本库 spa
建立SVN的数据目录 #mkdir /opt/lampp/svn test是版本库名称,名字随便起 #svnadmin create /opt/lampp/svn/test
建立成功以后的目录结构,以后主要修改conf目录的svnserve.conf文件和配置hooks目录post-commit 日志
接着来修改配置用户权限
编辑版本库配置(不一样版本库之间的配置是独立分开的) #vi /opt/lampp/svn/test/conf/svnserve.conf
版本库配置
[general] anon-access = none #注意这里不要填错,否则以后的日志信息就显示不了 auth-access = write password-db = /opt/lampp/svn/test/conf/passwd #管理用户和密码 authz-db = /opt/lampp/svn/test/conf/authz #配置用户权限 realm = test
添加用户
#vi /opt/lampp/svn/test/conf/passwd [users] user1 = password1 user2 = password2 user3 = password3 user4 = password4
配置用户权限
#vi /opt/lampp/svn/test/conf/authz [groups] #设置组 group1 = user1,user2 #多用户用逗号隔开 [/] #根目录权限设置(就是“test”这个文件夹) user3 = rw #用户1权限是:可读写 user4 = r #用户2权限是:可读,不可写 user = #什么都没写表明没有任何权限 @group1 = rw #设置组权限 [kuming:/123] #设置根目录下“123”文件夹的权限 #说明“123”这个文件件怎么建立?这是在SVN服务器配置好以后,建立一个权限很高的用户在客户端登陆SVN #而后建立一个文件夹“123”。
启动SVN服务器
# svnserve -d -r /opt/lampp/svn -d表示以daemon方式(后台运行)运行 -r /svn指定根目录是/svn 关闭SVN 服务器 # killall svnserve # ps aux | grep svnserve 查看服务,端口:3690
而后就能够经过客户端软件TortoiseSVN访问
svn://服务器IP/版本库名称
ex: svn://192.168.1.100/test
#Setup 3 配置svn钩子
在提交更新时同步更新指定目录,进入版本库下的hooks目录,将post-commit.tmpl 复制为 post-commit,赋予post-commit可执行权限
REPOS="$1" REV="$2" # 暂时用不上,发邮件的脚本,注释掉否则commit时候报错 # mailer.py commit "$REPOS" "$REV" /path/to/mailer.conf export LANG=en_US.UTF-8 SVN=/usr/bin/svn #svn的执行文件 STATIC_DIR=/opt/lampp/www/test #版本库目录 #须要注意用户须要有写的权限 ${SVN} update ${STATIC_DIR} --username 用户 --password 密码
若是提交时,报错提示须要修改 .subservison/servers时,根据提示修改,通常以下:
vi .subversion/servers 文件 (目录find一下)
将 store-plaintext-passwords = no 选项注释去掉,并修改成 yes
到这里就完成了钩子配置;
这里能够svn配置成开机启动
#vi /etc/rc.local
添加执行命令
#svnserve -d -r /opt/lampp/svn