Первоначальная ошибка проверки SVN: «доступ запрещен» в терминале, «ошибка 403» в браузере - PullRequest
0 голосов
/ 23 февраля 2012

Я пытался настроить svn-репозиторий на машине с Ubuntu 11.04, используя apache2 в качестве сервера.Я смог собрать VirtualHost, запустить его, создать репозиторий svn, настроить SSL и получить доступ к репозиторию svn локально.

Однако последние 1,5 дня я пытался выяснить, как проверить это, чтобы проверить его с другой машины, используя svn checkout с пользователем, которого я ранее создал для svn.Когда я пытаюсь проверить в терминале, я получаю следующую ошибку:

svn: access to '<Location>' forbidden

С другой стороны, если я иду в свой браузер, я получаю сообщение об ошибке 403:

You don't have permission to access /svn/TSAACode on this server.

Теперь я просмотрел форумы google, stackoverflow, linux и чердак моей бабушки и не смог найти решение.У меня есть предчувствие, что это как-то связано с правами доступа к каталогу SVN (который я установил на 777), или, может быть, что-то с сервером, которому не разрешено читать файлы.

Виртуальный хост:

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.pem
    SSLProtocol all
    SSLCipherSuite HIGH:MEDIUM

    DocumentRoot /svn/Code/
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>

    <Directory /svn/Code/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /etc/apache2/logs/papasmurf_error.log
    LogLevel warn

    CustomLog /etc/apache2/logs/papasmurf_access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

</VirtualHost>

dav_svn.conf Файл:

<Location /svn/Code>
    DAV svn
    SVNParentPath /svn
    AuthType Basic
    AuthName "Code"
    AuthUserFile /etc/svn-auth.htpasswd
    Require valid-user
    SSLRequireSSL
</Location>

Я думаю, этого должно хватить слова рвота - надеюсь, у кого-то есть идеячто происходит ... Я уверен, что нет.Заранее спасибо!

1 Ответ

1 голос
/ 23 февраля 2012

Я понял это.Когда я просматривал правильные файлы ошибок (файлы ошибок сервера Apache в / var / log / apache2, а не файлы ошибок сайта), я обнаруживал следующую ошибку при каждой попытке сделать заказ:

(2)No such file or directory: The URI does not contain the name of a repository.  [403, #190001]

и каждый раз, когда я пытался указать своему браузеру на хранилище, я обнаруживал эту ошибку:

Could not fetch resource information.  [403, #0]

Оказывается, это связано с ошибкой в ​​строке файла dav_svn.conf;он должен выглядеть следующим образом:

<Location /svn/>

DAV svn
SVNParentPath /svn
AuthType Basic
AuthName "Code"
AuthUserFile /etc/svn-auth.htpasswd
Require valid-user
SSLRequireSSL

</Location>

Поместив более низкий каталог в местоположение, но более высокий каталог в родительском пути SVN, я по сути создал противоречивое утверждение, которое сделало сервер неспособным выяснить, какой каталог япытался посмотреть.Кроме того, важен второй «/».

Спасибо, sarnold, за указание на правильные файлы ошибок!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...