娃哈哈好喝-真的!
技术够用就行,吃好喝好睡好!

linux svn服务器

linux svn服务器

1、安装
[root@rockettest-170 test]# yum -y install subversion
2、创建版本库目录
[root@rockettest-170 test]# mkdir /data/svn
3、创建版本库
[root@rockettest-170 test]# svnadmin create /data/svn/test

本例以test版本库为例

[root@rockettest-170 test]# pwd
/data/svn/test
[root@rockettest-170 test]# ls
conf db format hooks locks README.txt
[root@rockettest-170 test]#
4、修改配置

配置文件都在版本库目录下的conf目录

[root@rockettest-170 conf]# pwd
/data/svn/test/conf
[root@rockettest-170 conf]# ls
authz passwd svnserve.conf
[root@rockettest-170 conf]#

三个文件的用途分别是

authz:负责账号权限管理,控制账号是否有读写权限

passwd:负责账号和密码的用户名单管理

svnserve.conf:svn服务器配置文件

authz文件:

[root@rockettest-170 conf]# cat authz 
[/]
#表示根目录,即/data/svn/test/
huojian = rw
#表示用户huojian对根目录有读写权限
[root@rockettest-170 conf]#

passwd文件:

[root@rockettest-170 conf]# cat passwd 
[users]
huojian = 1234@abcd
#前面是用户名后面是密码
[root@rockettest-170 conf]#

svnserve.conf文件:

[root@rockettest-170 conf]# grep -v "^#" svnserve.conf | grep -v "^$"
[general]
anon-access = read
#表示匿名用户可以读
auth-access = write
#表示授权用户可以写
password-db = passwd
#指定用户密码文件,即passwd文件
authz-db = authz
#指定权限文件,即authz文件
realm = /data/svn
#指定认证域,即/data/svn目录
[sasl]
[root@rockettest-170 conf]#
5、启动服务
[root@rockettest-170 ~]# svnserve -d -r /data/svn/
6、客户端访问测试
[root@rockettest-170 ~]# svn checkout svn://ip:3690/test
#或者直接加上本地路径和用户名密码
[root@rockettest-170 ~]# svn checkout svn://ip:3690/test /home/test --username huojian --password 1234@abcd
7、post-commit

pre-commit是提前前执行的文件,可以用来检测用户提交文件的格式、类型

post-commit是提交更新后执行的,这里可以写一个更新后需要操作的指令

[root@rockettest-170 hooks]# pwd
/data/svn/test/hooks
[root@rockettest-170 hooks]# ls
post-lock.tmpl post-unlock.tmpl pre-lock.tmpl pre-unlock.tmpl
post-commit.tmpl post-revprop-change.tmpl pre-commit.tmpl pre-revprop-change.tmpl start-commit.tmpl
[root@rockettest-170 hooks]# cp post-commit.tmpl post-commit
[root@rockettest-170 hooks]# ls
post-commit post-lock.tmpl post-unlock.tmpl pre-lock.tmpl pre-unlock.tmpl
post-commit.tmpl post-revprop-change.tmpl pre-commit.tmpl pre-revprop-change.tmpl start-commit.tmpl
[root@rockettest-170 hooks]# grep -v "^#" post-commit | grep -v "^$"
REPOS="$1"
#版本库地址
REV="$2"
#版本号
export LANG=en_US.UTF-8
#下面是本例测试用的,每当用户提交一次会在/root/svn.log文件中写入一行数据
echo "$REV `date '+%Y-%m-%d %H:%M:%S'`" >> /root/svn.log
[root@rockettest-170 hooks]#
赞(0)
未经允许不得转载:娃哈哈好喝 » linux svn服务器
分享到: 更多 (0)

相关推荐

  • 暂无文章