Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 获取Subversion的问题+;阿帕奇开始工作了_Svn_Apache_Mod Dav Svn - Fatal编程技术网

Svn 获取Subversion的问题+;阿帕奇开始工作了

Svn 获取Subversion的问题+;阿帕奇开始工作了,svn,apache,mod-dav-svn,Svn,Apache,Mod Dav Svn,按照中的说明,我一直在尝试在我的站点上设置Subversion,使用Apache而不是SVN服务。设置好所有内容后,我将在/srv/svn/myrepository上创建一个存储库,可从code.mydomain.com访问该存储库 但是,按照上面链接的指南中的所有说明进行操作后,访问code.mydomain.com将显示Apache默认站点/var/www(即“它工作!”)的内容。这还会在我的Apache日志中生成以下错误: [Sat Nov 06 10:11:33 2010] [notic

按照中的说明,我一直在尝试在我的站点上设置Subversion,使用Apache而不是SVN服务。设置好所有内容后,我将在/srv/svn/myrepository上创建一个存储库,可从code.mydomain.com访问该存储库

但是,按照上面链接的指南中的所有说明进行操作后,访问code.mydomain.com将显示Apache默认站点/var/www(即“它工作!”)的内容。这还会在我的Apache日志中生成以下错误:

[Sat Nov 06 10:11:33 2010] [notice] caught SIGTERM, shutting down
[Sat Nov 06 10:11:34 2010] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sat Nov 06 10:11:34 2010] [notice] mod_python: using mutex_directory /tmp
[Sat Nov 06 10:11:34 2010] [notice] Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_jk/1.2.26 PHP/5.2.6-1+lenny9 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 configured -- resuming normal operations
以下是我的站点配置的编辑版本:

<VirtualHost my.server.ip:80>
        ServerAdmin me@mydomain.com
        ServerName code.mydomain.com
        ErrorLog /srv/www/code.mydomain.com/logs/error.log
        CustomLog /srv/www/code.mydomain.com/logs/access.log combined

        <Location />
                DAV svn
                SVNPath /srv/svn/myrepository

                AuthType Basic
                AuthName "Subversion Repository"
                AuthUserFile /srv/auth/svn/myrepository.htpasswd
                Require valid-user
        </Location>
</VirtualHost>

服务器管理员me@mydomain.com
ServerName code.mydomain.com
ErrorLog/srv/www/code.mydomain.com/logs/error.log
CustomLog/srv/www/code.mydomain.com/logs/access.log
DAV svn
SVNPath/srv/svn/myrepository
AuthType Basic
AuthName“Subversion存储库”
AuthUserFile/srv/auth/svn/myrepository.htpasswd
需要有效用户
提前感谢您提供的任何帮助


下面是我根据其他用户的建议所做的一些故障排除的结果(非常感谢)。在每种情况下,我都在进行更改后重新启动Apache,然后检查站点以验证结果:

0)我没有通过SSL连接

1) SVNParentPath只有在使用多个存储库时才有必要——在这里,我只使用一个。尽管如此,我还是使用SVNParentPath重新进行了配置,并得到了相同的结果

2) 我尝试将Auth选项放在限制节中,得到了相同的结果。然后我删除了所有的Auth选项,但得到了相同的结果

3) 从配置文件中删除了所有Auth选项并收到了相同的结果,我认为这与授权模块无关;不过,我可以确认,尽管我确实加载了dav_svn模块,但我没有加载authz_svn模块

4) 我已经在/srv/svn/myrepository位置创建了存储库。我在该位置运行了svnadmin verify,工具报告一切正常

5) 我在Debian5上,Apache作为www数据运行;在此之前,我已经给出了www-data:www-data-ownership的/srv/svn以及/srv/svn/myrepository。我在这些目录上运行了stat,以验证这一点

6) pingcode.mydomain.com表明它确实正在解析到正确的IP地址

7) 我运行了a2ensite code.mydomain.com,这显然还没有完成(oops),并重新启动了Apache。文件夹/srv/www/code.mydomain.com/logs现在包含access.log和error.log,但这两个文件仍然为空。同时,尝试访问code.mydomain.com会产生与以前相同的结果,并且默认的Apache error.log包含与以前相同的错误消息


8) 所有Apache配置文件都不包含名称virtualhost*:80行。

首先检查您是否要使用http而不是https

我使用的是centos 5.5。将我的/etc/httpd/conf.d/subversion.conf与您提供的内容进行比较,得出以下观察结果

检查:

  • SVNPath应该是SVNParentPath
  • 尝试注释AuthType、AuthName和AuthUserFile,并要求查看其是否有效。尝试将它们封装在:

    <LimitExcept GET PROPFIND OPTIONS REPORT>
    ...
    </LimitExcept>
    
  • 你所做的一切

    svnadmin create /srv/svn/myrepository
    
  • 你所做的一切

    chown -R apache.apache /srv/svn/myrepository
    
    (如果您在debian/ubuntu上,apache.apache将是www-data:www-data)

  • 似乎您不应该将这些内容放在/etc/apache2/sites available/code.domain.com文件中,而是应该编辑/etc/apache2/mods available/dav_svn.conf(它应该已经存在,并且包含与您试图放在site conf文件中的内容大致相同的内容。从site conf文件中删除所有重复的内容)


    您需要在位置/svn中放置一个路径。

    我认为您只需要确保svn站点虚拟域位于层次结构的顶部。默认情况下,debian系统将默认端口配置为默认域。您可能需要更改特定于域的属性

    有关详细说明,请查看此链接


    最后一行“sudo a2ensite svn.example.com”很重要。

    非常感谢,先生。我已经更新了最初的帖子,注意到了实施这些建议的结果——简言之,我的问题仍然存在,但你出色的建议确实帮助我排除了一两个原因。我认为在术语上方再多写4行可能有用不幸的是,这就是我访问code.mydomain.com时写入错误日志的全部内容。您是在显示/srv/www/code.mydomain.com/logs/error.log和/srv/www/code.mydomain.com/logs/access.log的内容还是默认apache日志的内容?这里显示的是默认apache日志的内容。/srv/www/code.mydomain.com/logs目录为空。能否发布默认apache日志的内容?当你访问“code.mydomain.com”时,你能告诉我们它是否得到更新吗?另外,您能否告诉我们,在同一配置中是否有其他虚拟主机?我的猜测是,您从浏览器发出的请求是由默认主机或其他虚拟主机响应的?(检查是否属实)哦,它肯定是由默认虚拟主机响应的--我通过禁用“默认”来确认这一点,这导致code.mydomain.com显示了一个完全不同的站点,我在服务器上的其他位置托管了该站点。重新启用“默认”将返回“它工作!”页面。我只是不知道为什么现在它会被默认回答…你应该在某个地方有一个名为VirtualHost*:80的行,最好是在apa中
    chown -R apache.apache /srv/svn/myrepository