svn搭建以及可能遇到的问题解决方案

Svn服务器的安装和配置php

 

注意,必定要切换到最高管理权限:  su root  经过这个命令就能够完成!web

1.安装svn服务器端软件
从镜像服务器或者YUM源下载安装SVN服务器软件:yum install subversion
mkdir /usr/local/svn //建立SVN安装目录
chmod -R 777 /usr/local/svn/      //修改目录权限为777
svnadmin create /usr/local/svn/sunny //建立一个SVN版本仓库sunny(sunny能够自定义)
cd /usr/local/svn/sunny/conf //进入sunny版本仓库下的配置文件目录vim

下面要修改这个目录下的三个配置文件服务器


(1)vi svnserve.conf //配置版本库信息和用户文件和用户密码文件的路径、版本库路径,把
# anon-access = read
# auth-access = write
# password-db = passwd
//这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成
anon-access = none //匿名访问,改为none
auth-access = write
password-db = passwd
realm = sunny //改为本身的版本库名称
保存退出svn

 

(2)vi authz //文件,建立SVN组和组用户的权限
[groups]
sunny = gep,wce //建立一个sunny的组,并指定两个用户gep和wcepost

[/] //制定根目录下的权限
@sunny = rw //sunny组用户权限为读写
* = r //其余用户只有读权限
保存退出测试

 

(3) vi passwd //建立或修改用户密码
[users]
gep = 123456 //用户名为gep的用户的密码为123456
wce = 123456 //。。。
保存退出spa


启动SVN服务器:
//这里采用多版本库的方式启动
svnserve -d -r /usr/local/svn/rest


若是是单版本库能够添加一行
svnserve -d -r /usr/local/svn/sunnyblog


而后要设置自启动
vi /etc/rc.local 打开自启动文件添加
/usr/bin/svnserve -d -r /usr/local/svn/

到此为止能够从服务端检出文件了.

svn命令:
netstat -tnl |grep :3690 查看svn是否启动
安装成功!

 

 

 


ps aux |grep svn 查找全部svn启动的进程
kill -9 2505 杀死2505这个查找到的svn进程


svn checkout svn://172.19.5.2/sunny /data0/htdocs/blog //检出一份版本库文件到指定目录
svn up //更新文件

自动更新
在vi /usr/local/svn/sunny/hooks/post-commit中加入

#!/bin/sh
#设置一些变量
SVN=/usr/bin/svn
WEB=/home/testsvn #要更新的目录
export LANG=en_US.UTF-8
$SVN update $WEB --username xxx --password xxx


其中SVN=右边改为 svn 命令位置 通常默认为/usr/bin/svn
WEB=右边改为你实际的web目录
赋予可执行权限
chmod 777 /usr/local/svn/sunny/hooks/post-commit
安装完毕

出现启动svn显示报错(已启动)状况或者当项目的时候出问题解决:
cd etc
cd sysconfig
vim iptables(仿照句子写一句3690的端口号的句子)
重启防火墙service iptables restart

 

 

 

最后我要着重描述一下svn自动更新的问题:

 1.首先找到 版本库的{ hooks },在hooks下建立 post-commit文件 不须要后缀.
2.vim post-commit  加入以下代码:
#!/bin/sh
export LANG=zh_CN.UTF-8
SVN=/usr/bin/svn     // 你去 cd 一下看看你服务器有没有这个路径 
WEB=/procject/w-project     这个是你项目路径  
$SVN update $WEB --username svn {用户名} --password svn {密码}   //这里面的这个{}是不须要的 至关于注释符号
wq 保存
重启svn  
测试  
 
svn重启命令:
 killall  svnserve
svnserve -d -r  /usr/local/svn/   这样是启动svn下全部的版本库的
 
 
若是上述不行  试着把post-commit改为这样的内容
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update /phpstudy/www --username gxf --password 123456
看到了吗?只须要改红色部分!
 
注意:我是在www下使用的  svn checkout命令  因此直接指向www就能够了!!!!
相关文章
相关标签/搜索