mac svn服务器

来源:互联网 发布:关于小说的软件 编辑:程序博客网 时间:2024/06/05 19:44

闲来无事,自己在Mac系统上搭建了一个svn服务器,跟大家分享一下。

 Mac系统已经自带了svn,我们已经不需要安装svn服务器了,简单的几步配置就可以开启我们的svn服务器了。

1、打开terminal,可以使用如下命令确定我们的Mac OS系统确实已经安装了svnserve。 

  1. machost:~ xiayong$ svnserve --version 
  2. svnserve, version 1.6.18 (r1303927) 
  3.    compiled Aug  4 2012, 19:46:53 
  4.  
  5. Copyright (C) 2000-2009 CollabNet. 
  6. Subversion is open source software, see http://subversion.apache.org/ 
  7. This product includes software developed by CollabNet (http://www.Collab.Net/). 
  8.  
  9. The following repository back-end (FS) modules are available: 
  10.  
  11. * fs_fs : Module for working with a plain file (FSFS) repository. 

2、创建仓库

新建一个目录

  1. machost:~ xiayong$ sudo mkdir -p /data/svn/repositories/local 

这个/data/svn/repositories/local目录将用来作为我们的仓库。

创建仓库

  1. machost:~ xiayong$ sudo svnadmin create /data/svn/repositories/local 

仓库创建成功后,我们可以到仓库下面看一下,svnadmin自动帮我生成了仓库。

  1. machost:~ xiayong$ cd /data/svn/repositories/local/ 
  2. machost:local xiayong$ ll 
  3. total 16 
  4. -rw-r--r--   1 root  wheel  229 12 14 01:33 README.txt 
  5. drwxr-xr-x   5 root  wheel  170 12 14 01:41 conf 
  6. drwxr-sr-x  16 root  wheel  544 12 14 02:07 db 
  7. -r--r--r--   1 root  wheel    2 12 14 01:33 format 
  8. drwxr-xr-x  11 root  wheel  374 12 14 01:33 hooks 
  9. drwxr-xr-x   4 root  wheel  136 12 14 01:33 locks 

3、配置

首先修改conf文件夹下的svnserve.conf文件,内容如下

  1. [general] 
  2. anon-access = none 
  3. auth-access = write 
  4. password-db = passwd 
  5. authz-db = authz 
  6. [sasl] 

接下来修改conf下的passwd文件,在[users]后面加入一下内容

  1. administrator = admin@Svnserver 
  2. xiayong = xiayong 

这里添加了两个用户,并分别设置了密码

接下来修改conf下的authz文件,设置权限

  1. [groups] 
  2. admin = administrator 
  3. user = xiayong 
  4.  
  5. [/] 
  6. @admin = rw 
  7. @user = r 
  8.  
  9. [local:/] 
  10. @admin = rw 
  11. @user = r 

简单解释一下这个配置,首先定义了两个组,admin 和 user ,admin这个组里面有administrator这个用户(一个组里面可以有多个用户,多个用户用逗号隔开),user这个组里面有xiayong这个用户,当然不是一定要把用户归到某个组里面, 我这么做是为了方便设置权限。然后设置了根目录的权限,要说明一下这个 / 目录是指我的/data/svn/repositories/目录。然后设置了我的local这个仓库的根目录权限,r是读,w是写。权限设置大家可以根据自己的情况设置,这里不多说,继续往下。

最基本的配置到这里就结束了,我们可以启动我们的svn服务器了

4、启动SVN

  1. machost:conf xiayong$ sudo svnserve -d -r /data/svn/repositories 

Ok,svn默认使用3690端口,如果端口不冲突,svn服务应该就正常起来了,简单的测试一下

  1. machost:conf xiayong$ telnet localhost 3690 
  2. Trying ::1... 
  3. telnet: connect to address ::1: Connection refused 
  4. Trying 127.0.0.1... 
  5. Connected to localhost. 
  6. Escape character is '^]'. 
  7. ( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )  

5、创建默认目录结构(可选)

接下来我们创建默认目录结构。首先我们在本地把目录结构建立好

  1. machost:conf xiayong$ sudo mkdir -p /tmp/svntemp 
  2. machost:conf xiayong$ cd /tmp/svntemp/ 
  3. machost:svntemp xiayong$ sudo mkdir tags trunk branches 
  4. machost:svntemp xiayong$  

接下来将本地目录结构倒入到我们的svn仓库中

  1. machost:svntemp xiayong$ sudo svn import -m 'init repo' /tmp/svntemp/ svn://localhost/local 
  2. Authentication realm: <svn://localhost:3690> af662c40-23bf-43f4-93fa-8bf7eff40771 
  3. Password for 'root':  
  4. Authentication realm: <svn://localhost:3690> af662c40-23bf-43f4-93fa-8bf7eff40771 
  5. Username: administrator 
  6. Password for 'administrator':  
  7. Adding         /tmp/svntemp/trunk 
  8. Adding         /tmp/svntemp/branches 
  9. Adding         /tmp/svntemp/tags 
  10.  
  11. Committed revision 1. 

我是使用administrator这个用户倒入的,因为目前只有这个用户才有权限。

 

现在我们的svn服务器已经可以用了,可以使用svn://localhost/local来访问我们的local这个仓库,当然不要忘记了,我们刚才新添加了目录,需要修改权限。

  1. [local:/branches] 
  2. @user = rw 
  3. [local:/tags] 
  4. @user = r 
  5. [local:/trunk] 
  6. @user = rw 

6、让SVN服务随操作系统启动(可选)

查看svn内存使用情况

svn在空闲时候才占了420k的内存而已,所以我决定让svn随Mac系统一起启动,编辑/etc/rc.local文件,在这个文件中加入以下内容(此文件在Mac系统中是没有的,需要手动创建)

  1. # to run the svnserver on the automatically. 
  2. svnserve -d -r /data/svn/repositories 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 驾驶证过期了5天怎么办 过了审车时间怎么办 骑车没带行驶证怎么办 轿车行驶证丢了怎么办 车子没年检被扣怎么办 上海车辆年检过期了怎么办 行驶证过期十天怎么办 行驶证盖章满了怎么办 驾照c证扣12分怎么办 两年小车忘年审怎么办 4年车检过期了怎么办 车检过期了1周怎么办 超过检车几天了怎么办 驾驶证扣两个6分怎么办 行驶证检验有效期过期怎么办 驾驶证被扣26分怎么办 c1驾驶证扣26分怎么办 驾驶证被扣6分后怎么办 c1驾照年审过期一天怎么办 审驾照时间过了怎么办 b2驾驶证扣了分怎么办 a2驾照逾期未审怎么办 中学生只想打游戏不肯学习怎么办 汽车4年未年检怎么办 2年没有验车怎么办 驾驶证过期2年半怎么办 审车逾期一个月怎么办 摩托车驾驶证年审过期一个月怎么办 摩托车驾驶证记满12分怎么办 b2驾驶证扣2分该怎么办 b2扣6分以上怎么办 审驾照晚了3天怎么办 考驾驶证3年到期怎么办 学习驾驶证明过期了怎么办 a2扣了12分怎么办 驾照a2扣6分了怎么办 a2本扣9分怎么办 驾驶证分扣3分怎么办? 异地换驾驶证没有居住证怎么办 b2开c1车扣分怎么办 驾照五次没考过怎么办