Mac OS X上搭建本地SVN服務(wù)器

轉(zhuǎn)自 http://xiayong.blog.51cto.com/6292420/1088790

Mac系統(tǒng)已經(jīng)自帶了svn,我們已經(jīng)不需要安裝svn服務(wù)器了,簡單的幾步配置就可以開啟我們的svn服務(wù)器了。
1、打開terminal,可以使用如下命令確定我們的Mac OS系統(tǒng)確實(shí)已經(jīng)安裝了svnserve。
machost:~ xiayong$ svnserve --version
svnserve, version 1.6.18 (r1303927)
compiled Aug 4 2012, 19:46:53

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.apache.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

  • fs_fs : Module for working with a plain file (FSFS) repository.

2、創(chuàng)建倉庫
新建一個(gè)目錄
machost:~ xiayong$ sudo mkdir -p /data/svn/repositories/local

這個(gè)/data/svn/repositories/local目錄將用來作為我們的倉庫。
創(chuàng)建倉庫
machost:~ xiayong$ sudo svnadmin create /data/svn/repositories/local

倉庫創(chuàng)建成功后,我們可以到倉庫下面看一下,svnadmin自動幫我生成了倉庫。
machost:~ xiayong$ cd /data/svn/repositories/local/
machost:local xiayong$ ll
total 16
-rw-r--r-- 1 root wheel 229 12 14 01:33 README.txt
drwxr-xr-x 5 root wheel 170 12 14 01:41 conf
drwxr-sr-x 16 root wheel 544 12 14 02:07 db
-r--r--r-- 1 root wheel 2 12 14 01:33 format
drwxr-xr-x 11 root wheel 374 12 14 01:33 hooks
drwxr-xr-x 4 root wheel 136 12 14 01:33 locks

3、配置
首先修改conf文件夾下的svnserve.conf文件,內(nèi)容如下
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
[sasl]

接下來修改conf下的passwd文件,在[users]后面加入一下內(nèi)容
administrator = admin@Svnserver
xiayong = xiayong

這里添加了兩個(gè)用戶,并分別設(shè)置了密碼
接下來修改conf下的authz文件,設(shè)置權(quán)限
[groups]
admin = administrator
user = xiayong

[/]
@admin = rw
@user = r

[local:/]
@admin = rw
@user = r

簡單解釋一下這個(gè)配置,首先定義了兩個(gè)組,admin 和 user ,admin這個(gè)組里面有administrator這個(gè)用戶(一個(gè)組里面可以有多個(gè)用戶,多個(gè)用戶用逗號隔開),user這個(gè)組里面有xiayong這個(gè)用戶,當(dāng)然不是一定要把用戶歸到某個(gè)組里面, 我這么做是為了方便設(shè)置權(quán)限。然后設(shè)置了根目錄的權(quán)限,要說明一下這個(gè) / 目錄是指我的/data/svn/repositories/目錄。然后設(shè)置了我的local這個(gè)倉庫的根目錄權(quán)限,r是讀,w是寫。權(quán)限設(shè)置大家可以根據(jù)自己的情況設(shè)置,這里不多說,繼續(xù)往下。
最基本的配置到這里就結(jié)束了,我們可以啟動我們的svn服務(wù)器了
4、啟動SVN
machost:conf xiayong$ sudo svnserve -d -r /data/svn/repositories

Ok,svn默認(rèn)使用3690端口,如果端口不沖突,svn服務(wù)應(yīng)該就正常起來了,簡單的測試一下
machost:conf xiayong$ telnet localhost 3690
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )

5、創(chuàng)建默認(rèn)目錄結(jié)構(gòu)(可選)
接下來我們創(chuàng)建默認(rèn)目錄結(jié)構(gòu)。首先我們在本地把目錄結(jié)構(gòu)建立好
machost:conf xiayong$ sudo mkdir -p /tmp/svntemp
machost:conf xiayong$ cd /tmp/svntemp/
machost:svntemp xiayong$ sudo mkdir tags trunk branches
machost:svntemp xiayong$

接下來將本地目錄結(jié)構(gòu)倒入到我們的svn倉庫中
machost:svntemp xiayong$ sudo svn import -m 'init repo' /tmp/svntemp/ svn://localhost/local
Authentication realm: svn://localhost:3690 af662c40-23bf-43f4-93fa-8bf7eff40771
Password for 'root':
Authentication realm: svn://localhost:3690 af662c40-23bf-43f4-93fa-8bf7eff40771
Username: administrator
Password for 'administrator':
Adding /tmp/svntemp/trunk
Adding /tmp/svntemp/branches
Adding /tmp/svntemp/tags

Committed revision 1.

我是使用administrator這個(gè)用戶倒入的,因?yàn)槟壳爸挥羞@個(gè)用戶才有權(quán)限。

現(xiàn)在我們的svn服務(wù)器已經(jīng)可以用了,可以使用svn://localhost/local來訪問我們的local這個(gè)倉庫,當(dāng)然不要忘記了,我們剛才新添加了目錄,需要修改權(quán)限。
[local:/branches]
@user = rw
[local:/tags]
@user = r
[local:/trunk]
@user = rw

6、讓SVN服務(wù)隨操作系統(tǒng)啟動(可選)
查看svn內(nèi)存使用情況


svn在空閑時(shí)候才占了420k的內(nèi)存而已,所以我決定讓svn隨Mac系統(tǒng)一起啟動,編輯/etc/rc.local文件,在這個(gè)文件中加入以下內(nèi)容(此文件在Mac系統(tǒng)中是沒有的,需要手動創(chuàng)建)

to run the svnserver on the automatically.

svnserve -d -r /data/svn/repositories

本文出自 “xiayong” 博客,請務(wù)必保留此出處http://xiayong.blog.51cto.com/6292420/1088790

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容