1.首先安装svn
yum install -y subversion
2.查看版本可以使用
svnserve --version
3.查看安装位置
rpm -ql subversion
4.安装好了svn后就可以创建版本库了
比如我在home目录下创建svn,作为后面版本库的文件夹
mkdir /home/svn
5.创建版本库:
svnadmin create /home/svn/tggui
tggui里面会生成几个文件夹及文件:conf db format hooks locks README.txt
6.首先配置conf里面的文件,配置用户账号密码
vi /home/svn/tggui/conf/passwd
在后面加就行 比如 tggui = tggui666,多个的话继续加,空行就行
tgguitest1 = tggui666
tgguitest2 = tggui666
7.配置权限:
比如我的 [tggui:/] 然后空行写用户名 = 权限
[tggui:/]
tgguitest1 = rw
tgguitest2 = rw
细分的话我这里就不多讲了。
8.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.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权限:
chmod 755 post-commit
然后重启svn
关闭svn:killall svnserve
启动svn:svnserve -d -r /home/svn
以上操作完成,就可以在客户端使用了。
链接为:svn://服务器ip地址/版本库,比如我的:svn://ip地址/tggui