Apache, SVN e Active Directory: come evitare la configuration duplicata?

Sto cercando di colbind l'SVN ospitato su Apache su un Windows Server 2008 all'Active Directory.

Ho capito cosa devo fare per gestire i gruppi di utenti sul livello di repository:

<Location "/SampleRepository1"> DAV svn SVNPath H:/Repositories/SampleDirectory1 AuthBasicProvider ldap AuthzLDAPAuthoritative Off AuthLDAPURL "ldap://.../DC=...,DC=com?sAMAccountName?sub?(objectClass=*)" none AuthLDAPBindDN "CN=Subversion,OU=Subversion,DC=...,DC=com" AuthLDAPBindPassword "..." AuthType Basic AuthName "Use your sAMAccountName to connect. If you're unsure, write to contact@...com." require ldap-group CN=Subversion OpenSource Contributors,OU=Subversion,DC=...,DC=com require ldap-group CN=Subversion Administrators,OU=Subversion,DC=...,DC=com </location> <Location "/SampleRepository2"> DAV svn SVNPath H:/Repositories/SampleDirectory2 AuthBasicProvider ldap AuthzLDAPAuthoritative Off AuthLDAPURL "ldap://.../DC=...,DC=com?sAMAccountName?sub?(objectClass=*)" none AuthLDAPBindDN "CN=Subversion,OU=Subversion,DC=...,DC=com" AuthLDAPBindPassword "..." AuthType Basic AuthName "Use your sAMAccountName to connect. If you're unsure, write to contact@...com." require ldap-group CN=Subversion Administrators,OU=Subversion,DC=...,DC=com </location> 

Quello che mi preoccupa è che ci sia anche la duplicazione di mach: se SVNPath e il ldap-group cambiano da repository al repository, tutto il resto rimane lo stesso.

Come evitare il duplicamento del codice mentre è in grado di autorizzare alcuni repository a gruppi diversi?

  • Imansible utilizzare la politica di gruppo in Windows Server 2008
  • Dialogo di protezione di Windows non viene visualizzato quando si accede al mio server tramite il desktop remoto
  • Backup di Sytem di Windows Server 2008
  • Azionamento di sistema su SSD; pagefile alla propria unità?
  • Aggiunta di errori di ruolo Hyper-V
  • Un utente di Windows Active Directory può avere alias?
  • Problema di stato di session ASP.NET del server Web IIS 7.5 bilanciato
  • Utilizzo di CPU Terminal Server al 100%
  • One Solution collect form web for “Apache, SVN e Active Directory: come evitare la configuration duplicata?”

    Le tue preoccupazioni derivano dalla visualizzazione della configuration di Apache come codice; non lo è. Ti farai impazzire se pensi a questo proposito da quella prospettiva.

    Non esiste una struttura logica, solo alcuni costrutti condizionali rudimentali su alcuni comandi individuali e non a nessuna manipolazione variabile. Tutte le cose che consentono a un linguaggio di programmazione di autorizzare di evitare la duplicazione di codice e di migliorare il stream logico non sono semplicemente presenti, per progettazione; è solo un file di configuration, dopo tutto – alcuni sostengono che è troppo flessibile (e quindi troppo facile trasformare una configuration in un enorme disordine nonsensico) come è.

    Detto questo, puoi ridurre molte delle configurazioni che hai ottenuto solo applicando alcune delle tue direttive a un genitore di quel path URL; supponendo che è ansible applicare in modo sicuro queste direttive a / e che queste direttive si applicano a each repository nel sistema:

     <Location "/"> DAV svn AuthBasicProvider ldap AuthzLDAPAuthoritative Off AuthLDAPURL "ldap://.../DC=...,DC=com?sAMAccountName?sub?(objectClass=*)" none AuthLDAPBindDN "CN=Subversion,OU=Subversion,DC=...,DC=com" AuthLDAPBindPassword "..." AuthType Basic AuthName "Use your sAMAccountName to connect. If you're unsure, write to contact@...com." </Location> <Location "/SampleRepository1"> SVNPath H:/Repositories/SampleDirectory1 require ldap-group CN=Subversion OpenSource Contributors,OU=Subversion,DC=...,DC=com require ldap-group CN=Subversion Administrators,OU=Subversion,DC=...,DC=com </Location> <Location "/SampleRepository2"> SVNPath H:/Repositories/SampleDirectory2 require ldap-group CN=Subversion Administrators,OU=Subversion,DC=...,DC=com </Location> 

    Tutti i blocchi <Location> che corrispondono a una richiesta appliceranno le loro direttive (nell'ordine in cui il file li contiene), il che significa che puoi dividere un sacco di configuration comune in un path genitore applicabile.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.