- 浏览: 828411 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
renzhengzhi:
请教一下楼主,公有云和私有云的开发,具体要做哪些工作呢?我拿到 ...
4,云的4 种模式 -
SangBillLee:
我用了solr5.5,用SolrQuery查询,没法高亮,不知 ...
solr5.x快速入门 -
lw900925:
这翻译读起来真是别扭。
solr in action翻译-第一章1.1 -
springjpa_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
Spring MVC性能提升 -
h416373073:
正遇到了此问题不知如何解决, 多谢分享
solr错误
在 Subversion 中包含 Svnserve - 一个轻型的独立服务器,它使用一个基于一般 TCP/IP 连接的定制协议。用于小型安装,或者不能使用全能 Apache 服务器的地方。
In most cases svnserve is easier to setup and runs faster than the Apache based server, although it doesn't have some of the advanced features. And now that SASL support is included it is easy to secure as well.
-
可以从这里获取最新版本的 Subversion http://subversion.apache.org/getting.html。另外,也可以从 ColabNet 获取一个打包好的安装程序 http://www.collab.net/downloads/subversion 。这个安装程序将会把 svnserve 设置为 Windows 服务,并且还包含了一些你需要的工具,如果你为了安全而使用 SASL。
-
如果你已经安装了 Subversion,svnserve 已经运行,你需要在继续之前把它停下来。
-
运行 Subversion 安装程序,如果你在你的服务器(推荐)上运行,可以跳过第 4 步。
-
打开资源管理器,进入Subversion的安装目录(通常是
C:\Program Files\Subversion
)的bin
目录,找到文件svnserve.exe
,intl3_svn.dll
,libapr.dll
,libapriconv.dll
,libapriutil.dll
,libdb*.dll
,libeay32.dll
和ssleay32.dll
,复制这些文件,或所有bin
目录内的文件到你的服务器目录,例如c:\svnserve
。
现在svnserve已经安装了,你需要在你的server运行它,最简单的方法是在DOS窗口或者windows快捷方式输入:
svnserve.exe --daemon
svnserve将会在端口3690等待请求,--daemon选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退出。
如果你没有创建一个版本库,根据下面的Apache服务器设置指令“配置”一节。
为了验证svnserve正常工作,使用TortoiseSVN → 版本库浏览器来查看版本库。
假定你的版本库位于c:\repos\TestRepo
,你的服务器叫做localhost
,输入:
svn://localhost/repos/TestRepo
当被版本库浏览器提示输入。
你也可以使用 --root 选项设置根位置来限制访问服务器的目录,从而增加安全性和节约输入 svnserve URL 的时间:
svnserve.exe --daemon --root drive:\path\to\repository\root
以前面的测试为例,svnserve 现在的运行命令为:
svnserve.exe --daemon --root c:\repos
然后在 TortoiseSVN 中我们的版本库浏览器 URL 缩短为:
svn://localhost/TestRepo
注意,当 svnserve 和版本库位于不同分区或盘符时也需要使用 --root 选项。
Svnserve 可以提供任意数量的版本库服务。只要将这些版本库放到你刚才定义的根目录下即可,然后使用相对于根的URL访问它们。
警告
不要创建和访问网络共享上的 Berkeley DB 版本库,它不能存在于一个远程的文件系统,即使是映射到盘符的共享。如果你希望在网络共享使用 Berkeley DB,结果难以预料-你可能会立刻看到奇怪的错误,也有可能几个月之后才发现数据库已经损坏了。
使用普通用户直接运行 svnserve 通常不是最好的方法。它意味着你的服务器必须有一个用户登录,还要记着重新启动服务器后重新启动 svnserve。最好的方法是将 svnserve 作为 windows 服务运行。从 Subversion 1.4 开始,svnserve 可以安装为 windows 服务。
To install svnserve as a native windows service, execute the following command all on one line to create a service which is automatically started when windows starts.
sc create svnserve binpath= "c:\svnserve\svnserve.exe --service --root c:\repos" displayname= "Subversion" depend= tcpip start= auto
If any of the paths include spaces, you have to use (escaped) quotes around the path, like this:
sc create svnserve binpath= " \"C:\Program Files\Subversion\bin\svnserve.exe\" --service --root c:\repos" displayname= "Subversion" depend= tcpip start= auto
You can also add a description after creating the service. This will show up in the Windows Services Manager.
sc description svnserve "Subversion server (svnserve)"
注意 sc
的命令行很特殊。在 key= value
对中,key 与 =
之间不能有空格,但是在 value 之前,必须有空格。
提示
Microsoft 现在建议服务程序使用本地服务或网络服务帐户运行,参考 The Services and Service Accounts Security Planning Guide。以本地服务帐户创建服务,需要在上面的例子里追加下面几行。
obj= "NT AUTHORITY\LocalService"
请注意需要给本地服务帐户一些目录的适当权限,包括的 Subversion 和你的版本库,还有所有钩子脚本使用的应用。此帐号的内置组名是"LOCAL SERVICE"。
服务安装完毕后,你需要在服务管理器中启动它(仅此一次;当服务器重启后它会自动启动)。
为了得到更详细的信息,可参考 Windows Service Support for Svnserve。
如果你已经使用 SvnService
包装安装了早期的 svnserve,现在想使用内置服务,那么你需要将其从服务中删除(切记先停止服务!)。使用简单的命令
svnservice -remove
即可删除服务。
The default svnserve setup provides anonymous read-only access. This means that you can use an svn://
URL to checkout and update, or use the repo-browser in TortoiseSVN to view the repository, but you won't be able to commit any changes.
为了打开对版本库的写访问,你可以编辑版本库目录的conf/svnserve.conf
文件,这个文件控制了svnserve守护进程的配置,也提供了有用的文档。
为了打开匿名的写访问,只需要简单得设置:
[general] anon-access = write
然而,你不会知道谁修改了版本库,因为svn:author
属性是空的,你也不能控制谁来修改版本库,这是一个很危险的设置。
解决这个问题的一个方法是创建密码数据库:
[general] anon-access = none auth-access = write password-db = userfile
这里的 userfile
与 svnserve.conf
文件在同一个目录,这个文件也可以存在于文件系统的其他地方(当多个版本库使用相同的访问权限时尤其有用),可以使用绝对路径,或者是 conf
的相对目录,使用 \ 或盘符不能工作。userfile
的结构如下:
[general] anon-access = none auth-access = write password-db = userfile
这个例子拒绝所有的未认证用户(匿名)访问,给 userfile
中的用户读写权限。
提示
If you maintain multiple repositories using the same password database, the use of an authentication realm will make life easier for users, as TortoiseSVN can cache your credentials so that you only have to enter them once. More information can be found in the Subversion book, specifically in the sections Create a 'users' file and realm and Client Credentials Caching
Cyrus 简单的认证和安全层(The Cyrus Simple Authentication and Security Layer)是一个由卡耐基梅隆大学编写的开源软件。它可以为任何网络协议增加通用认证和加密的能力,并且从 Subversion 1.5 开始所有的后续版本,包括 svnserve 服务器和 TortoiseSVN 客户端知道如何使用这个库。
要获得这一选项可用性的更充分讨论,你应该看一下 Subversion 手册中的通过 SASL 使用 svnserve 。如果你仅仅是找一种简单的方法为 Windows 服务器设置安全的认证和加密,因此你的版本库可以安全的通过又大又乱的互联网访问,请继续阅读。
要在服务器上激活详尽的 SASL 功能,你需要做 3 件事。首先,在你的版本库的 svnserve.conf
文件中创建一个 [sasl]
节,包括这样一个配置项:
use-sasl = true
其次,在一个合适的地方创建一个名为 svn.conf
的文件 - 通常在 Subversion 的安装目录中。
第三,创建 2 个新的注册表项目来告诉 SASL 到哪里找到需要的东西。创建一个名为的 [HKEY_LOCAL_MACHINE\SOFTWARE\Carnegie Mellon\Project Cyrus\SASL Library]
注册表键并在其中创建两个新的字符串值:SearchPath
设置为 sasl*.dll
插件所在的目录路径(通常是 Subversion 的安装目录),ConfFile
设置为 svn.conf
文件所在的目录。如果你使用 CollabNet 安装程序,这两个注册表键就已经为你创建好了。
编辑文件 svn.conf
,使其包括下列内容:
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: DIGEST-MD5 sasldb_path: C:\TortoiseSVN\sasldb
最后一行指示认证数据库的位置,认证数据库是一个名为 sasldb
的文件。它可以在任何地方,不过一个方便的选择是在版本库的上层目录中。确认 svnserve 服务有读取这个文件的权限。
如果 svnserve 已经在运行,你需要重启服务,并确保它读取了更新后的配置参数。
现在所有的东西已经设置完成,你要做的事情就是创建用户和密码。你需要 saslpasswd2
程序来做这件事。如果你使用 CollabNet 安装程序,这个程序会在安装目录内。使用像这样的命令:
saslpasswd2 -c -f C:\TortoiseSVN\sasldb -u realm username
选项 -f
指明数据库的位置,realm
必须与版本库的 svnserve.conf
文件中设置相同的值, username 就是你要使用的用户名。注意 realm 不允许包含空字符。
你可以使用 sasldblistusers2
程序列出数据库中储存的用户名。
为了启用或禁用加密的不同等级,你可以设置版本库内文件 svnserve.conf
中的两个值:
[sasl] use-sasl = true min-encryption = 128 max-encryption = 256
变量 min-encryption
和 max-encryption
控制服务器所需要的加密强度。要完全禁用加密,就将这 2 个变量的值都设为 0。要启用简单的数据校验(例如,为了防止篡改和保证数据的完整,不加密),就将这 2 个值都设为 1。如果你想允许(但不强制)加密,将最小值设为 0,最大值设为任意位数。要强制加密,将这 2 个值设为大于 1 的数字。在前面的例子中,我们要求客户端至少进行 128 位加密,但是不大于 256 位加密。
另一种 svnserve 认证的方法是使用 SSH 来建立请求通道。它不像设置 SASL 那样简单,但是某些场合却很有用。
通过此方法,svnserve 不会作为守护进程启动,而是 SSH 为你启动 svnserve,以 SSH 认证的用户身份运行,为此,你需要在你的服务器上有 SSH 守护进程。
设置服务器的基本方法请参见附录 G, 用 SSH 使服务器更安全。你可以在常见问题(FAQ)中使用关键词 “SSH” 找到其它 SSH 相关的主题。
更多的关于svnserve的信息可以看《使用 Subversion 进行版本管理》。
从 Subversion 1.3 开始,svnserve 支持与 mod_authz_svn
相同的基于路径的授权模式,你需要编辑版本库路径下的 conf/svnserve.conf
引用的授权文件。
[general] authz-db = authz
发表评论
-
svn: No repository found in 'svn:..解决方案
2013-12-06 09:42 1143svn服务未启动或者是启动的时候未指定svn仓库路径 使用 ... -
外部条目
2010-08-30 21:13 117有时候,构建一个需要不同检出的工作目录是很有用的。举例来说,你 ... -
项目设置
2010-08-30 21:12 119有时你可能想得到关于一个文件/目录的更多 ... -
清理f
2010-08-30 21:10 138也许由于服务器问题,一个Subversion指令不能成功地完成 ... -
撤消更改
2010-08-30 21:10 131如果你想要撤消一个文件自上次更新后的所有的变更,你需要选择该文 ... -
删除、移动和改名
2010-08-30 21:09 199不像 CVS,Subversion 允许重命名和移动文件和目录 ... -
忽略文件和目录
2010-08-30 21:08 185在多数项目中你 ... -
复制/移动/重命名文件和文件夹
2010-08-30 21:07 199经常发生其它项目需要使用某个项目文件的情况,你只想简单的复制它 ... -
添加新文件和目录
2010-08-30 21:06 139如果在你的开发过程中你创建了新的文件或目录,那么你需 ... -
查看差异
2010-08-30 21:05 178在项目开发中,有一个 ... -
版本日志对话框
2010-08-30 21:03 152对于每次进行修改和提交,你应该有针对性地留下日志信息。这样,你 ... -
修改列表
2010-08-30 20:58 94理想情况下,你任何时候都只做一件事,你的工作副本只包含一个逻辑 ... -
本地与远程状态
2010-08-30 20:57 101. 检查修改 通常知道你修改了哪些文件以及哪 ... -
获得状态信息
2010-08-30 20:56 138获得状态信息 ... -
解决冲突
2010-08-30 20:51 105偶尔,当你从版本库更新、合并文件时,或者切换工作副本至一个不同 ... -
用来自别人的修改更新你的工作副本
2010-08-30 20:49 101已经完成更新的进度对话框 Periodically ... -
将你的修改提交到版本库
2010-08-30 20:48 144将你的修改提交到 ... -
检出工作副本
2010-08-30 20:45 162为了得到一个工作副本,需要进行从版本库检出的操作。 在Win ... -
导入数据到版本库
2010-08-30 20:44 133导入 如果你要将数据导入到已经 ... -
日常使用指南
2010-08-30 20:42 116为了获得比每日用户指南更多的信息: 你应该已经安 ...
相关推荐
如果用户不能远程修改自已的密码,非常的不方便也不符合安全性要求。该程序是为能远程修改基于svnserve配置的subversion服务器密码。里面含有详细的操作部署流程。
Windows基于Apache的svn服务器配置
还有一种是基于svnserve的独立服务器模式。 SVN的数据存储方式也有两种:一种是在Berkeley DB数据库中存储数据;另一种是使用普通的文件FSFS存储数据。 由于Berkeley DB方式在使用中有可能锁住数据,一般建议使用...
svnserve服务器 svnserve使用SSH通道 Apache 的 HTTP 服务器 推荐 svnserve,一个自定义的服务器 调用服务器 svnserve作为守护进程 使用svnserve通过inetd 通过通道使用svnserve svnserve作为Windows服务 内置的认证...
3.6. 基于 svnserve 的服务器 3.6.1. 简介 3.6.2. 安装 svnserve 3.6.3. 运行 svnserve 3.6.3.1. 以服务形式运行 svnserve 3.6.4. svnserve 与基本认证 3.6.5. 使用 SASL 以便更安全 3.6.5.1. 什么是 SASL? ...
3.2. Svnserve服务器 3.2.1. 简介 3.2.2. 安装svnserve 3.2.3. 运行svnserve 3.2.3.1. 以服务形式运行svnserve 3.2.4. svnserve的认证 3.2.5. 使用svn+ssh的认证 3.2.6. svnserve以路径为基础的授权 4. 版本库 4.1. ...
3.6. 基于 svnserve 的服务器 ............................................. 19 3.6.1. 简介 ......................................................... 19 3.6.2. 安装 svnserve ................................
mod_authz_svn 模块可以根据用户名和路径实现细粒度的权限控制,它对 Apache 服务器有效,在 Subversion 1.3 以上版本的 svnserve 中也实现了基于路径的授权。 一个可能的例子: [groups] admin = john, kate ...
iii 目录 前言 ............................................................................................................................................... 配置服务器 ...............................
3.2. 基于 svnserve 的服务器 ............................................. 23 3.2.1. 简介 ......................................................... 23 3.2.2. 安装 svnserve ................................