【Akroma, Angel of Fury】完成svn環境搭建

昨天的那篇博文偏偏是實驗室所幹的事兒服務器

可是那是一種很投機取巧的方式完成的多project管理方式less

來看看我創建環境的方法ide

首先,找一個比較閒的公用服務器(爲何不用本身的?有公共資源不用,你傻啊?),這裏我用的是wl22這臺服務器svn

找到這個服務器上的一個閒置用戶(就是沒人用的帳號,其實只是利用這個帳號真身在這臺服務器上的特性,好操做罷了)ui

以後好比我用的是junze這個用戶,要把個人svn的服務器建起來,只須要根據下面幾個步驟來就好this

cd ~
mkdir svn_root
svnadmin create --fs-type fsfs /home/junze/svn_root/project_1
svnadmin create --fs-type fsfs /home/junze/svn_root/project_2

這裏要注意的是,只須要創建母目錄/home/junze/svn_root 以後用svn的命令去創建底下的project目錄,接下來import進內容spa

svn import /home/ql/project_1 file:///home/junze/svn_root/project_1 -m "Import initial"
svn import /home/ql/project_2 file:///home/junze/svn_root/project_2 -m "Import initial"

這裏,這兩個項目就創建完成了,接着來操做權限。把每一個project下面的conf/svnserve.conf中的相應註釋去掉,以後因爲我比較懶,想共享passwd和authz,那就這麼改一下,對多個project,改掉相應的realm就能夠了,使用一樣的passwd和authz就能夠,後面附上code

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository.  (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
password-db = /home/junze/svn_root/passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control.  Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory.  If you don't specify an authz-db, no path-based access
### control is done.
### Uncomment the line below to use the default authorization file.
authz-db = /home/junze/svn_root/authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa.  The default realm
### is repository's uuid.
realm = project_1 Repository

passwdorm

### This file is an example password file for svnserve.
### Its format is similar to that of svnserve.conf. As shown in the
### example below it contains one section labelled [users].
### The name and password for each user follow, one account per line.

[users]
admin = admin
user_vip = user_vip
guest = guest

而此時authz須要當心一點,我用的parent+path的格式blog

### This file is an example authorization file for svnserve.
### Its format is identical to that of mod_authz_svn authorization
### files.
### As shown below each section defines authorizations for the path and
### (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a
### single user, to a group of users defined in a special [groups]
### section, or to anyone using the '*' wildcard.  Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ('').

[groups]
project_1RW = admin, user_vip
project_1R = guest
project_2RW = admin
project_2R = user_vip, guest

[project_1:/]
@project_1RW = rw
@project_1R = r
* =

[project_2:/]
@project_2RW = rw
@project_2R = r
* =

這裏要注意的是你開啓svnserve的時候的路徑和你如今指定的路徑是有關係的,反正按照我說的來老是沒錯的,下一步就是開啓svnserve服務器就能夠開始訪問svn了

svnserve -d -r /home/junze/svn_root/

好了,能夠開始使用svn了

svn ls svn://wl22/project_1 --username user_vip --password user_vip

good luck, guys

相關文章
相關標籤/搜索