Ich versuche, sowohl einen Git-Server über http auszuführen, als auch SVN, das ebenfalls über http läuft. Ich verwende CentOS 6.
Meine git.conf-Datei (in /etc/httpd/conf.d/) sieht so aus
Lademodul authnz_ldap_module module/mod_authnz_ldap_module.so Lademodul ldap_module module/mod_ldap.so Servername blabla/git/repos Dokumentstammverzeichnis /var/www/git/repos SSLEngine ein SSL-Zertifikatsdatei /etc/ssl/server.crt SSL-Zertifikatschlüsseldatei /etc/ssl/server.key SetEnvIf-Benutzeragent ".*MSIE.*" nokeepalive ssl-unclean-shutdown Fehlerprotokoll /var/log/httpd/git-error.log CustomLog /var/log/httpd/git-access.log kombiniert # CGI-Bin-Skripte aktivieren Optionen ExecCGI FollowSymLinks AddHandler CGI-Skript CGI # Git HTTP Backend konfigurieren SetEnv GIT_PROJECT_ROOT /var/www/git SetEnv GIT_HTTP_EXPORT_ALL SetEnv GITWEB_CONFIG /etc/gitweb.conf # Hinweis: Statische Dateien direkt bereitstellen AliasMatch ^/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /var/www/git/$1 AliasMatch ^/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /var/www/git/$1 # Hinweis: Repository-Objekte mit Git HTTP-Backend bereitstellen ScriptAliasMatch \ "(?x)^/(.*/(HEAD | \ info/Referenzen | \ Objekte/Info/[^/]+ | \ git-(hochladen|empfangen)-pack))$" \ /usr/libexec/git-core/git-http-backend/$1 # Hinweis: HTML mit Gitweb bereitstellen ScriptAlias / gitweb/gitweb.cgi # Mod-Neuschreiben aktivieren RewriteEngine ein # Machen Sie die Startseite zu einer internen Neufassung des Gitweb-Skripts RewriteRule ^/$ /gitweb/gitweb.cgi [L] # Verknüpfung für ein Repository erstellen, also URL wie # lädt das richtige Repository in Gitweb Regel neu schreiben ^/(\w+\.git)$ /?p=$1 [L,P] # Route Git-Http-Backend ScriptAlias / /usr/lib/git-core/git-http-backend/ # Zugriff auf alle Ressourcen erforderlich AuthLDAPURL "ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub" KEINE AuthzLDAPAuthoritative aus AuthzGroupFileAuthoritative aus AuthzUserAuthoritative aus AuthLDAPBindDN bla@bla AuthLDAPBindPassword "bla" AuthType Basic AuthName "bla" AuthBasicProvider ldap # Wichtig, sonst "(9)Ungültiger Dateideskriptor: Kennwortdatei konnte nicht geöffnet werden: (null)" AuthUserFile /dev/null Gültiger Benutzer erforderlich
Meine Datei subversion.conf sieht so aus (befindet sich in /etc/httpd/conf.d/subversion.conf)
<Location /repos>
DAV svn
SVNPath /var/www/svn/repos
# search user (192.168.1.1 is the IP address of the Active Directory server)
AuthLDAPURL "ldap://blah:3268/dc=blah,dc=blah?sAMAccountName?sub" NONE
AuthzLDAPAuthoritative off
AuthzGroupFileAuthoritative off
AuthzUserAuthoritative off
AuthLDAPBindDN blah@blah
AuthLDAPBindPassword blah
AuthType Basic
AuthName "blah"
AuthBasicProvider ldap
# Important, otherwise "(9)Bad file descriptor: Could not open password file: (null)"
AuthUserFile /dev/null
Require valid-user
</Location>