SVN mit Apache 2.2-Fehler: „Verboten. Sie haben keine Berechtigung, auf /repos auf diesem Server zuzugreifen.“

SVN mit Apache 2.2-Fehler: „Verboten. Sie haben keine Berechtigung, auf /repos auf diesem Server zuzugreifen.“

Ich habe verfolgtdiese SVN-Installationsanleitungund wenn ich versuche, über auf mein Test-Repo zuzugreifen http://localhost/repos, authentifiziere ich mich erfolgreich, aber dann erhalte ich Folgendes:

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

Hier ist meine subversion.conf-Datei:

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>

Mein Pfad ist /var/www/svn/repos und hier sind meine Berechtigungen

[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

Wenn ich zu localhost/repos/README.TXT gehe, erhalte ich diese Meldung.

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

Stattdessen gibt jeder andere Dateiname Folgendes aus errcode ="2" .

selinux ist auf permissiv eingestellt, ich kann die Datei localhost/index.html unter var/www/html/index.html problemlos sehen.

Ich habe einige Forenbeiträge zu ähnlichen Problemen durchgelesen, aber ohne Erfolg.

Ich bin für alle Ideen dankbar!

BEARBEITEN 1:

Ich habe meine Datei subversion.conf bearbeitet, um Änderungen SVNParentPath /var/www/svn/reposvorzunehmen SVNParentPath /var/www/svn, aber es scheint keine Wirkung zu haben.

BEARBEITEN 2:

brain99 hat es geschafft. Der Wechsel zu hat Location />das Problem behoben und jetzt bekomme ich einerepos - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).

Antwort1

Es scheint, dass Sie die Anweisungen SVNPath und SVNParentPath verwechseln.

Aus Ihrem Beitrag scheint hervorzugehen, dass es /var/www/svn/repossich um ein einzelnes Repository handelt. Verwenden Sie in diesem Fall

SVNPath /var/www/svn/repos

Nur wenn Sie mehrere Repositories haben, sollten Sie SVNParentPath verwenden. Jedes einzelne Repository sollte sich dann in einem Unterordner des hier konfigurierten Verzeichnisses befinden.

Legen Sie es also entweder auf das übergeordnete Verzeichnis fest:

SVNParentPath /var/www/svn

Oder lassen Sie die Konfiguration wie sie ist und verschieben Sie Ihr aktuelles Repository in ein Unterverzeichnis, z. B. /var/www/svn/repos/myRepo

Weitere Informationen zur Verwendung von mod_dav_svn finden Sie imSVN-Buchabschnitt zu mod_dav_svn

Antwort2

Überprüfen Sie zuerst, ob das Verzeichnis SVNParentPath /var/www/svn/repos existiert. Gibt es als Nächstes Unterverzeichnisse? Es sollten Repository-Verzeichnisse mit eigenen Datenbanken vorhanden sein. Wenn das Verzeichnis leer ist oder keine Unterverzeichnisse hat, erstellen Sie ein beliebiges Repository mit dem Befehl svnadmin (rufen Sie das Handbuch auf). Besteht nach der Erstellung das Problem weiterhin? Kommentieren Sie alle Direktiven AUTH* aus und starten Sie Apache neu. Der Zugriff erfolgt anonym, aber Sie werden prüfen, ob eine Autorisierung problematisch ist oder nicht. Wenn der Zugriff möglich ist, ist die Autorisierung ein Problem. Sie müssen dies konfigurieren. Sie müssen das Apache-Handbuch lesen und lernen, wie Sie AuthUserFile /etc/svn-auth-conf für die grundlegende Autorisierung verwalten. Wenn das Problem (mit auskommentierter Authentifizierung) weiterhin besteht, liegt das Problem bei den Dateizugriffsrechten. Konfigurieren Sie Lese-/Schreibzugriff auf den vom Apache-Server verwendeten Benutzernamen. PS: auxww sagt Ihnen, um welchen Benutzer es sich handelt. Die Gruppennummer erhalten Sie aus der Datei /etc/passwd. Den Gruppennamen erhalten Sie aus der Datei /etc/group. Danach können Sie auschecken/aktualisieren und committen und Probleme mit der Autorisierung lösen. Es gibt viele Rezepte. Ich habe die Frage „SVN erstellt mein erstes Repository“ bei Google eingegeben und viele Antworten erhalten. Die erste ist zum Beispiel: http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/ Probier diese :)

Übrigens: CentOS ist eine Redhat-ähnliche Linux-Distribution. Sie können Apache mit /etc/init.d/httpd start/stop neu starten. Sehen Sie nach, was in die Dateien /etc/apache oder /etc/httpd geschrieben wird (abhängig von der Linux-Distribution und der Standardkonfiguration von Apache).

Antwort3

Versuchen Sie diese Optionen: SVNListParentPath auf

verwandte Informationen