[prev in list] [next in list] [prev in thread] [next in thread]
List: apache-httpd-users-de
Subject: svn_dav: SVNPATH dynamisch je nach Username
From: Denny Fuchs <linuxmail () 4lin ! net>
Date: 2015-01-27 12:56:24
Message-ID: 6AA45A54-9932-4DDD-B2D2-302746B31FB8 () 4lin ! net
[Download RAW message or body]
Hallo,
wir setzen OpenProject (Fork Chiliproject/Redmine) ein und nutzen unter anderem das \
SVN Plugin. Das Plugin erzeugt für jeden Studenten (sofern er ein Projekt erzeugt, \
welches SVN aktiviert hat) ein Verzeichnis:
/opt/op/svn/repositories/$username/$username-$projektname
Das ermöglicht uns einen besseren Überblick zu bewahren, wenn der Student mehrere SVN \
Projekte erzeugt.
Das Problem ist nun, dass SVNPATH / SVNParentPATH jeweils nur statisch sind und damit \
ein Aufruf der URL:
https://svn.example.de/svn/foobar/foobar-myproject
ins Leere läuft, da das svn_dav Modul nun die "format" Datei physisch unter:
(bei SVNPATH)
/opt/op/svn/repositories/
(bei SVNParentPATH)
/opt/op/svn/repositories/foobar
erwartet.
Korrekterweise müsste SVNPATH aber "/opt/op/svn/repositories/foobar" lauten, was \
nicht funktioniert, da wir:
a) nicht wissen, welche Studenten SVN (statt git) nutzen
b) es zu viele wären -> 500-1500 User
ich habe schon diverses ausprobiert ... aber letzten Endes hat nichts geholfen. Eine \
Idee war diese hier:
http://serverfault.com/questions/230253/mixing-subversion-svnparentpath-and-per-repository-configurations
aber auch da muss ich irgendwie den Benutzernamen in SVNPath bekommen.
Wie schaffe ich es also $auth_name mit dem passenden Wert zu füllen?
Die Authentifikation erfolgt über Radius.
=====================
[...]
<Macro SubversionRepo >
<Location /svn/>
DAV svn
SVNPath "/opt/op/svn/repositories/$auth_name"
Deny from all
Satisfy any
PerlAccessHandler Apache::Authn::OpenProject::access_handler
# PerlAuthenHandler Apache::Authn::OpenProject::authen_handler
OpenProjectApiKey 'secret'
OpenProjectUrl 'https://scm.example.com'
<Macro GetValidUser $auth_name>
AuthType Basic
AuthName "$auth_name"
AuthBasicAuthoritative Off
AuthBasicProvider radius
AuthRadiusAuthoritative on
AuthRadiusActive On
require valid-user
</Macro>
Use GetValidUser "Informatik SVN Repository"
#read-only access
<Limit GET PROPFIND OPTIONS REPORT>
Require valid-user
Allow from 127.0.0.1
</Limit>
# write access
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
</Macro>
Use SubversionRepo
</VirtualHost>
==============
wie gesagt, ich experimentiere da gerade sehr ...
Ziel soll es sein, dass SVNParentPath passend erweitert wird. Eine URL sieht so aus:
https://svn.example.de/svn/foobar/foobar-myproject
SVNPath muss dann also /opt/op/svn/repositories/$auth_name/foobar-myproject lauten.
Hat jemand da eine Idee?
cu denny
["signature.asc" (signature.asc)]
-----BEGIN PGP SIGNATURE-----
iEYEARECAAYFAlTHivgACgkQKlzhkqt9P+ANdwCdFacXmTlqT2kg9VsYYV2VHD7C
paMAnjuNaWFl5XPSl5OlsfmEzOgHCP0F
=icGY
-----END PGP SIGNATURE-----
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic