安装svn服务器端
(1)从镜像下载安装svn服务器端
yum install subversion
//进入目录,准备创建svn目录
cd /usr/local/
//创建一个svn目录
mkdir svn
//修改目录权限为777
chmod -R 777 svn
//创建一个svn版本仓库sunny(sunny可以随便起名字)
svnadmin create /usr/local/svn/sunny
//进入sunny版本仓库下的配置文件目录
cd sunny/conf
下面要修改这个目录下的三个配置文件
//(!)配置版本库信息和用户文件和用户密码文件的路径、版本库路径
vi svnserve.conf
把
# anon-access = read //不允许匿名用户读写
# auth-access = write
# password-db = passwd //svn读取的passwd文件
#authz-db = authz //svn读取的权限控制文件
#realm = /usr/local/svn/sunny //版本库所在
//这四行,前面的#号和空格去掉,变成
anon-access = none
auth-access = write
password-db = passwd
//改成自己的版本库
realm = sunny
保存
(2)//文件,创建svn组和组用户的权限
vi authz
[group]
//创建一个sunny的组,并制定两个用户gep和wce
sunny = gep,wce
//制定根目录下的权限
[/]
//sunny组用户权限为读写
@sunny = rw
//其他用户只有读权限
* = r
保存退出
(3)
//创建或修改用户密码
vi passwd
[users]
//用户名为gep的用户的密码为123456
gep = 123456
//。。。
wce = 123456
保存退出
然后要设置自启动
打开自启动文件
vi /etc/rc.local
文件内容如下
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/usr/local/webserver/mysql/3306/mysql start
ulimit -SHn 51200
/usr/local/webserver/php/sbin/php-fpm start
/usr/local/webserver/nginx/sbin/nginx
svnserve -d -r /usr/local/svn/sunny
#/usr/local/webserver/mysql/bin/mysql -u root -p -S /tmp/mysql.sock
svn命令:
查看svn是否启动
lsof -i :3690
查找所有svn启动的进程
ps aux |grep 'svn'
杀死2505这个查找到的svn进程
kill -9 2505
启动svn(可以把这个放到/etc/local/rc.local文件中,实现开机自启动)
svnserve -d -r /usr/local/svn/sunny
svn up //更新文件
#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 co svn://172.19.5.12 ./ //检出一份版本库文件到当前目录
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
测试:
http://www.centoscn.com/CentosServer/ftp/2016/0515/7236.html 不详细请参考。