Mac下搭建SVN服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac下搭建SVN服务器相关的知识,希望对你有一定的参考价值。

1.检查机器上是否安装svnserve

 1 zhangdeqiangdeiMac:Downloads hengjiang$ svnserve --version
 2 svnserve, version 1.9.3 (r1718519)
 3    compiled Feb 19 2016, 20:19:36 on x86_64-apple-darwin15.3.0
 4 
 5 Copyright (C) 2015 The Apache Software Foundation.
 6 This software consists of contributions made by many people;
 7 see the NOTICE file for more information.
 8 Subversion is open source software, see http://subversion.apache.org/
 9 
10 The following repository back-end (FS) modules are available:
11 
12 * fs_fs : Module for working with a plain file (FSFS) repository.
13 * fs_x : Module for working with an experimental (FSX) repository.
14 
15 Cyrus SASL authentication is available.

 

2.在当前目录下创建一个SVN仓库

 1 zhangdeqiangdeiMac:Users hengjiang$ sudo svnadmin create SVN 

3.创建成功以后会自动生成一个仓库文件,需要对其子目录conf里的文件作配置

1 zhangdeqiangdeiMac:Users hengjiang$ ls
2 SVN        Shared        hengjiang
3 zhangdeqiangdeiMac:Users hengjiang$ cd SVN
4 zhangdeqiangdeiMac:SVN hengjiang$ ls
5 README.txt    conf        db        format        hooks        locks
6 zhangdeqiangdeiMac:SVN hengjiang$ cd conf
7 zhangdeqiangdeiMac:conf hengjiang$ ls
8 authz        hooks-env.tmpl    passwd        svnserve.conf
9 zhangdeqiangdeiMac:conf hengjiang$ sudo nano svnserve.conf

 

svnserve.conf 里的内容  一定注意  这个文件里对每一个字符都很敏感   有的地方需要空格  有的地方坚决不能有空格  #号表示注释
1 [general]
2 anon-access = read
3 auth-access = write
4 password-db = passed
5 authz-db = author
6 //注意这些代码都是顶格写   没空格   等号前后各一个空格   后边不要加注释

 

passwd里边的

1 //注意这个地方是设置密码    第一个用户是admin   密码是admin
2 //第二个用户是nameforzhangjie   密码是passwdforzhangjie
3 [users]
4 # harry = harryssecret
5 # sally = sallyssecret
6 admin = admin
7 nameforzhangjie = passwdforzhangjie

 

第三个是authz文件  设置权限的一个文件

 1 //权限设置  管理员权限是叫admin的用户     普通用户是叫nameforzhangjie的用户
 2 //[/]表示根目录的意思    rw  是readandwrite的意思
 3 
 4 [groups]
 5 # harry_and_sally = harry,sally
 6 # harry_sally_and_joe = harry,sally,&joe
 7 
 8 admin = admin
 9 user = nameforzhangjie
10 
11 [/]
12 admin = rw
13 user = rw
14 
15 
16 [SVN:/]
17 admin = rw
18 user = rw

 

4.启动服务器

zhangdeqiangdeiMac:conf hengjiang$ sudo nano authz

//启动服务器,sudo是当前目录不在电脑用户权限之内,是在根目录上,所以用管理员权限去操作。 -d -r 是启动参数 不能错  SVN 是要启动的服务器名。。后边的那个--listen-host 192.168.1.47是服务器的网络地址   加这个参数以后只要是同一个网段的电脑可以直接访问他
zhangdeqiangdeiMac:conf hengjiang$ sudo svnserve -d -r SVN --listen-host 192.168.1.47

一般默认的这个本地服务器端口号是3690,可以测试一下

1 zhangdeqiangdeiMac:conf hengjiang$ telnet localhost 3690
2 Trying 127.0.0.1...
3 telnet: connect to address 127.0.0.1: Connection refused
4 Trying ::1...
5 telnet: connect to address ::1: Connection refused
6 telnet: Unable to connect to remote host
7 zhangdeqiangdeiMac:conf hengjiang$
8 //这就是正常反应  开启成功了

 

5.到桌面上创建一个本地的目录,其实是用于推到服务器上用的

1 zhangdeqiangdeiMac:~ hengjiang$ cd Desktop/
2 zhangdeqiangdeiMac:Desktop hengjiang$ ls
3 23GamesNetwork                    test
4 3E6A2DDE-1113-40B6-8127-F61D8EEEBFB5.png    testDemo2
5 a
6 zhangdeqiangdeiMac:Desktop hengjiang$ mkdir -p Q
7 //创建本地目录Q  并且在Q里边创建经典目录结构tags trunk branches三个文件夹
8 zhangdeqiangdeiMac:Desktop hengjiang$ cd Q
9 zhangdeqiangdeiMac:Q hengjiang$ mkdir tags trunk branches

 

6.把本地建的目录结构推到服务器上去

1 //‘first init‘是这次操作的标志
2 //Q是要推上去的文件目录,因为现在本来就在桌面上,所以直接这样写就可以了
3 //后边的svn://192.168.1.47:3690/SVN是svn服务器地址  (本地IP:端口号/svn目录)
4 zhangdeqiangdeiMac:Desktop hengjiang$ sudo svn import -m first init Q svn://192.168.1.47:3690/SVN

 

7.再然后,就可以checkout了,之后就可以正常使用了。

 1 zhangdeqiangdeiMac:Desktop hengjiang$ svn co svn://192.168.1.47:3690/SVN 

 

 

 

需要注意的几点问题,svn服务器一旦开启他就存在了,哪怕你把服务器文件删除了也是存在的    这时候用 1 zhangdeqiangdeiMac:Desktop hengjiang$ sudo killall svnserve 来杀死所有服务器程序,之后再开启。如果有正在运行的项目,不能杀死的话那就只能使用另外的端口了。

以上是关于Mac下搭建SVN服务器的主要内容,如果未能解决你的问题,请参考以下文章

Mac环境下svn的使用

Mac环境下svn的使用

Mac环境下svn的使用

mac下svn服务器搭建及使用

Mac环境下svn命令行的使用

Mac 环境下svn服务器的配置