ubuntuusers.de

SVN & Apache auf Server

Status: Ungelöst | Ubuntu-Version: Server 8.04 (Hardy Heron)
Antworten |

thehax

Anmeldungsdatum:
28. Juli 2009

Beiträge: 3

Hallo. Nachdem ich nun den halben Tag mit diesem Problem herum dümple muss ich eingestehen, dass ich nicht mehr weiter weiss. Ich habe mir auf meinem Server ein SVN Repository eingerichtet und möchte darauf nun mit eclipse arbeiten. Nach vielem hin und her kann ich das Repository nun über den Browser einsehen und auch von eclipse aus erreichen. Allein die wichtigsten Funktionen, die ich auf valid-users begrenzt habe wollen nicht klappen. Ein Blick in das Apache Logfile bringt Klarheit (oder auch nicht): der user, mit dem ich mich über eclipse anmelde wird nicht gefunden. Soviel zur Klarheit, allerdings weiss ich einfach nicht mehr woran das liegen kann.

Ausschnitt apache2/sites-enabled:

        <Location /svn/.*>
                DAV svn
                SVNListParentPath on
                SVNPath /path/to/my/svn
                AuthType Basic
                AuthName "Haxpository"
                AuthUserFile /etc/subversion/passwd
                <LimitExcept GET PROPFIND OPTIONS REPORT>
                        Require valid-user
                </LimitExcept>
        </Location>

Auszug Logfile:

[Tue Jul 28 15:52:21 2009] [error] [client [myLocalIp]] user [myUserName] not found: [myRepositoryPath]!svn/act/6ff88dc1-2201-0010-b718-056d7515420f

Auszug svnserve.conf des Repositorys:

[general]
 anon-access = none
 auth-access = write

 password-db = /etc/subversion/passwd

Ich weiss einfach nicht mehr, wo ich noch nachschauen kann. Ich bin dankbar für jeden Tip!

cljk

Anmeldungsdatum:
4. Januar 2008

Beiträge: 123

Bei mir ist die Einrichtung schon ein wenig her, deshalb kann es sein, dass ich dir Mist erzähle, aber deine Config von APACHE scheint fehlerhaft zu sein (AuthzSVNAccessFile fehlt).

Das steht bei mir in dav_svn.conf die dav_svn.authz bearbeitet man dann nach dem Standard für SVN.

 AuthType Basic
 AuthName "Subversion Repository"
 AuthUserFile /etc/apache2/dav_svn.passwd

   require valid-user

 # To enable authorization via mod_authz_svn
 AuthzSVNAccessFile /etc/apache2/dav_svn.authz 

PS im conf-Verzeichnis des Repositories hab ich *gar nix* geändert.

epyx

Avatar von epyx

Anmeldungsdatum:
22. März 2007

Beiträge: 48

cljk schrieb:

# To enable authorization via mod_authz_svn

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

Brauchst du nicht zwingend. Würde bei der location das /.* weg machen

hier einmal der conf-Ausschnitt meines vServers.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
<IfModule mod_dav.c>
<Location /subversion>
        DAV svn
        SVNPath /home/subversion/public/Privat

        AuthType Basic
        AuthName "Privates Repository"
        Order deny,allow
        Require valid-user
        AuthUserFile /home/subversion/users/svn.pwd
        AuthzSVNAccessFile /home/subversion/permissions/perm.conf
</Location>
</IfModule>

Dier perm.conf zur Verwaltung der Rechte :

1
2
3
[/]
epyx = rw
public = r

cljk

Anmeldungsdatum:
4. Januar 2008

Beiträge: 123

epyx schrieb:

cljk schrieb:

# To enable authorization via mod_authz_svn

AuthzSVNAccessFile /etc/apache2/dav_svn.authz

Brauchst du nicht zwingend. Würde bei der location das /.* weg machen

hier einmal der conf-Ausschnitt meines vServers.

Hast's doch auch drin...!? Wo soll der auch sonst die Berechtigungen (lesen/schreiben) hernehmen....

thehax

(Themenstarter)

Anmeldungsdatum:
28. Juli 2009

Beiträge: 3

Also ich habe ein auth-file erstellt:

[groups]
friends = user1,user2,user3

[/]
@friends = rw

und das /.* entfernt, dafür das authz-file in die vhosts eingetragen:

<Location /svn>
    DAV svn
    SVNListParentPath on
    SVNPath /path/to/my/svn
    AuthType Basic
    AuthName "Haxpository"
    AuthUserFile /etc/subversion/passwd
    AuthzSVNAccessFile /etc/subversion/authz
    <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
    </LimitExcept>
</Location>

Nun erreiche ich mein Repository weder über Browser, noch über eclipse. Im Browser bekomme ich die Meldung:

Forbidden

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

Eclipse sagt mir:

svn: OPTIONS of '/svn': 403 Forbidden (http://myServer)

Es geht also garnichts mehr.

epyx

Avatar von epyx

Anmeldungsdatum:
22. März 2007

Beiträge: 48

cljk schrieb:

Hast's doch auch drin...!? Wo soll der auch sonst die Berechtigungen (lesen/schreiben) hernehmen....

Wenn es nicht drin steht, dann ist per default für public rw gesetzt.

thehax schrieb:

Nun erreiche ich mein Repository weder über Browser, noch über eclipse. Im Browser bekomme ich die Meldung:

Forbidden

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

Eclipse sagt mir:

svn: OPTIONS of '/svn': 403 Forbidden (http://myServer)

Es geht also garnichts mehr.

Kann der Apache eigentlich im Verzeichnis lesen oder schreiben ?

Zumal ich die Limits erst rein machen würde wenn der Rest auch geht.

Eine Anleitung die bei mir gerade in 5 Minuten funktioniert hat :

1. Pakete installieren (haste sicherlich schon)

apt-get install libapache2-svn subversion

2. Repository erstellen svnadmin create /data/nameofrepository

3. Rechte für den Apache setzen chown -R www-data /data/nameofrepository

4. Apache konfigurieren

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
Add to /etc/apache2/mods-enabled/dav_svn.conf:

<Location /svn/nameofrepository>
  DAV svn
  SVNPath /data/nameofrepository/
  AuthType Basic
  AuthName "Subversion repository nameofrepository"
  AuthUserFile /etc/apache2/dav_svn.nameofrepository.passwd
  <LimitExcept GET PROPFIND OPTIONS REPORT>
     Require valid-user
  </LimitExcept>
</Location>

5. Zugriffsbestimmungen festlegen

htpasswd /etc/apache2/dav_svn.nameofrepository.passwd myusername

6. Apache neustarten / konfiguration nachladen

thehax

(Themenstarter)

Anmeldungsdatum:
28. Juli 2009

Beiträge: 3

Leider funktioniert es immernoch nicht. Was ich bisher allerdings Falsch gemacht habe war der Location Eintrag. Den hatte ich bisher bei den vhosts gemacht. Nun habe ich ihn unter mods-enabled/dav_svn.conf eingefügt:

<Location /svn/repository>
  DAV svn
  SVNListParentPath on
  SVNPath /path/to/my/repository
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/subversion/passwd
  AuthzSVNAccessFile /etc/subversion/authz
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

Anschliessend Apache neu gestartet. Doch weiterhin die gleichen Fehlermeldungen. Das Verzeichnis gehört www-data und die Rechte sind gesetzt.

Ich weiss langsam nicht mehr weiter.

vralfy

Anmeldungsdatum:
6. April 2010

Beiträge: 2

Hallo,

ich habe ein Problem mit meinem SVN-Server. Am besten ich poste ersteinmal meine configs

dav_svn.conf

<Location /repos/>
  DAV svn

  SVNListParentPath On
  SVNParentPath /home/svn/repositories

  AuthzSVNAccessFile /home/svn/dav_svn.authz

  Require valid-user

  AuthType Basic 
  AuthName "Subversion Repository"
  AuthUserFile /home/svn/dav_svn.passwd
</Location>

/home/svn/dav_svn.authz

[groups]
gruppe1 = user1
gruppe2 = user2
#generic =

[/]
* = r 

[project1:/]
@gruppe2 = rw

Dumm ist nur das alle Benutzer zugriff auf project1 haben. Entferne ich allerdings dieses "* = r" funktioniert überhaupt nichts mehr [1]

Antworten |