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
Description: Message signed with OpenPGP using GPGMail