svn eclipse /svnserve.conf:12: Option expected

來源:互聯網
上載者:User

標籤:expected   controls   

常有新手配置基於svnserve的subversion伺服器後,
在用戶端訪問subversion版本庫時出現這個錯誤:

svnserve.conf:12: Option expected

為什麼會出現這個錯誤呢,就是因為subversion讀取設定檔svnserve.conf時,無法識別有前置空格的設定檔,如
### 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 = read

   auth-access = write

像上面的設定檔中,anon-access是頂行的,沒問題,而auth-access就存在前置空格,會導致這個錯誤。
要避免出現這個錯誤,應該在去掉這些行前的#時,也要順手去掉前面的空格,這一點,在鄭新星老早的文章《Subversion之路--實現精細的目錄存取權限控制》就提到過。








           

   

  linux下搭建SVN遇到authentication failed問題的解決方案

 

         

我的系統為ubuntu server 12.04(其實只要是linux核心的,搭建步驟都差不多,至多有apt-get yum 或者源碼安裝的區別,這點大家不用擔心)(以下所有安裝步驟最好在root許可權下)

1.在終端中直接輸入  sudo apt-get install subversion,選擇安裝即可

2.(可選)看版本命令 svnserve --version。如果出現下面圖片,說明安裝成功

650) this.width=650;" alt="svn version資訊" src="http://img1.51cto.com/attachment/201207/094935574.jpg" border="0" height="120" width="160" /> 

3.添加svn系統管理使用者和subversion組(這步很重要,不然也會導致authentication錯誤)

sudo adduser svnuser(添加svnuser使用者)

sudo addgroup subversion(添加subversion組)

sudo addgroup svnuser subversion

4.開始建立項目目錄

sudo mkdir /home/svn (這裡的svn即為版本庫目錄檔案,以後所有的操作都在/home/svn下

cd /home/svn

mkdir one(這裡即為一個版本庫檔案,檔案名稱可以任意取)

chown -R root:subverison one

chmod -R g+rws one

5.建立SVN檔案倉庫,即為上面建立的one檔案目錄

svnadmin create /home/svn/one

到這一步,安裝基本完成,開始改配置。

6.在/home/svn/one檔案目錄中可以看到conf檔案夾,可針對conf檔案夾中的authz、passwd、svnserve.conf進行設定,svnserve.conf主要設定整體的安全性原則,passwd則設定使用者名稱和密碼,authz則是設定具體的使用者有什麼許可權。

7.存取權限設定

 (1)編輯svnserve.conf檔案,編輯svnserve.conf檔案。

anon-access:匿名使用者的許可權,可以為read,write和none,預設值read。不允許匿名使用者存取:anon-access = none

auth-access:認證使用者的許可權,可以為read,write和none,預設值write。

password-db:密碼資料庫的路徑,去掉前邊的#

authz-db:認證規則庫的路徑,去掉前邊的#。

注意:這些配置項的行都要頂格,否則會報錯。修改配置後需要重啟svn才會生效。
(2)編輯passwd檔案,加入使用者名稱和密碼(如下為樣本)

這是每個使用者的密碼檔案,比較簡單,就是“使用者名稱=密碼”,採用的是明碼。如allen=1(apache模式下密碼為經過加密的變化)

 [users]
allen = 1
ellen = 1
test = 1
 

(3)編輯authz檔案,配置使用者存取權限(如下為樣本)

1. [groups] section:為了便於管理,可以將一些使用者放到一個組裡邊,比如:owner=allen,ellen

2. groups下邊的sections表示對一個目錄的認證規則,比如對根目錄的認證規則的section為[/]。設定單使用者的認證規則時一個使用者一行,如:

[/]

allen=rw  #allen對根目錄的許可權為rw

ellen=r   #ellen對根目錄的許可權為r

如果使用group,需要在group名字前加@,如

@owner=rw  #group owner中的使用者均為rw,等價於上邊的兩句話

啟動時如果從/home/svn/one啟動,/就是one目錄,用如上方式以one目錄為根設定許可權。

如果從/home/svn/啟動,每個倉庫根還是自己的起始目錄。可以採用如上方式設定astar的許可權,也可以採用如下方式:

[one:/]

@owner=rw

簡言之,每個倉庫的根目錄(/)就是自己的起始目錄;[repos:/]這種方式只適用於多倉庫的情況;[/]適合於單倉庫和單倉庫的方式。更多關於單倉庫和多倉庫的問題,請見 http://http://bbs.iusesvn.com/thread-157-1-1.html

8.啟動svn服務 svnserve -d -r -T /home/svn

描述說明:
-d 表示svnserver以“守護”進程模式運行

-T表示以線程模式運行,增加效率
-r 指定檔案系統的根位置(版本庫的根目錄),這樣用戶端不用輸入全路徑,就可以訪問版本庫。如: svn://你的IP/one

這個時候SVN就安裝完成了。

然後在WINDOW下面安裝用戶端tortoise SVN(可能這裡大家要問,為什麼用戶端要安裝在WINDOWS下面,因為畢竟很多程式員調試代碼都是在WINDOWS下面,而且查看代碼什麼的都是WINDOWS下面方便)。

9.這時候可以在用戶端用使用者名稱和密碼登陸使用了,這裡大家都會。

這個時候輸入密碼的時候就很有可能遇到authentication failed的提示。如所示:

650) this.width=650;" src="http://img1.51cto.com/attachment/201207/103532732.jpg" alt="authentication failed資訊" border="0" />

,讓我糾結了很久的一個問題

後來發現問題的原因是passwd檔案中所有行前面都不能有空格,如果有空格的話就會提示這個錯誤。

總之,大家在配置的過程一定要注意authz passwd svnserve.conf檔案所有行的前面都不能有空格;注意建立svn系統管理使用者和組;另外注意單倉庫和多倉庫許可權的配置問題和它們的訪問路徑問題。

這樣的話,基本上就可以正常地享受SVN之旅了。





























svn eclipse /svnserve.conf:12: Option expected

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.