linux版本:centOS7.2
工具:putty
请确认3690端口开启。
首先安装svn,命令:yum install -y subversion
复制代码
查看版本可以使用svnserve --version
复制代码
查看安装位置:rpm -ql subversion
复制代码
安装好了svn后就可以创建版本库了
比如我在home目录下创建svn,作为后面版本库的文件夹mkdir /home/svn
复制代码
创建版本库:svnadmin create /home/svn/tggui
复制代码
tggui文件夹就是我一个项目的版本库了
tggui里面会生成几个文件夹及文件:conf db format hooks locks README.txt
首先配置conf里面的文件
配置用户账号密码:vi /home/svn/tggui/conf/passwd
复制代码
在后面加就行 比如 tggui = tggui666,多个的话继续加,空行就行
tgguitest1 = tggui666
tgguitest2 = tggui666
配置权限:vi /home/svn/tggui/conf/authz
复制代码
比如我的 [tggui:/] 然后空行写用户名 = 权限
[tggui:/]
tgguitest1 = rw
tgguitest2 = rw
细分的话我这里就不多讲了。
svn服务配置文件:vi /home/svn/tggui/conf/svnserve.conf
复制代码
打开如下注释,并且前面不要留有空格
anon-access = none //匿名用户访问权限:无
auth-access = write //普通用户访问权限:读、写
password-db = passwd //密码文件
authz-db = authz //权限配置文件
realm = /home/svn/tggui //版本库所在
以上配置完后,启动svn才能在服务器上测试,
关闭svn命令为:killall svnserve
复制代码
启动svn命令为:svnserve -d -r /home/svn
复制代码
注:启动命令启动到svn,如果启动到/home,可能就跑不起来哦
服务器上测试:svn co svn://localhost/tggui
复制代码
tggui就是我的版本库,跟着提示输入账号密码
svn更新自动同步到web目录:svn co svn://localhost/tggui /home/wwwroot/LAMP5.6/domain/tggui66/web/ --username tgguitest1 --password tggui666
复制代码
解释:
1、svn://localhost/tggui 为svn版本库
2、/home/wwwroot/LAMP5.6/domain/tggui66/web/ 项目地址(由于我使用的是amh控制面板,所以地址才这么长)
3、 --username tgguitest1 --password tggui666 同步的账号密码
接下就配置hooks了,进入hooks文件夹:cd /home/svn/tggui/hooks
复制代码
复制一份post-commit.tmpl :cp post-commit.tmpl post-commit
复制代码
编辑post-commit:vi post-commit
复制代码
在后面添加如下代码:export LANG=en_US.utf8
SVN_PATH=/usr/bin/svn
WEB_PATH=/home/wwwroot/LAMP5.6/domain/tggui66/web/ #web访问目录
$SVN_PATH update $WEB_PATH --username tgguitest1 --password tggui666 --no-auth-cache #设置同步账号密码
复制代码
保存退出后把post-commit文件修改下用户组和用户:chown www:www post-commit
复制代码
然后修改post-commit权限:chmod 755 post-commit
复制代码
然后重启svn
关闭svn:killall svnserve
启动svn:svnserve -d -r /home/svn
以上操作完成,就可以在客户端使用了。
链接为:svn://服务器ip地址/版本库,比如我的:svn://ip地址/tggui