AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 26997
Accepted
Richard
Richard
Asked: 2009-06-17 19:11:22 +0800 CST2009-06-17 19:11:22 +0800 CST 2009-06-17 19:11:22 +0800 CST

在 Windows 上使用 Active Directory 身份验证的 SvnServe

  • 772

现在我的公司正在使用网络共享与 SVN 存储库进行通信。它真的很慢,所以我想切换到 SVNSERVE。

我的公司选择采用文件系统路线的主要原因是,使用我们现有的活动目录身份验证系统可以轻松确保安全。

根据我的阅读,只要您使用Sasl 库,就可以将 SvnServe 与活动目录一起使用。我只是想知道是否还有其他人正在这样做并且可以提供一些有关配置的指示,因为它似乎没有在任何地方记录。

谢谢

编辑

我们在快速服务器上安装了 svn,但不幸的是它被用于其他公司文件共享和服务。

我被告知 HTTP 协议不会比使用 SMB 的 file:// 更快。有没有人有这方面的任何文件。我认为真正的客户端服务器模型会表现得更好。我们有大约 13 名开发人员和一个构建服务器全天提交和更新。

svn vcs saslauthd
  • 5 5 个回答
  • 8046 Views

5 个回答

  • Voted
  1. Best Answer
    Brian
    2009-06-24T12:58:39+08:002009-06-24T12:58:39+08:00

    走死简单的路线,只需安装 Visual SVN 服务器。

    http://www.visualsvn.com/server/

    将其安装在加入您的 Active Directory 的服务器上。您现在拥有带有 AD 身份验证的 SVN over http(s)。使用它附带的方便的花花公子 MMC 工具管理权限。从 0 到部署大约需要 15 分钟。

    • 10
  2. gbjbaanb
    2009-06-24T10:27:37+08:002009-06-24T10:27:37+08:00

    请注意,不建议对 SVN 存储库使用 file:// 访问权限,它更多地用于管理工具。文件访问的问题是您没有中间的服务器来确保所有写入都正确写入。所以尽快停止使用它。

    Svnserve(或 Apache)要好得多,但您会遇到同样的性能问题 - 它不会变得更好,因为您的网络使用 http 或 svn 协议而不是 smb。如果您今天的访问速度很慢,那么它仍然会很慢,除非您对网络或文件系统进行一些处理(或其他任何使其变慢的事情)。

    但是,迁移到 Apache 或 Svnserve 本身是值得的。

    svnserve 和 sasl 库存在问题,最近在 svn 邮件列表中提到。问题是 svn 协议不允许纯文本,但 saslauthd 只允许纯文本身份验证。最终结果 -它只是不起作用,并且是一个已知问题。

    不过,如果您在 Windows 上运行,也不是很糟糕,只需安装 VisualSVN Server。它是一个顶级包装,为您提供 Apache 安装,作为 Windows 服务运行,具有管理单元管理,以及在安装过程中只需单击单选按钮即可进行活动目录身份验证。您甚至可以将 acls 放在 repo 中的目录或文件上。

    如果没有,我仍然推荐 Apache,因为它的配置有更好的文档记录,并且它确实支持 LDAP 身份验证(与 AD 一起使用)。有很多博客文章描述了如何做到这一点。

    http 而不是 svn 的性能会更慢,但我怀疑你会注意到它,除非你并排安装并签出/提交一个大目录。试试看 - 你可以同时使用 Svnserve 提供 Apache 服务的 repo。(尽管我会在将其付诸实践之前验证该声明)。

    • 3
  3. interstellar
    2009-06-24T12:21:20+08:002009-06-24T12:21:20+08:00

    抱歉,没有带有 Windows 身份验证的 Svnserve。尽管如此,我还是使用 Svnserve 和 SASL 并手动管理帐户,因为这里使用 SVN 的实际程序员数量非常少。

    您愿意冒着 Windows 文件共享的风险来进行 SVN 的事实表明您一定处于绝望的境地,因此我建议您使用 SSL 而不是 Apache,在那里您可以获得Windows 身份验证。它使用 SSL 而不是 SVN,但已经足够接近了。给你:

    1. 关闭文件共享。
    2. 安装 CollabNet Subversion Server(免费)。这包括 Apache,这是您从现在开始访问 SVN 的方式。
    3. mod_auth_sspi在 Apache 中安装并在httpd.confCollabNet Subversion 服务器附带的服务器中进行设置。

    我同时运行 HTTPS 和 SVN,但个人更喜欢手动管理 SASL 帐户,这样我可以获得 SVN 协议的额外速度,这比 HTTPS 快一点。

    • 1
  4. Ryan B. Lynch
    2009-06-24T12:46:13+08:002009-06-24T12:46:13+08:00

    简而言之,将 SVN 存储库从网络共享切换到 SVNServe 或 Apache/WebDAV 不会提高客户端的性能。如果有的话,客户会看到更差的性能。

    当然,以上假设您打算继续在当前托管它的同一台服务器上运行存储库。如果您将 SVN 存储库移动到更强大的服务器,您可能会看到性能有所提高。

    有没有检查过当前服务器是否过载?它是否也为许多非 SVN 客户端/文件提供服务?如果是这样,您可能会看到通过将 SVN 存储库移动到专用服务器来提高性能。如果您在一台服务器上有多个存储库,请考虑将它们拆分到多台服务器上。(如果需要,您可以将现有的单个存储库拆分为多个存储库以帮助解决此问题。)

    但是,实际上,您需要弄清楚为什么现有性能很差。首先分析当前服务器上的负载。性能通常受到某些系统资源容量的限制,主要是您的 RAM、CPU、磁盘 I/O 速率、网络 I/O 容量。尝试回答以下问题:

    • 你的 CPU 是 100% 固定的,还是有很多空闲周期?CPU 使用率可能会有所不同,但如果平均为 100% 或接近 100%,那么您可能需要更多/更快的 CPU。

    • 您有多少可用 RAM(占总数的百分比)?您使用了多少交换空间(同样,占总数的百分比)?如果您的可用 RAM 少于 10%,则您可能会用完 RAM,这会迫使系统改为使用磁盘交换。这会减慢一切,但对您来说更糟,因为交换与 SVN 活动竞争有限的磁盘 I/O。

    • 您每秒向/从磁盘移动多少数据(批量传输)?您的磁盘每秒执行多少次寻道?你的磁盘队列有多长?您的服务器磁盘应针对批量数据传输和查找速率进行评级。(如果没有,您可以自己对它们进行基准测试。)如果您的平均传输和查找速率达到或接近最大值,则需要使用更快的磁盘。如果您使用 RAID,请以提高性能的方式添加更多磁盘。如果您不使用 RAID,请开始使用它。

    • 您每秒向/从服务器传输多少网络数据?如果该速率接近额定最大值的 80-90%(例如,10Mbit/s、100Mbit/s、1Gbit/s),则您可能已达到网络链路的限制。(请注意,较便宜的 NIC 或坏驱动程序的最大值可能会大大降低 - 对您的链接进行基准测试以确保。)尝试升级到更快的链接,或查看您的 NIC 驱动程序是否支持绑定(也称为“链接聚合”或“通道绑定” ) 以提高性能。

    鉴于您的环境中这些问题的答案,请尝试增加任何有限资源的容量。这可能意味着服务器升级或更换,或者可能是网络升级。

    • 1
  5. wzzrd
    2009-06-17T22:48:20+08:002009-06-17T22:48:20+08:00

    它不完全相同,但我在 Linux 服务器上有一个 svn 存储库。服务器没有运行 svnserve,但允许用户通过 ssh 使用 svn。由于 Linux 服务器是 AD 成员服务器,并且用户也来自 AD,因此这是一个非常简单和安全的解决方案。

    • 0

相关问题

  • 使用 Subversion 部署应用程序

  • 在 Windows 上使用 SVN 自动部署?

  • 将 SVN 服务器/存储库从 Linux 迁移到 Windows 有什么问题?

  • 在 OpenSuse 或 Ubuntu for Linux 新手上安装 Subversion

  • 如何为 SVN 提供透明的备份服务器

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve