Die Verbindung zu Subversion 1.7.2 auf Ubuntu 10.4 mit TortoiseSVN 1.7.3
In den letzten Tagen habe ich versucht, die Einrichtung eines Subversion-SVN-server auf meinem Ubuntu 10.04 Server (Natty Narwhal-Server). Ich hab folgten viele verschiedene tutorials. Ich habe mir etwa in der offiziellen Dokumentation, aber ich kann nicht den SVN-server zu arbeiten, mit Schildkröte.
Meinen letzten versuchen habe ich das einfachste setup:
- sudo apt-get install subversion libapache2-svn
- einrichten eines repo ('svnadmin create /path/to/repo -')
- konfigurierten apache2 virtal hosts-Datei
<Location /svn>
DAV svn
SVNParentPath /path/to/repo
SVNListParentPath on
</Location>
Habe ich nicht keine setup-Konten auf dem system habe ich nicht eingerichtet apache2 Ermächtigung, ich habe nicht eingestellt, dass SSL für host noch. Ich habe versucht, jene Dinge aber, die mit dem gleichen problem wie das Ergebnis. Auch ich tryied spielen arround mit Berechtigungen.
Nun, was passiert:
Nach dem einrichten der einfachen config oben kann ich die Verbindung zum repo auf den Rechner selbst (file:///), die ich Begehen kann, de kann Kasse. Ich kann auch durchsuchen Sie die repo-mit firefox und chrome.
BEARBEITEN ich die Installation von subversion auf einem Rechner in meinem eigenen lan, SSH zu verwenden. Getestet habe ich mit der IP von meinem router (192.168.1.100) auf y laptop. Das sollte Abbrechen der Verbindung/portforward Mühe, ich tink.
Aber das kann ich nicht durchsuchen Sie die repo-mit tools wie Tortoise oder Subclipse.
Warum gibt es einen Unterschied beim Browsen der repo in einem internet-browser und in ein svn-tool?
Was kann ich tun, um meine SVN-Arbeit im svn-tools?
EDIT 2 Nach der Beratung der Faule Dachs I tryed die Begehung auf dem svn-Maschine über das http-Protokoll und bekam ein interessanter Fehler:
svn: Server gesendet unexpected return value (403 Forbidden) in response to OPTIONS-Anfrage für"http://192.168.1.100/svn/testrepo'
EDIT 3, die ich gefunden habe die folgenden Zeilen in den log-Dateien meiner apache2:
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] (20014)Interner Fehler: Can ' T open file '/mnt/webserver/svn/testrepo/format': Keine solche Datei oder das Verzeichnis
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] Konnte nicht Holen Ressource information. [500, #0]
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] could not open the requested SVN filesystem [500, #2]
[Sun Jan 01 14:41:45 2012] [error] [client 192.168.1.1] could not open the requested SVN filesystem [500, #2]
und
[Mon Jan 02 07:20:40 2012] [error] [client 192.168.1.109] Konnte nicht Holen Ressource information. [301, #0]
[Mon Jan 02 07:20:40 2012] [error] [client 192.168.1.109] Anträge für eine Sammlung muss einen abschließenden Schrägstrich auf die URI. [301, #0]
Aktualisiert Subversion SVN, version 1.7.2
Habe ich erfolgreich meine aktualisierten Subversion SVN, version 1.7.2, die durch die Nutzung dieser thread:
http://ubuntuforums.org/showthread.php?t=1876156
-
Den Subversion-server gibt eine version 1.7.2
-
Den libapache2-svn gibt auch eine version 1.7.2
Aber es hat immer noch das gleiche problem: (aus dem apache2 access.log) url-und ip-bearbeitet werden.
84.198.xxx.xxx - - [03/Jan/2012:16:47:10 +0100] "GET /svn/testrepo/HTTP/1.1" 200 551 "http://link.hidden.by.author:8080/svn/" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20$
127.0.0.1 - - [03/Jan/2012:16:47:29 +0100] "OPTIONEN /svn/testrepo HTTP/1.1" 403 504 "-" "SVN/1.7.2 neon/0.29.5"
84.198.xxx.xxx - - [03/Jan/2012:16:52:49 +0100] "OPTIONEN /svn/testrepo HTTP/1.1" 403 510 "-" "SVN/1.7.2/TortoiseSVN-1.7.3.22386 neon/0.29.6"
Ich nicht ändern, die Dateien selbst. Es muss immer eine Konfiguration, die ich bin fehlt...
Ich löste das problem durch deaktivieren der apache2 RewriteEngine
Verdichten diese in eine Lösung:
-
Ich aktualisierte mein Subversion SVN, version 1.7.2 und das libapache2-svn-Modul auch.
-
Erstellte ich eine repo als root
-
Ich chown würde das repo auf www-data:www-data (apache-Benutzer und die Gruppe)
Können Sie auch einen neuen Benutzer anlegen und der Gruppe (z.B.: svn), aber als Sie brauchen, um Ihre apache2-user (www-data), die svn-Gruppe, um die webDAV-Arbeit.
-
Habe ich eine Gruppe von Berechtigungen für alle (chmod 775)
-
Habe ich SSL eingerichtet und Hinzugefügt, dieser block auf die virtuelle hosts-Datei in apache
/etc/apache2/sites-enabled/default-ssl:
<Location /svn>
DAV svn
SVNParentPath /mnt/webserver/svn
SVNListParentPath on
AuthType Basic
AuthName "Narwhal SVN"
AuthUserFile /etc/apache2/svn_passwd
RewriteEngine off
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
- Es war RewriteEngine off das war der trick.
Ich gefunden habe, ist dieser Tipp an: https://serverfault.com/questions/20169/webdav-on-centos-getting-403-error-when-attempt-to-upload
Danke alle, und speziell Faul Dachs, für Ihre Hilfe.
Edit Lösung: nach der Veröffentlichung der obigen Lösung ich starte in ein neues problem. Ich konnte es lösen, in ein paar Minuten.
Wenn Sie erhalten eine Fehlermeldung über ungültige XML-format, wenn Sie versuchen, einen POST-Befehl, den Sie wahrscheinlich benötigen, um in Sie dav_svn.conf oder der apache2 virtual hosts-Datei. Fügen Sie es einfach zu der Richtlinie:
http://svnbook.red-bean.com/en/1.7/svn.ref.mod_dav_svn.conf.html
SVNAdvertiseV2Protocol On|Off Neue Subversion 1.7, dies legt fest, ob mod_dav_svn kündigt seine Unterstützung für die neue version des HTTP-Protokolls führte auch in dieser version. Die meisten admins werden nicht wollen, diese Direktive zu verwenden (standardmäßig aktiviert), wählen Sie stattdessen um genießen Sie die performance-Vorteile, die das neue Protokoll bietet. Allerdings whena konfigurieren Sie einen server als write-through-proxy auf einem anderen server, die nicht das neue Protokoll unterstützen, setzen Sie diese Direktive mit dem Wert Off.
Du musst angemeldet sein, um einen Kommentar abzugeben.
file:///ist rein lokaler Zugriff-Methode - keine Sicherheit überprüft und nicht Apache DAV.
Versuchen
svn co http://...
- und PrüfergebnisseErgebnisse von der Kasse aus meinem working test-repo mit anonymen lese-Zugriff
svnadmin create
new repo für debug>dir /B conf dav db format hooks locks README.txt
Was sehen Sie, wenn Sie Punkte Ihrem browser http://servername/svn ?
Eine Sache, SVNParentPath, sollte Punkt zum übergeordneten Ordner Ihres repositories, z.B. /Pfad/zum/repo -
Erstellen Ihnen dann repositories wie
Nun können Sie zugreifen auf URLs
http://servername/svn/repo1
http://servername/svn/repo2
Nur eins, stellen Sie sicher, dass der apache lauscht auf 0.0.0.0, um den Zugriff von außerhalb der host über HTTP und nicht iptables läuft (oder Regel erstellen für Sie).
Dank.