0

第三方提供了运行 Apache 和 SVN 的服务器。但是,我正在设置 repo 并访问它。

有什么作用

我可以在浏览器中访问存储库。我的问题似乎在于使用版本或在终端中运行 SVN 命令。

使用 svn+ssh 从主干或分支中检出,并提交到这些位置。

什么不起作用

使用复制命令创建分支:

svn cp ^/trunk ^/branches/test -m'creating test branch'
svn: Repository moved permanently to 'http://svn.server/repo/'; please relocate

访问存储库的根目录

svn ls  http://svn.server/repo
svn: Repository moved permanently to 'http://svn.server/repo/'; please relocate 

我认为 svn 错误是一个红鲱鱼。对于每个失败的请求,我都会在访问日志中看到以下内容:

60.60.60.60 - - [25/Apr/2012:09:15:24 -0700] "OPTIONS /Repo HTTP/1.1" 401 478
60.60.60.60 - TravisKs [25/Apr/2012:09:15:24 -0700] "OPTIONS /Repo HTTP/1.1" 301 315

查看我的浏览器对根目录的请求的访问日志(成功)

60.60.60.60 - - [25/Apr/2012:09:47:31 -0700] "GET / HTTP/1.1" 200 936

因此,我的配置/安全性似乎存在错误,但无法找到它。

我的虚拟主机配置

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot /var/www/svn/
    ServerName svn.server
    ServerAlias svn.server

        <Directory "/var/www/svn" >
                Options Indexes FollowSymLinks
                AllowOverride All
                Allow from all
                Order allow,deny
        </Directory>

    ErrorLog /var/log/svn.server.com-error_log
    CustomLog /var/log/svn.server.com-access_log common

</VirtualHost>

我的 SVN 配置

<location "/repo">
  DAV svn
  SVNPath /var/www/svn/repo

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /var/www/svn/repo/conf/passwd
  Require valid-user
</location>

编辑

确认目录的文件权限

/var/www
[TravisKs@server ~]$ ls -la /var/www/svn
total 10032
drwxr-xr-x. 3 root   root       4096 Apr 23 16:46 .
drwxr-xr-x. 7 root   root       4096 Feb 13 14:33 ..
drwxr-xr-x. 7 apache apache     4096 Apr 20 17:19 repo
[TravisKs@server ~]$ ls -la /var/www/svn/repo/
total 1180
drwxr-xr-x. 7 apache apache    4096 Apr 20 17:19 .
drwxr-xr-x. 3 root   root      4096 Apr 23 16:46 ..
drwxr-xr-x. 2 apache apache    4096 Apr 20 15:44 conf
drwxr-xr-x. 3 apache apache    4096 Apr 20 17:19 dav 
drwxr-sr-x. 6 apache apache    4096 Apr 24 19:10 db
-r--r--r--. 1 apache apache       2 Apr 20 14:18 format
drwxr-xr-x. 2 apache apache    4096 Apr 20 14:18 hooks
-rw-r--r--. 1 apache apache 1167874 Apr 20 14:34 import_log.txt
drwxr-xr-x. 2 apache apache    4096 Apr 20 14:18 locks
-rw-r--r--. 1 apache apache     229 Apr 20 14:18 README.txt
4

1 回答 1

0

所以这个问题似乎源于 VirtualHost 和 SVN 之间的冲突。我重新配置了我的 httpd.conf 文件,删除了虚拟主机并只保留了 location 指令:

<location "/svn">
  DAV svn
  SVNParentPath /var/www/svn
  SVNListParentPath on

  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /var/www/svn/repo/conf/passwd
  Require valid-user
</location>

下一步将在适当的位置创建和使用身份验证文件。此时,我们可以通过浏览器浏览整个 SVN 存储库,并在控制台命令和版本客户端中正常运行。

于 2012-04-25T20:48:29.113 回答