Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:git_centos_7_-_gitweb

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
tachtler:git_centos_7_-_gitweb [2015/08/07 13:38] klaustachtler:git_centos_7_-_gitweb [2015/08/07 15:36] (aktuell) – [/etc/gitweb.conf] klaus
Zeile 879: Zeile 879:
 # default: #                            ssh://git.example.com/var/lib/git); # default: #                            ssh://git.example.com/var/lib/git);
 our @git_base_url_list = qw(http://git.tachtler.net our @git_base_url_list = qw(http://git.tachtler.net
 +                            http://www.git.tachtler.net
                             https://git.tachtler.net);                             https://git.tachtler.net);
  
Zeile 934: Zeile 935:
 # default: #our @git_base_url_list = qw(git://git.example.com # default: #our @git_base_url_list = qw(git://git.example.com
 # default: #                            ssh://git.example.com/var/lib/git); # default: #                            ssh://git.example.com/var/lib/git);
-our @git_base_url_list = qw(http://git.tachtler.net);+our @git_base_url_list = qw(http://git.tachtler.net 
 +                            http://www.git.tachtler.net 
 +                            https://git.tachtler.net);
 </code> </code>
  
Zeile 942: Zeile 945:
  
   * <code perl>our @git_base_url_list = qw(http://git.tachtler.net   * <code perl>our @git_base_url_list = qw(http://git.tachtler.net
 +                            http://www.git.tachtler.net
                             https://git.tachtler.net);</code>                             https://git.tachtler.net);</code>
  
Zeile 980: Zeile 984:
         </Directory>         </Directory>
  
-        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/+        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/ 
 +        ScriptAliasMatch "(?x)^/git/(.*/(HEAD | \ 
 +                                info/refs | \ 
 +                                objects/(info/[^/]+ | \ 
 +                                [0-9a-f]{2}/[0-9a-f]{38} | \ 
 +                                pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ 
 +                                git-(upload|receive)-pack))$"
 +                                /usr/libexec/git-core/git-http-backend/$1
  
         SetEnv GIT_PROJECT_ROOT /srv/git         SetEnv GIT_PROJECT_ROOT /srv/git
         SetEnv GIT_HTTP_EXPORT_ALL         SetEnv GIT_HTTP_EXPORT_ALL
  
-        DocumentRoot "/srv/git"+        DocumentRoot "/var/www/git" 
 +        <Directory "/var/www/git"> 
 +                AddHandler perl-script .cgi 
 +                Options -Indexes +FollowSymLinks +ExecCGI 
 +                AllowOverride None 
 +                # LDAP 
 +                AuthType Basic 
 +                AuthName "GitWeb Repository Bare Remote Server (git.tachtler.net)" 
 +                AuthBasicProvider ldap 
 +                AuthLDAPURL "ldaps://ldap.tachtler.net:636/dc=tachtler,dc=net?uid" 
 +                AuthLDAPBindDN "cn=Ersatzbenutzer,dc=tachtler,dc=net" 
 +                AuthLDAPBindPassword "geheim" 
 +                <RequireAll> 
 +                        # (enable for LDAP access) 
 +                        Require ldap-user klaus 
 +               </RequireAll> 
 +                PerlResponseHandler ModPerl::Registry 
 +                PerlOptions +ParseHeaders 
 +                SetEnv  GITWEB_CONFIG  /etc/gitweb.conf 
 +        </Directory> 
 +         
 +        # DocumentRoot "/srv/git"        
         <Directory "/srv/git">         <Directory "/srv/git">
                 Options -Indexes +FollowSymLinks +ExecCGI                 Options -Indexes +FollowSymLinks +ExecCGI
Zeile 1016: Zeile 1048:
                </RequireAll>                </RequireAll>
         </Location>         </Location>
 +
 +        DirectoryIndex gitweb.cgi
  
         ErrorLog logs/git_error.log         ErrorLog logs/git_error.log
Zeile 1047: Zeile 1081:
         </Directory>         </Directory>
  
-        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/+        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/ 
 +        ScriptAliasMatch "(?x)^/git/(.*/(HEAD | \ 
 +                                info/refs | \ 
 +                                objects/(info/[^/]+ | \ 
 +                                [0-9a-f]{2}/[0-9a-f]{38} | \ 
 +                                pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ 
 +                                git-(upload|receive)-pack))$"
 +                                /usr/libexec/git-core/git-http-backend/$1
  
         SetEnv GIT_PROJECT_ROOT /srv/git         SetEnv GIT_PROJECT_ROOT /srv/git
         SetEnv GIT_HTTP_EXPORT_ALL         SetEnv GIT_HTTP_EXPORT_ALL
  
-        DocumentRoot "/srv/git"+        DocumentRoot "/var/www/git" 
 +        <Directory "/var/www/git"> 
 +                AddHandler perl-script .cgi 
 +                Options -Indexes +FollowSymLinks +ExecCGI 
 +                AllowOverride None 
 +                # LDAP 
 +                AuthType Basic 
 +                AuthName "GitWeb Repository Bare Remote Server (git.tachtler.net)" 
 +                AuthBasicProvider ldap 
 +                AuthLDAPURL "ldaps://ldap.tachtler.net:636/dc=tachtler,dc=net?uid" 
 +                AuthLDAPBindDN "cn=Ersatzbenutzer,dc=tachtler,dc=net" 
 +                AuthLDAPBindPassword "geheim" 
 +                <RequireAll> 
 +                        # (enable for LDAP access) 
 +                        Require ldap-user klaus 
 +               </RequireAll> 
 +                PerlResponseHandler ModPerl::Registry 
 +                PerlOptions +ParseHeaders 
 +                SetEnv  GITWEB_CONFIG  /etc/gitweb.conf 
 +        </Directory> 
 + 
 +        # DocumentRoot "/srv/git"
         <Directory "/srv/git">         <Directory "/srv/git">
                 Options -Indexes +FollowSymLinks +ExecCGI                 Options -Indexes +FollowSymLinks +ExecCGI
Zeile 1084: Zeile 1146:
                </RequireAll>                </RequireAll>
         </Location>         </Location>
 +
 +        DirectoryIndex gitweb.cgi
  
         <Files ~ "\.(cgi|shtml|phtml|php3?)$">         <Files ~ "\.(cgi|shtml|phtml|php3?)$">
Zeile 1108: Zeile 1172:
 <code apache> <code apache>
 ... ...
 +        # ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
 +        ScriptAliasMatch "(?x)^/git/(.*/(HEAD | \
 +                                info/refs | \
 +                                objects/(info/[^/]+ | \
 +                                [0-9a-f]{2}/[0-9a-f]{38} | \
 +                                pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
 +                                git-(upload|receive)-pack))$" \
 +                                /usr/libexec/git-core/git-http-backend/$1
 +...
 +
 +        DocumentRoot "/var/www/git"
 +        <Directory "/var/www/git">
 +                AddHandler perl-script .cgi
 +                Options -Indexes +FollowSymLinks +ExecCGI
 +                AllowOverride None
 +                # LDAP
 +                AuthType Basic
 +                AuthName "GitWeb Repository Bare Remote Server (git.tachtler.net)"
 +                AuthBasicProvider ldap
 +                AuthLDAPURL "ldaps://ldap.tachtler.net:636/dc=tachtler,dc=net?uid"
 +                AuthLDAPBindDN "cn=Ersatzbenutzer,dc=tachtler,dc=net"
 +                AuthLDAPBindPassword "geheim"
 +                <RequireAll>
 +                        # (enable for LDAP access)
 +                        Require ldap-user klaus
 +               </RequireAll>
 +                PerlResponseHandler ModPerl::Registry
 +                PerlOptions +ParseHeaders
 +                SetEnv  GITWEB_CONFIG  /etc/gitweb.conf
 +        </Directory>
 +
 +        # DocumentRoot "/srv/git"
 +...
 +
 +        DirectoryIndex gitweb.cgi
 +...
 +</code>
 +
 +**__VORHER__**:
 +  * <code apache>        ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/</code>
 +
 +**__NACHHER__**:
 +  * <code apache>        # ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
 +        ScriptAliasMatch "(?x)^/git/(.*/(HEAD | \
 +                                info/refs | \
 +                                objects/(info/[^/]+ | \
 +                                [0-9a-f]{2}/[0-9a-f]{38} | \
 +                                pack/pack-[0-9a-f]{40}\.(pack|idx)) | \
 +                                git-(upload|receive)-pack))$" \
 +                                /usr/libexec/git-core/git-http-backend/$1</code>
 +
 +Bezeichnet das Skript, welches beim Zugriff auf den [[http://httpd.apache.org/|Apache HTTP Server]]-VHOST zur Anwendung kommt und die entsprechenden [[https://git-scm.com/|Git]] Befehle verarbeitet, **allerdings __nur__ noch diejenigen Befehle, welche auch für das Skript selbst bestimmt sind!**.
 +
 +**__VORHER__**:
 +  * <code apache>        DocumentRoot "/srv/git"</code>
 +
 +**__NACHHER__**:
 +  * <code apache>        DocumentRoot "/var/www/git"
 +        <Directory "/var/www/git">
 +                AddHandler perl-script .cgi
 +                Options -Indexes +FollowSymLinks +ExecCGI
 +                AllowOverride None
 +                # LDAP
 +                AuthType Basic
 +                AuthName "GitWeb Repository Bare Remote Server (git.tachtler.net)"
 +                AuthBasicProvider ldap
 +                AuthLDAPURL "ldaps://ldap.tachtler.net:636/dc=tachtler,dc=net?uid"
 +                AuthLDAPBindDN "cn=Ersatzbenutzer,dc=tachtler,dc=net"
 +                AuthLDAPBindPassword "geheim"
 +                <RequireAll>
 +                        # (enable for LDAP access)
 +                        Require ldap-user klaus
 +               </RequireAll>
 +                PerlResponseHandler ModPerl::Registry
 +                PerlOptions +ParseHeaders
 +                SetEnv  GITWEB_CONFIG  /etc/gitweb.conf
 +        </Directory>
 +
 +        # DocumentRoot "/srv/git"</code>
 +
 +Hier wurde als erstes das ''DocuemtRoot'' auf ''/var/www/git'' abgeändert, da hier das ''perl''-Skript ''gitweb.cgi'' liegt und alle anderen Bestandteile der Web-Anwendung wie z.B. Bilder oder CSS-Dateien.
 +Anschließend wir die ''Directory'' entsprechend konfiguriert:
 +  - Es wird ein **Handler** für das ''perl''-Skipt hinzugefügt
 +  - Die Zugriffsmöglichkeiten werden festgelegt, entscheidend ist hier ''+ExecCGI''
 +  - Es wird beim Zugriff auf das Verzeichnis, eine **Authentifizierung gegen LDAP** erforderlich
 +  - Es wird der ''PerlResponsHandler'' gesetzt
 +  - Es wird die ''perl''-Option ''+ParseHeaders'' gesetzt
 +  - Es wird die Umgebungsvariable ''GITWEB_CONFIG'' mit dem Pfad zur Konfigurationsdatei von [[https://git.wiki.kernel.org/index.php/Gitweb|GitWeb]] gesetzt
 +
 +  * <code apache>        DirectoryIndex gitweb.cgi</code>
 +
 +Beim Aufruf der URL soll das ''perl''-Skript ''gitweb.cgi'' die ''DirectoryIndex''-Datei sein und somit aufgerufen werden.
 +
 +===== Aufruf der Web-Anwendung =====
 +
 +Nach erfolgreichem **Neustart (restart)** des [[http://httpd.apache.org/|Apache HTTP Server]], was mit nachfolgendem Befehl durchgeführt werden kann:
 +<code>
 +# systemctl restart httpd.service
 </code> </code>
  
 +Kann wie folgt unter nachfolgender URL [[https://git.tachtler.net]] die Web-Anwendung [[https://git.wiki.kernel.org/index.php/Gitweb|GitWeb]] aufgerufen werden, was z.B. eine Ausgabe wie die nachfolgende zum Vorschein bringen sollte:
  
-:!**FIXME Hier geht es weiter... / To be continued...**+{{:tachtler:git:git_gitweb_startsite.png|GitWeb - Startseite}}
tachtler/git_centos_7_-_gitweb.1438947496.txt.gz · Zuletzt geändert: 2015/08/07 13:38 von klaus