centos6.8 搭建svn服务器:

1.安装

方式1:yum -y install subversion

方式2:编译安装

2.检查是否安装成功

svnserve --version

3.创建目录

mkdir -p /data0/svn/cai/

4. 创建SVN版本库

svnadmin create/data0/svn/cai/

5.修改配置文件

cd /data0/svn/cai/conf/

(1)passwd

[root@admin conf]# vim passwd

[users]

# harry = harryssecret

# sally = sallyssecret

root=123

back=456

front=789

用户名=密码

以上语句都必须顶格写左侧不能留空格否则会出错.

note:密码不能包含符号$

(2)authz

[groups]

admin = rootback

[cai:/]

@admin = rw

front = r

将用户添加到组,利用组来设置权限,也可以不需要租,直接在版本库下设置用户,例如

aaa = r ,意思是aaa用户对cai测试库下所有的目录有读权限,hellowww有读写权限。

如果是自己用,就直接是读写吧。

以上语句都必须顶格写左侧不能留空格否则会出错.

 

(3)svnserve.conf

[root@youxia201 conf]# visvnserve.conf   修改svn配置文件

[general]

anon-access = none # 使非授权用户无法访问

auth-access = write # 使授权用户有写权限

password-db = password#密码数据库的路径

authz-db = authz   # 访问控制文件

以上语句都必须顶格写左侧不能留空格否则会出错.

 

6.启动

svnserve -d -r /data0/svn/

在这里特别的要注意,/data0/svn/是仓库的根目录

7.检查是否工作

ps -ef|grep svn

8.停止svn服务器 

kill -s 9 进程号

二.客户端;

安装客户端(tortoiseSVN),在指定目录(例如桌面上)下右击选中checkout,输入svn地址(svn://服务器ip地址/cai),即可以更新代码。 

三.自动更新 post-commit

1.cd /data0/svn/www/hooks/

chmod +x post-commit

vi post-commit

#!/bin/bash

#REPOS="$1"

#REV="$2"

export LANG=en_US.UTF-8

SVN=/usr/bin/svn

WEB=/www/cai

${SVN} update ${WEB} --username ****--password ****

chown -R nginx:nginx /www/cai

2.先checkout

cd /www

svn checkout svn://服务器ip地址/cai/

3.排错,直接输入命令看错误提示

/usr/bin/svn update /www/ --username ***--password ***c

另,svn命令:

svn add test.php(添加test.php)

svn add *.php(添加当前目录下所有的php文件)

svn add *(添加当前目录下所有文件)

svn commit -m "add test file for my test"--force-log test.php (提交test.php文件,-m后的"add test file for my test" 可以省略)

svn commit -m "add test file for my test"--force-log * (提交当前目录下所有文件 ,-m后的"add test file for my test" 可以省略)

例如:添加WeEngine-Laster-Offline目录addons下面新建的模块到svn服务器

cd /www/WeEngine-Laster-Offline

svn add addons/*

svn commit -m --force-log addons/*

注:commit同步不成功

1.post-commit文件中的账号密码;2.svn客户端链接服务器的账号密码 3.svn checkout时输入的账号密码,还有是否记住密码(yes/no),尝试选择yes

从以上几个方面考虑问题原因。

设置前端用户只能访问public目录

(2)authz

[groups]

guest=front

[cai:/public]

@guest=rw

此时checkout时,地址:svn://服务器ip地址/cai/public


猜你喜欢

转载自blog.csdn.net/rock5275/article/details/80184007