安装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 不详细请参考。

最新文章

  1. 用margin还是padding
  2. 手机页面touch触摸事件
  3. 匹配字符串的KMP算法
  4. leetcode 136
  5. Cocos2d-android (05) 渐变动画(颜色,淡入淡出。。。)
  6. 【原】Shell脚本-判断文件有无进而复制
  7. Git详解之一 Git起步
  8. javascript跨域获取json数据
  9. 使用Heroku,需要locale至zh_CN,代替zh-CN
  10. java基础系列--Date类
  11. HDFS Architecture
  12. Tapestry: Obtained resource by @Inject is NULL
  13. codeforces——961B. Lecture Sleep
  14. 解决多版本共存时,python/pip等命令失效
  15. 基于Java服务的前后端分离解决跨域问题
  16. python数据结构与算法学习自修第二天【时间复杂度与大O表示法】
  17. 利用nodejs安装并运行express的三个坑
  18. 【DP-最大子串和】PAT1007. Maximum Subsequence Sum
  19. HTML5 Canvas ( 圆和切点曲线的绘制 ) arc, arcTo
  20. Json转list,两种包,两种方式

热门文章

  1. decorate all function in all module
  2. 如何稳定地使用 Google 搜索https://encrypted.google.com/
  3. aSmack连接server异常smack.SmackException$ ConnectionException thrown by XMPPConnection.connect();
  4. 【转】LINUX 手动建立SWAP文件及删除
  5. EF Core使用SQL调用返回其他类型的查询 ASP.NET Core 2.0 使用NLog实现日志记录 CSS 3D transforms cSharp:use Activator.CreateInstance with an Interface? SqlHelper DBHelper C# Thread.Abort方法真的让线程停止了吗? 注意!你的Thread.Abort方法真
  6. wyh2000 and pupil
  7. FSB总线、HT总线、QPI总线、DMI总线
  8. DASH----Desktop and mobile Architecture for System Hardware----桌面和移动系统硬件架构(DASH)计划
  9. Python演绎的精彩故事(二)
  10. 使用ViewPager多页面滑动切换以及动画效果