Linux 搭建svn版本库

1、安装svn服务器端yum install subversion      从镜像下载安装svn服务器端 若是后面执行“svnadmin create /usr/local/svn/sunny”提示错误:“command not found”,把这句“mount /dev/cdrom /media/cdrom/  ”话挂在这句“yum install subversion”以前php

cd /usr/local/              //进入目录,准备建立svn目录web

mkdir svn                   //建立一个svn目录服务器

chmod -R 777 svn            //修改目录权限为777svn

svnadmin create /usr/local/svn/sunny  //建立一个svn版本仓库sunny(sunny能够随便起名字)   到这一步了!!!!
post

 cd svn/sunny/conf               //进入sunny版本仓库下的配置文件目录下面要修改这个目录下的三个配置文件blog

(1)vi svnserve.conf    //配置版本库信息和用户文件和用户密码文件的路径、版本库路径把进程

# anon-access = readci

# auth-access = writeit

# password-db = passwd//这四行,前面的#号和空格去掉(注意去掉#要顶格写,不要留有多余空格),变成io

anon-access = none      //改为noneauth-access = write

password-db = passwd

realm = sunny           //改为本身的版本库保存

(2)vi authz     //文件,建立svn组和组用户的权限

[group]

sunny = gep,wce //建立一个sunny的组,并指定两个用户gep和wce

[/]            //制定根目录下的权限

@sunny = rw     //sunny组用户权限为读写

* = r           //其余用户只有读权限

保存退出

(3) vi passwd   //建立或修改用户密码

[users]

gep = 123456    //用户名为gep的用户的密码为123456

wce = 123456    //用户名为wce 的用户的密码为123456

保存退出

启动svn:svnserve -d -r /usr/local/svn/     //这里采用多版本库的方式启动若是是单版本库 能够svnserve -d -r /usr/local/svn/sunny

添加一行而后要设置自启动

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 commit -m "注释" xxx.php  //提交文件

svn ci -m'aaa' test.php       //提交文件

#svn add file               //新建文件并添加到svn

svn add *.php               //(添加当前目录下全部的php文件)

svn delete test.php         //删除test.php

svn log test.php            //查看test文件的log信息

svn cleanup                 //清理当前目录

svn switch --relocate svn://192.168.1.253  svn://172.19.10.250      //从新定位SVN版本库地址

// SVN版本库起动方式,如今SVN下面有 sunny、test 两个版本库

1:单版本库起动    svnserve -d -r /usr/local/svn/sunny

2:多版本库起动    svnserve -d -r /usr/local/svn

区别在于起动svn时候的命令中的启动参数-r指定的目录。

限制不一样的用户对不一样的版本库操做权限,修改版本库中的conf目录下的 authz文件

以配置 sunny 版本库为例

vi authz

[groups]

teacher = sunny,sunny1

[sunny:/]             //指定版本库跟目录下的权限

@teacher = rw     //teacher组用户权限为读写

* = r           //其余用户只有读权限保存退出

vi passwd 设置组中用户的帐号和密码

[users]

sunny  = 123456

sunny1 = 123456

相关文章
相关标签/搜索