svn eclipse /svnserve.conf:12: Option expected

常有新手配置基于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。如果出现下面图片,说明安装成功

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的提示。如下图所示:

,让我纠结了很久的一个问题

后来发现问题的原因是passwd文件中所有行前面都不能有空格,如果有空格的话就会提示这个错误。

总之,大家在配置的过程一定要注意authz passwd svnserve.conf文件所有行的前面都不能有空格;注意建立svn管理用户和组;另外注意单仓库和多仓库权限的配置问题和它们的访问路径问题。

这样的话,基本上就可以正常地享受SVN之旅了。

时间: 2024-10-09 14:56:38

svn eclipse /svnserve.conf:12: Option expected的相关文章

【转】SVN添加文件时的错误处理:...\conf\svnserve.conf:12: Option expected

转载地址:http://www.linuxidc.com/Linux/2014-09/106683.htm 安装完SVN服务器,添加完用户权限后,准备将本地的项目add到服务器上时,报"C:\Documents and Settings\Subversion Repository\conf\svnserve.conf:12: Option expected ". 网上查找,需要做以下配置: svnserve.conf文件修改前: ----------------------------

svnserve.conf:12: Option expected的问题解决方法

刚配置基于svnserve的svn服务器后,在客户端访问svn时出现这个错误:svnserve.conf:12: Option expected出现这个问题的原因是svn读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如 ### The authz-db option controls the location of the authorization ### rules for path-based access control.  Unless you specify

svnserve.conf:27: Option expected

在客户端访问subversion版本库时出现这个错误:svnserve.conf:27 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 o

SVN svnserve.conf: Option expected 的解决方法 以及 Authorization failed 的解决方法

① 在 CentOS 6.5 上安装配置了 SVN,在本地 Checkout 的时候报错: 显示:/www/svnroot/webfile/conf/svnserve.conf:12: Option expected 原因是,在 vim svnserve.conf 时,配置语句的前段出现了空格,如 anon-access 没有顶格写,前面多了空格,就会出现这个报错. ② 在 tortoise SVN 客户端检出时输入帐密后,出现: 原因是 authz 文件中在分配权限之前没有指定权限路径,例如要

svnserve.conf: Option expected的问题解决方法

经常有新手配置基于svnserve的subversion服务器后,在客户端访问subversion版本库时出现这个错误:svnserve.conf:12: Option expected为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件 配置要顶格写

svn: E200002: line 19: Option expected

提交代码时报错: svn: E200002: error while parsing config file :/ home/..../svnserve.conf svn: E200002: line 19: Option expected 这是因为修改svnserve.conf时,打开注释时,配置的前面有空格,应该顶格写. 修改后即可.

Ubuntu 14 下配置 svn服务器 svnserve

Ubuntu 下 首先安装 subversion apt-get install subversion 创建文件夹 mkdir /mnt/hgfs/sharefile/wwwroot/svn 建立版本库 svnadmin create /mnt/hgfs/sharefile/wwwroot/svn [email protected]:/home/wwwroot/default# cd /mnt/hgfs/sharefile/wwwroot/svn [email protected]:/mnt/h

linux svn服务器svnserve 安装配置

svnserve 是一个轻量级的服务, 使用自定义的协议通过TCP/IP与客户端通讯.客户端通过由 svn:// 或者 svn+ssh:// 开始的URL访问svnserve服务器. svn服务器有两种运行方式:独立服务器svnserve和借助apache作为apache的一个模块,以webdav/deltav协议通讯.svn存储版本数据有两种方式:BDB和FSFS.BDB方式在服务器中断时,可能锁住数据.FSFS方式更安全些,兼容性好.一.安装subversion apt-get instal

(转) How to install eclipse in ubuntu 12.04

源地址:http://www.krizna.com/ubuntu/install-eclipse-in-ubuntu-12-04/ Eclipse installation in ubuntu 12.04 is very simple . you can install eclipse using “software center” but you may not get the latest version, better download the latest version and ins