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 / 问题 / 420992
Accepted
gozu
gozu
Asked: 2012-08-25 13:22:08 +0800 CST2012-08-25 13:22:08 +0800 CST 2012-08-25 13:22:08 +0800 CST

带有 Apache 2.2 错误的 SVN:“禁止访问此服务器上的 /repos”

  • 772

我一直在关注这个 svn 安装指南,当我尝试访问我的测试仓库时http://localhost/repos,我成功地进行了身份验证,但后来我得到了这个:

"Forbidden You don't have permission to access /repos on this server"

这是我的 subversion.conf 文件:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so


<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn/repos
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic
      AuthName "Subversion repos"
      AuthUserFile /etc/svn-auth-conf
      Require valid-user
#   </LimitExcept>
</Location>

我的路径是 /var/www/svn/repos 这是我的权限

[root@localhost svn]# ls -la repos/
total 32
drwxr-xr-x. 6 apache apache 4096 Aug 24 11:42 .
drwxr-xr-x. 3 root   root   4096 Aug 24 11:42 ..
drwxr-xr-x. 2 apache apache 4096 Aug 24 13:50 conf
drwxr-sr-x. 6 apache apache 4096 Aug 24 11:42 db
-rwxr-xr-x. 1 apache apache    2 Aug 24 11:42 format
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 hooks
drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 locks
-rwxr-xr-x. 1 apache apache  229 Aug 24 11:42 README.txt

如果我转到 localhost/repos/README.TXT,我会收到此消息。

<D:error><C:error/><m:human-readable errcode="20">
Could not open the requested SVN filesystem
</m:human-readable></D:error>

errcode ="2" 而是给出任何其他文件名。

selinux 设置为 permissive,我可以看到位于 var/www/html/index.html 的 localhost/index.html 文件就好了。

我已经阅读了一些具有类似问题的 fozen 论坛帖子,但无济于事。

任何想法,将不胜感激!

编辑 1:

我编辑了我的 subversion.conf 文件以更改SVNParentPath /var/www/svn/repos为,SVNParentPath /var/www/svn但它似乎没有任何效果。

编辑 2:

brain99 做到了。更改以Location />解决问题,现在我得到了repos - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).

apache-2.2
  • 3 3 个回答
  • 25446 Views

3 个回答

  • Voted
  1. Best Answer
    brain99
    2012-08-25T13:35:56+08:002012-08-25T13:35:56+08:00

    看来您混淆了 SVNPath 和 SVNParentPath 指令。

    从您发布的内容来看,它似乎/var/www/svn/repos包含一个存储库。在这种情况下,使用

    SVNPath /var/www/svn/repos
    

    只有当你有多个存储库时,你才应该使用 SVNParentPath。然后,每个单独的存储库都应位于您在此处配置的目录的子文件夹中。

    所以要么将它设置为父目录:

    SVNParentPath /var/www/svn
    

    或者保持配置不变并将当前存储库移动到子目录,例如 /var/www/svn/repos/myRepo

    有关 mod_dav_svn 使用的更多信息,请查看有关 mod_dav_svn 的 SVN Book 部分

    • 6
  2. Znik
    2014-07-08T23:24:42+08:002014-07-08T23:24:42+08:00

    首先,检查目录 SVNParentPath /var/www/svn/repos 是否存在。接下来,有没有子目录?应该有他自己的数据库的存储库目录。如果目录为空或没有子目录,请使用 svnadmin 命令(调用手册)创建任何存储库。创建后问题还存在吗?然后注释掉所有指令 AUTH* ,并要求并重新启动 apache。访问将是匿名的,但您会检查授权是否有问题。当可以访问时,授权是问题。你必须配置它。您必须阅读 apache man 并学习如何管理 AuthUserFile /etc/svn-auth-conf 以获得基本授权。当问题(注释掉 auth)仍然存在时,问题出在文件访问权限上。配置对 apache 服务器使用的用户名的读/写访问权限。ps auxww 告诉你那个用户是什么。您将从 /etc/passwd 文件中获得的组号。您将从 /etc/group 文件中获得的组名。在此之后,当您可以签出/更新并提交时,您可以通过授权解决问题。有很多食谱。我将问题“svn create my first repository”放入谷歌,我得到了很多答案。第一个是例如: http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/ 试试这个 :)

    顺便提一句。centos 是类似于 redhat 的 linux 发行版。您可以通过 /etc/init.d/httpd start/stop 重新启动 apache。查看写入文件 /etc/apache 或 /etc/httpd 的内容(取决于 linux distributio 和默认的 apache 配置)。

    • 0
  3. Chandan
    2014-07-02T22:23:00+08:002014-07-02T22:23:00+08:00

    试试这个选项: SVNListParentPath on

    • -3

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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