Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:git_centos_7_-_gitweb

Git CentOS 7 - GitWeb

Git ist ein freies auf Open-Source basierendes Versionskontrollsystem, entwickelt um kleine bis sehr große Projekte, schnell und effizient verwalten zu können.

Mit Git ab der Version 1.4.0 wird standardmäßig GitWeb ausgeliefert. GitWeb ist eine simple webbasierte CGI-Skript, welches zur Visualisierung von Git-Repositorys zum Einsatz kommen kann.

Beschreibung Externer Link
Homepage https://git.wiki.kernel.org/index.php/Gitweb

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root zu werden, geben Sie bitte nachfolgenden Befehl ein:

$ su -
Password: 

Voraussetzungen

Als Voraussetzung für die hier, nachfolgend dargestellte Installation von GitWeb sind folgende Komponenten erforderlich:

  • Lauffähiges Git :!: WICHTIG :!: - Alle nachfolgenden Beschreibungen bauen auf folgende Installation von Git auf:

Zur Installation von GitWeb über ist als zusätzliche Abhängigkeit das rpm-Paket mod_perl erforderlich, welches hier über das Repository eines Drittanbieters eingebunden werden soll, da das rpm-Paket nicht im CentOS-Repository enthalten ist.

Nachfolgend soll das Repository des Drittanbieters EPEL genutzt werden. Eine Anleitung, wie das Repository des Drittanbieters EPEL eingebunden werden könnte, kann unter nachfolgendem internen Link nachgelesen werden:

Als Abhängigkeit für die hier, nachfolgend dargestellte Installation von GitWeb ist folgende Komponente erforderlich:

  • mod_perl - ist im epel-Repository des Drittanbieters EPEL enthalten

Installation

mod_perl

Als Abhängigkeit ist die Installation des Pakets mod_perl erforderlich:

# yum install mod_perl
Loaded plugins: changelog, priorities
65 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package mod_perl.x86_64 0:2.0.8-10.20140624svn1602105.el7 will be installed
--> Processing Dependency: perl(Linux::Pid) for package: mod_perl-2.0.8-10.20140624svn1602105.el7.x86_64
--> Processing Dependency: perl(ExtUtils::MakeMaker) for package: mod_perl-2.0.8-10.20140624svn1602105.el7.x86_64
--> Processing Dependency: perl(BSD::Resource) for package: mod_perl-2.0.8-10.20140624svn1602105.el7.x86_64
--> Running transaction check
---> Package perl-BSD-Resource.x86_64 0:1.29.07-1.el7 will be installed
---> Package perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7 will be installed
--> Processing Dependency: perl(Test::Harness) for package: perl-ExtUtils-MakeMaker-6.68-3.el7.noarch
--> Processing Dependency: perl(ExtUtils::Packlist) for package: perl-ExtUtils-MakeMaker-6.68-3.el7.noarch
--> Processing Dependency: perl(ExtUtils::Manifest) for package: perl-ExtUtils-MakeMaker-6.68-3.el7.noarch
--> Processing Dependency: perl(ExtUtils::Installed) for package: perl-ExtUtils-MakeMaker-6.68-3.el7.noarch
--> Processing Dependency: perl(ExtUtils::Install) for package: perl-ExtUtils-MakeMaker-6.68-3.el7.noarch
---> Package perl-Linux-Pid.x86_64 0:0.04-18.el7 will be installed
--> Running transaction check
---> Package perl-ExtUtils-Install.noarch 0:1.58-285.el7 will be installed
--> Processing Dependency: perl-devel for package: perl-ExtUtils-Install-1.58-285.el7.noarch
---> Package perl-ExtUtils-Manifest.noarch 0:1.61-244.el7 will be installed
---> Package perl-Test-Harness.noarch 0:3.28-2.el7 will be installed
--> Running transaction check
---> Package perl-devel.x86_64 4:5.16.3-285.el7 will be installed
--> Processing Dependency: systemtap-sdt-devel for package: 4:perl-devel-5.16.3-285.el7.x86_64
--> Processing Dependency: perl(ExtUtils::ParseXS) for package: 4:perl-devel-5.16.3-285.el7.x86_64
--> Processing Dependency: libdb-devel for package: 4:perl-devel-5.16.3-285.el7.x86_64
--> Processing Dependency: glibc-devel for package: 4:perl-devel-5.16.3-285.el7.x86_64
--> Processing Dependency: gdbm-devel for package: 4:perl-devel-5.16.3-285.el7.x86_64
--> Running transaction check
---> Package gdbm-devel.x86_64 0:1.10-8.el7 will be installed
---> Package glibc-devel.x86_64 0:2.17-78.el7 will be installed
--> Processing Dependency: glibc-headers = 2.17-78.el7 for package: glibc-devel-2.17-78.el7.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-78.el7.x86_64
---> Package libdb-devel.x86_64 0:5.3.21-17.el7_0.1 will be installed
---> Package perl-ExtUtils-ParseXS.noarch 1:3.18-2.el7 will be installed
---> Package systemtap-sdt-devel.x86_64 0:2.6-10.el7_1 will be installed
--> Processing Dependency: pyparsing for package: systemtap-sdt-devel-2.6-10.el7_1.x86_64
--> Running transaction check
---> Package glibc-headers.x86_64 0:2.17-78.el7 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-78.el7.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-78.el7.x86_64
---> Package pyparsing.noarch 0:1.5.6-9.el7 will be installed
--> Running transaction check
---> Package kernel-headers.x86_64 0:3.10.0-229.7.2.el7 will be installed
--> Finished Dependency Resolution

Changes in packages about to be updated:


Dependencies Resolved

===============================================================================
 Package                 Arch   Version                          Repository
                                                                          Size
===============================================================================
Installing:
 mod_perl                x86_64 2.0.8-10.20140624svn1602105.el7  epel    3.0 M
Installing for dependencies:
 gdbm-devel              x86_64 1.10-8.el7                       base     47 k
 glibc-devel             x86_64 2.17-78.el7                      base    1.0 M
 glibc-headers           x86_64 2.17-78.el7                      base    656 k
 kernel-headers          x86_64 3.10.0-229.7.2.el7               updates 2.3 M
 libdb-devel             x86_64 5.3.21-17.el7_0.1                base     38 k
 perl-BSD-Resource       x86_64 1.29.07-1.el7                    epel     38 k
 perl-ExtUtils-Install   noarch 1.58-285.el7                     base     73 k
 perl-ExtUtils-MakeMaker noarch 6.68-3.el7                       base    275 k
 perl-ExtUtils-Manifest  noarch 1.61-244.el7                     base     31 k
 perl-ExtUtils-ParseXS   noarch 1:3.18-2.el7                     base     77 k
 perl-Linux-Pid          x86_64 0.04-18.el7                      epel     14 k
 perl-Test-Harness       noarch 3.28-2.el7                       base    302 k
 perl-devel              x86_64 4:5.16.3-285.el7                 base    452 k
 pyparsing               noarch 1.5.6-9.el7                      base     94 k
 systemtap-sdt-devel     x86_64 2.6-10.el7_1                     updates  63 k

Transaction Summary
===============================================================================
Install  1 Package (+15 Dependent packages)

Total download size: 8.4 M
Installed size: 17 M
Is this ok [y/d/N]: y
Downloading packages:
(1/16): gdbm-devel-1.10-8.el7.x86_64.rpm                  |  47 kB   00:00     
(2/16): glibc-devel-2.17-78.el7.x86_64.rpm                | 1.0 MB   00:00     
(3/16): glibc-headers-2.17-78.el7.x86_64.rpm              | 656 kB   00:00     
(4/16): libdb-devel-5.3.21-17.el7_0.1.x86_64.rpm          |  38 kB   00:00     
(5/16): perl-ExtUtils-Install-1.58-285.el7.noarch.rpm     |  73 kB   00:00     
(6/16): perl-ExtUtils-Manifest-1.61-244.el7.noarch.rpm    |  31 kB   00:00     
(7/16): perl-ExtUtils-ParseXS-3.18-2.el7.noarch.rpm       |  77 kB   00:00     
(8/16): mod_perl-2.0.8-10.20140624svn1602105.el7.x86_64.r | 3.0 MB   00:00     
(9/16): kernel-headers-3.10.0-229.7.2.el7.x86_64.rpm      | 2.3 MB   00:00     
(10/16): perl-BSD-Resource-1.29.07-1.el7.x86_64.rpm       |  38 kB   00:00     
(11/16): perl-ExtUtils-MakeMaker-6.68-3.el7.noarch.rpm    | 275 kB   00:00     
(12/16): perl-Linux-Pid-0.04-18.el7.x86_64.rpm            |  14 kB   00:00     
(13/16): perl-devel-5.16.3-285.el7.x86_64.rpm             | 452 kB   00:00     
(14/16): pyparsing-1.5.6-9.el7.noarch.rpm                 |  94 kB   00:00     
(15/16): perl-Test-Harness-3.28-2.el7.noarch.rpm          | 302 kB   00:00     
(16/16): systemtap-sdt-devel-2.6-10.el7_1.x86_64.rpm      |  63 kB   00:00     
-------------------------------------------------------------------------------
Total                                             7.3 MB/s | 8.4 MB  00:01     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : pyparsing-1.5.6-9.el7.noarch                               1/16 
  Installing : systemtap-sdt-devel-2.6-10.el7_1.x86_64                    2/16 
  Installing : kernel-headers-3.10.0-229.7.2.el7.x86_64                   3/16 
  Installing : glibc-headers-2.17-78.el7.x86_64                           4/16 
  Installing : glibc-devel-2.17-78.el7.x86_64                             5/16 
  Installing : libdb-devel-5.3.21-17.el7_0.1.x86_64                       6/16 
  Installing : perl-ExtUtils-Manifest-1.61-244.el7.noarch                 7/16 
  Installing : perl-Test-Harness-3.28-2.el7.noarch                        8/16 
  Installing : perl-Linux-Pid-0.04-18.el7.x86_64                          9/16 
  Installing : gdbm-devel-1.10-8.el7.x86_64                              10/16 
  Installing : 1:perl-ExtUtils-ParseXS-3.18-2.el7.noarch                 11/16 
  Installing : 4:perl-devel-5.16.3-285.el7.x86_64                        12/16 
  Installing : perl-ExtUtils-MakeMaker-6.68-3.el7.noarch                 13/16 
  Installing : perl-ExtUtils-Install-1.58-285.el7.noarch                 14/16 
  Installing : perl-BSD-Resource-1.29.07-1.el7.x86_64                    15/16 
  Installing : mod_perl-2.0.8-10.20140624svn1602105.el7.x86_64           16/16 
  Verifying  : perl-ExtUtils-Install-1.58-285.el7.noarch                  1/16 
  Verifying  : glibc-devel-2.17-78.el7.x86_64                             2/16 
  Verifying  : perl-BSD-Resource-1.29.07-1.el7.x86_64                     3/16 
  Verifying  : mod_perl-2.0.8-10.20140624svn1602105.el7.x86_64            4/16 
  Verifying  : gdbm-devel-1.10-8.el7.x86_64                               5/16 
  Verifying  : perl-Linux-Pid-0.04-18.el7.x86_64                          6/16 
  Verifying  : glibc-headers-2.17-78.el7.x86_64                           7/16 
  Verifying  : perl-Test-Harness-3.28-2.el7.noarch                        8/16 
  Verifying  : perl-ExtUtils-Manifest-1.61-244.el7.noarch                 9/16 
  Verifying  : 1:perl-ExtUtils-ParseXS-3.18-2.el7.noarch                 10/16 
  Verifying  : 4:perl-devel-5.16.3-285.el7.x86_64                        11/16 
  Verifying  : libdb-devel-5.3.21-17.el7_0.1.x86_64                      12/16 
  Verifying  : kernel-headers-3.10.0-229.7.2.el7.x86_64                  13/16 
  Verifying  : pyparsing-1.5.6-9.el7.noarch                              14/16 
  Verifying  : systemtap-sdt-devel-2.6-10.el7_1.x86_64                   15/16 
  Verifying  : perl-ExtUtils-MakeMaker-6.68-3.el7.noarch                 16/16 

Installed:
  mod_perl.x86_64 0:2.0.8-10.20140624svn1602105.el7                            

Dependency Installed:
  gdbm-devel.x86_64 0:1.10-8.el7                                               
  glibc-devel.x86_64 0:2.17-78.el7                                             
  glibc-headers.x86_64 0:2.17-78.el7                                           
  kernel-headers.x86_64 0:3.10.0-229.7.2.el7                                   
  libdb-devel.x86_64 0:5.3.21-17.el7_0.1                                       
  perl-BSD-Resource.x86_64 0:1.29.07-1.el7                                     
  perl-ExtUtils-Install.noarch 0:1.58-285.el7                                  
  perl-ExtUtils-MakeMaker.noarch 0:6.68-3.el7                                  
  perl-ExtUtils-Manifest.noarch 0:1.61-244.el7                                 
  perl-ExtUtils-ParseXS.noarch 1:3.18-2.el7                                    
  perl-Linux-Pid.x86_64 0:0.04-18.el7                                          
  perl-Test-Harness.noarch 0:3.28-2.el7                                        
  perl-devel.x86_64 4:5.16.3-285.el7                                           
  pyparsing.noarch 0:1.5.6-9.el7                                               
  systemtap-sdt-devel.x86_64 0:2.6-10.el7_1                                    

Complete!

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket mod_perl installiert wurden.

# rpm -qil mod_perl
Name        : mod_perl
Version     : 2.0.8
Release     : 10.20140624svn1602105.el7
Architecture: x86_64
Install Date: Fri 07 Aug 2015 01:36:53 PM CEST
Group       : System Environment/Daemons
Size        : 6491172
License     : ASL 2.0
Signature   : RSA/SHA256, Fri 19 Sep 2014 03:49:33 AM CEST, Key ID 6a2faea2352c64e5
Source RPM  : mod_perl-2.0.8-10.20140624svn1602105.el7.src.rpm
Build Date  : Wed 17 Sep 2014 09:24:42 AM CEST
Build Host  : buildhw-05.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://perl.apache.org/
Summary     : An embedded Perl interpreter for the Apache HTTP Server
Description :
Mod_perl incorporates a Perl interpreter into the Apache web server,
so that the Apache web server can directly execute Perl code.
Mod_perl links the Perl run-time library into the Apache web server and
provides an object-oriented Perl interface for Apache's C language
API.  The end result is a quicker CGI script turnaround process, since
no external Perl interpreter has to be started.

Install mod_perl if you're installing the Apache web server and you'd
like for it to directly incorporate a Perl interpreter.
/etc/httpd/conf.d/perl.conf
/etc/httpd/conf.modules.d/02-perl.conf
/usr/bin/mp2bug
/usr/lib64/httpd/modules/mod_perl.so
/usr/lib64/perl5/vendor_perl/APR
/usr/lib64/perl5/vendor_perl/APR.pm
/usr/lib64/perl5/vendor_perl/APR/Base64.pm
/usr/lib64/perl5/vendor_perl/APR/Brigade.pm
/usr/lib64/perl5/vendor_perl/APR/Bucket.pm
/usr/lib64/perl5/vendor_perl/APR/BucketAlloc.pm
/usr/lib64/perl5/vendor_perl/APR/BucketType.pm
/usr/lib64/perl5/vendor_perl/APR/Const.pm
/usr/lib64/perl5/vendor_perl/APR/Date.pm
/usr/lib64/perl5/vendor_perl/APR/Error.pm
/usr/lib64/perl5/vendor_perl/APR/Finfo.pm
/usr/lib64/perl5/vendor_perl/APR/IpSubnet.pm
/usr/lib64/perl5/vendor_perl/APR/OS.pm
/usr/lib64/perl5/vendor_perl/APR/PerlIO.pm
/usr/lib64/perl5/vendor_perl/APR/Pool.pm
/usr/lib64/perl5/vendor_perl/APR/SockAddr.pm
/usr/lib64/perl5/vendor_perl/APR/Socket.pm
/usr/lib64/perl5/vendor_perl/APR/Status.pm
/usr/lib64/perl5/vendor_perl/APR/String.pm
/usr/lib64/perl5/vendor_perl/APR/Table.pm
/usr/lib64/perl5/vendor_perl/APR/URI.pm
/usr/lib64/perl5/vendor_perl/APR/UUID.pm
/usr/lib64/perl5/vendor_perl/APR/Util.pm
/usr/lib64/perl5/vendor_perl/APR/XSLoader.pm
/usr/lib64/perl5/vendor_perl/Apache
/usr/lib64/perl5/vendor_perl/Apache/Reload.pm
/usr/lib64/perl5/vendor_perl/Apache/SizeLimit
/usr/lib64/perl5/vendor_perl/Apache/SizeLimit.pm
/usr/lib64/perl5/vendor_perl/Apache/SizeLimit/Core.pm
/usr/lib64/perl5/vendor_perl/Apache2
/usr/lib64/perl5/vendor_perl/Apache2/Access.pm
/usr/lib64/perl5/vendor_perl/Apache2/CmdParms.pm
/usr/lib64/perl5/vendor_perl/Apache2/Command.pm
/usr/lib64/perl5/vendor_perl/Apache2/Connection.pm
/usr/lib64/perl5/vendor_perl/Apache2/ConnectionUtil.pm
/usr/lib64/perl5/vendor_perl/Apache2/Const.pm
/usr/lib64/perl5/vendor_perl/Apache2/Directive.pm
/usr/lib64/perl5/vendor_perl/Apache2/Filter.pm
/usr/lib64/perl5/vendor_perl/Apache2/FilterRec.pm
/usr/lib64/perl5/vendor_perl/Apache2/HookRun.pm
/usr/lib64/perl5/vendor_perl/Apache2/Log.pm
/usr/lib64/perl5/vendor_perl/Apache2/MPM.pm
/usr/lib64/perl5/vendor_perl/Apache2/Module.pm
/usr/lib64/perl5/vendor_perl/Apache2/PerlSections
/usr/lib64/perl5/vendor_perl/Apache2/PerlSections.pm
/usr/lib64/perl5/vendor_perl/Apache2/PerlSections/Dump.pm
/usr/lib64/perl5/vendor_perl/Apache2/Process.pm
/usr/lib64/perl5/vendor_perl/Apache2/Provider.pm
/usr/lib64/perl5/vendor_perl/Apache2/Reload.pm
/usr/lib64/perl5/vendor_perl/Apache2/RequestIO.pm
/usr/lib64/perl5/vendor_perl/Apache2/RequestRec.pm
/usr/lib64/perl5/vendor_perl/Apache2/RequestUtil.pm
/usr/lib64/perl5/vendor_perl/Apache2/Resource.pm
/usr/lib64/perl5/vendor_perl/Apache2/Response.pm
/usr/lib64/perl5/vendor_perl/Apache2/ServerRec.pm
/usr/lib64/perl5/vendor_perl/Apache2/ServerUtil.pm
/usr/lib64/perl5/vendor_perl/Apache2/SizeLimit.pm
/usr/lib64/perl5/vendor_perl/Apache2/SourceTables.pm
/usr/lib64/perl5/vendor_perl/Apache2/Status.pm
/usr/lib64/perl5/vendor_perl/Apache2/SubProcess.pm
/usr/lib64/perl5/vendor_perl/Apache2/SubRequest.pm
/usr/lib64/perl5/vendor_perl/Apache2/URI.pm
/usr/lib64/perl5/vendor_perl/Apache2/Util.pm
/usr/lib64/perl5/vendor_perl/Apache2/XSLoader.pm
/usr/lib64/perl5/vendor_perl/Apache2/compat.pm
/usr/lib64/perl5/vendor_perl/Apache2/porting.pm
/usr/lib64/perl5/vendor_perl/Bundle
/usr/lib64/perl5/vendor_perl/Bundle/Apache2.pm
/usr/lib64/perl5/vendor_perl/ModPerl
/usr/lib64/perl5/vendor_perl/ModPerl/Const.pm
/usr/lib64/perl5/vendor_perl/ModPerl/Global.pm
/usr/lib64/perl5/vendor_perl/ModPerl/InterpPool.pm
/usr/lib64/perl5/vendor_perl/ModPerl/Interpreter.pm
/usr/lib64/perl5/vendor_perl/ModPerl/MethodLookup.pm
/usr/lib64/perl5/vendor_perl/ModPerl/PerlRun.pm
/usr/lib64/perl5/vendor_perl/ModPerl/PerlRunPrefork.pm
/usr/lib64/perl5/vendor_perl/ModPerl/Registry.pm
/usr/lib64/perl5/vendor_perl/ModPerl/RegistryBB.pm
/usr/lib64/perl5/vendor_perl/ModPerl/RegistryCooker.pm
/usr/lib64/perl5/vendor_perl/ModPerl/RegistryLoader.pm
/usr/lib64/perl5/vendor_perl/ModPerl/RegistryPrefork.pm
/usr/lib64/perl5/vendor_perl/ModPerl/TestReport.pm
/usr/lib64/perl5/vendor_perl/ModPerl/TiPool.pm
/usr/lib64/perl5/vendor_perl/ModPerl/TiPoolConfig.pm
/usr/lib64/perl5/vendor_perl/ModPerl/Util.pm
/usr/lib64/perl5/vendor_perl/auto/APR
/usr/lib64/perl5/vendor_perl/auto/APR/APR.so
/usr/lib64/perl5/vendor_perl/auto/APR/Base64
/usr/lib64/perl5/vendor_perl/auto/APR/Base64/Base64.so
/usr/lib64/perl5/vendor_perl/auto/APR/Brigade
/usr/lib64/perl5/vendor_perl/auto/APR/Brigade/Brigade.so
/usr/lib64/perl5/vendor_perl/auto/APR/Bucket
/usr/lib64/perl5/vendor_perl/auto/APR/Bucket/Bucket.so
/usr/lib64/perl5/vendor_perl/auto/APR/BucketAlloc
/usr/lib64/perl5/vendor_perl/auto/APR/BucketAlloc/BucketAlloc.so
/usr/lib64/perl5/vendor_perl/auto/APR/BucketType
/usr/lib64/perl5/vendor_perl/auto/APR/BucketType/BucketType.so
/usr/lib64/perl5/vendor_perl/auto/APR/Const
/usr/lib64/perl5/vendor_perl/auto/APR/Const/Const.so
/usr/lib64/perl5/vendor_perl/auto/APR/Date
/usr/lib64/perl5/vendor_perl/auto/APR/Date/Date.so
/usr/lib64/perl5/vendor_perl/auto/APR/Error
/usr/lib64/perl5/vendor_perl/auto/APR/Error/Error.so
/usr/lib64/perl5/vendor_perl/auto/APR/Finfo
/usr/lib64/perl5/vendor_perl/auto/APR/Finfo/Finfo.so
/usr/lib64/perl5/vendor_perl/auto/APR/IpSubnet
/usr/lib64/perl5/vendor_perl/auto/APR/IpSubnet/IpSubnet.so
/usr/lib64/perl5/vendor_perl/auto/APR/OS
/usr/lib64/perl5/vendor_perl/auto/APR/OS/OS.so
/usr/lib64/perl5/vendor_perl/auto/APR/PerlIO
/usr/lib64/perl5/vendor_perl/auto/APR/PerlIO/PerlIO.so
/usr/lib64/perl5/vendor_perl/auto/APR/Pool
/usr/lib64/perl5/vendor_perl/auto/APR/Pool/Pool.so
/usr/lib64/perl5/vendor_perl/auto/APR/SockAddr
/usr/lib64/perl5/vendor_perl/auto/APR/SockAddr/SockAddr.so
/usr/lib64/perl5/vendor_perl/auto/APR/Socket
/usr/lib64/perl5/vendor_perl/auto/APR/Socket/Socket.so
/usr/lib64/perl5/vendor_perl/auto/APR/Status
/usr/lib64/perl5/vendor_perl/auto/APR/Status/Status.so
/usr/lib64/perl5/vendor_perl/auto/APR/String
/usr/lib64/perl5/vendor_perl/auto/APR/String/String.so
/usr/lib64/perl5/vendor_perl/auto/APR/Table
/usr/lib64/perl5/vendor_perl/auto/APR/Table/Table.so
/usr/lib64/perl5/vendor_perl/auto/APR/URI
/usr/lib64/perl5/vendor_perl/auto/APR/URI/URI.so
/usr/lib64/perl5/vendor_perl/auto/APR/UUID
/usr/lib64/perl5/vendor_perl/auto/APR/UUID/UUID.so
/usr/lib64/perl5/vendor_perl/auto/APR/Util
/usr/lib64/perl5/vendor_perl/auto/APR/Util/Util.so
/usr/lib64/perl5/vendor_perl/auto/Apache2
/usr/lib64/perl5/vendor_perl/auto/Apache2/Access
/usr/lib64/perl5/vendor_perl/auto/Apache2/Access/Access.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/CmdParms
/usr/lib64/perl5/vendor_perl/auto/Apache2/CmdParms/CmdParms.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Command
/usr/lib64/perl5/vendor_perl/auto/Apache2/Command/Command.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Connection
/usr/lib64/perl5/vendor_perl/auto/Apache2/Connection/Connection.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/ConnectionUtil
/usr/lib64/perl5/vendor_perl/auto/Apache2/ConnectionUtil/ConnectionUtil.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Const
/usr/lib64/perl5/vendor_perl/auto/Apache2/Const/Const.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Directive
/usr/lib64/perl5/vendor_perl/auto/Apache2/Directive/Directive.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Filter
/usr/lib64/perl5/vendor_perl/auto/Apache2/Filter/Filter.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/FilterRec
/usr/lib64/perl5/vendor_perl/auto/Apache2/FilterRec/FilterRec.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/HookRun
/usr/lib64/perl5/vendor_perl/auto/Apache2/HookRun/HookRun.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Log
/usr/lib64/perl5/vendor_perl/auto/Apache2/Log/Log.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/MPM
/usr/lib64/perl5/vendor_perl/auto/Apache2/MPM/MPM.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Module
/usr/lib64/perl5/vendor_perl/auto/Apache2/Module/Module.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Process
/usr/lib64/perl5/vendor_perl/auto/Apache2/Process/Process.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Provider
/usr/lib64/perl5/vendor_perl/auto/Apache2/Provider/Provider.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/RequestIO
/usr/lib64/perl5/vendor_perl/auto/Apache2/RequestIO/RequestIO.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/RequestRec
/usr/lib64/perl5/vendor_perl/auto/Apache2/RequestRec/RequestRec.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/RequestUtil
/usr/lib64/perl5/vendor_perl/auto/Apache2/RequestUtil/RequestUtil.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Response
/usr/lib64/perl5/vendor_perl/auto/Apache2/Response/Response.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/ServerRec
/usr/lib64/perl5/vendor_perl/auto/Apache2/ServerRec/ServerRec.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/ServerUtil
/usr/lib64/perl5/vendor_perl/auto/Apache2/ServerUtil/ServerUtil.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/SubProcess
/usr/lib64/perl5/vendor_perl/auto/Apache2/SubProcess/SubProcess.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/SubRequest
/usr/lib64/perl5/vendor_perl/auto/Apache2/SubRequest/SubRequest.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/URI
/usr/lib64/perl5/vendor_perl/auto/Apache2/URI/URI.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/Util
/usr/lib64/perl5/vendor_perl/auto/Apache2/Util/Util.so
/usr/lib64/perl5/vendor_perl/auto/Apache2/typemap
/usr/lib64/perl5/vendor_perl/auto/ModPerl
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Const
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Const/Const.so
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Global
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Global/Global.so
/usr/lib64/perl5/vendor_perl/auto/ModPerl/InterpPool
/usr/lib64/perl5/vendor_perl/auto/ModPerl/InterpPool/InterpPool.so
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Interpreter
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Interpreter/Interpreter.so
/usr/lib64/perl5/vendor_perl/auto/ModPerl/TiPool
/usr/lib64/perl5/vendor_perl/auto/ModPerl/TiPool/TiPool.so
/usr/lib64/perl5/vendor_perl/auto/ModPerl/TiPoolConfig
/usr/lib64/perl5/vendor_perl/auto/ModPerl/TiPoolConfig/TiPoolConfig.so
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Util
/usr/lib64/perl5/vendor_perl/auto/ModPerl/Util/Util.so
/usr/lib64/perl5/vendor_perl/mod_perl2.pm
/usr/share/doc/mod_perl-2.0.8
/usr/share/doc/mod_perl-2.0.8/Changes
/usr/share/doc/mod_perl-2.0.8/LICENSE
/usr/share/doc/mod_perl-2.0.8/NOTICE
/usr/share/doc/mod_perl-2.0.8/README
/usr/share/doc/mod_perl-2.0.8/README-SVN
/usr/share/doc/mod_perl-2.0.8/STATUS
/usr/share/doc/mod_perl-2.0.8/SVN-MOVE
/usr/share/doc/mod_perl-2.0.8/docs
/usr/share/doc/mod_perl-2.0.8/docs/TODO
/usr/share/doc/mod_perl-2.0.8/docs/api
/usr/share/doc/mod_perl-2.0.8/docs/api/APR
/usr/share/doc/mod_perl-2.0.8/docs/api/APR.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Base64.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Brigade.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Bucket.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/BucketAlloc.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/BucketType.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Const.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Date.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Error.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Finfo.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/IpSubnet.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/OS.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/PerlIO.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Pool.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/SockAddr.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Socket.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Status.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/String.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Table.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/ThreadMutex.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/ThreadRWLock.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/URI.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/UUID.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/APR/Util.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/AUTOGENERATION
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Access.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/CmdParms.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Command.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Connection.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/ConnectionUtil.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Const.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Directive.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Filter.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/FilterRec.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/HookRun.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Log.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/MPM.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Module.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/PerlSections.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Process.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Reload.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/RequestIO.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/RequestRec.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/RequestUtil.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Resource.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Response.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/ServerRec.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/ServerUtil.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/SizeLimit.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Status.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/SubProcess.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/SubRequest.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/URI.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/Util.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/compat.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/Apache2/porting.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/BuildMM.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/Const.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/Global.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/MM.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/MethodLookup.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/PerlRun.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/PerlRunPrefork.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/Registry.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/RegistryBB.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/RegistryCooker.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/RegistryLoader.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/RegistryPrefork.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/ModPerl/Util.pod
/usr/share/doc/mod_perl-2.0.8/docs/api/README
/usr/share/doc/mod_perl-2.0.8/docs/api/config.cfg
/usr/share/doc/mod_perl-2.0.8/docs/api/index_bot.html
/usr/share/doc/mod_perl-2.0.8/docs/config.cfg
/usr/share/doc/mod_perl-2.0.8/docs/devel
/usr/share/doc/mod_perl-2.0.8/docs/devel/Changes.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/config.cfg
/usr/share/doc/mod_perl-2.0.8/docs/devel/core
/usr/share/doc/mod_perl-2.0.8/docs/devel/core/apache_integration.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/core/coding_style.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/core/explained.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/core/mod_perl_specific.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/core/mpms.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/c.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/code
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/code/.debug-inline
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/code/.debug-modperl-init
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/code/.debug-modperl-register
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/code/.debug-modperl-xs
/usr/share/doc/mod_perl-2.0.8/docs/devel/debug/perl.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/help
/usr/share/doc/mod_perl-2.0.8/docs/devel/help/help.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/performance
/usr/share/doc/mod_perl-2.0.8/docs/devel/performance/size_matters.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/performance/speed_matters.pod
/usr/share/doc/mod_perl-2.0.8/docs/devel/porting
/usr/share/doc/mod_perl-2.0.8/docs/devel/porting/porting.pod
/usr/share/doc/mod_perl-2.0.8/docs/index_top.html
/usr/share/doc/mod_perl-2.0.8/docs/os
/usr/share/doc/mod_perl-2.0.8/docs/os/config.cfg
/usr/share/doc/mod_perl-2.0.8/docs/os/win32
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/Changes.pod
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/config.cfg
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/config.pod
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/distinstall
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/faq.pod
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/install.pod
/usr/share/doc/mod_perl-2.0.8/docs/os/win32/mpinstall
/usr/share/doc/mod_perl-2.0.8/docs/rename.pod
/usr/share/doc/mod_perl-2.0.8/docs/user
/usr/share/doc/mod_perl-2.0.8/docs/user/Changes.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/coding
/usr/share/doc/mod_perl-2.0.8/docs/user/coding/coding.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/coding/cooking.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/config
/usr/share/doc/mod_perl-2.0.8/docs/user/config.cfg
/usr/share/doc/mod_perl-2.0.8/docs/user/config/config.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/config/custom.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/design
/usr/share/doc/mod_perl-2.0.8/docs/user/design/design.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/bucket_brigades.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/bucket_brigades.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/bucket_brigades.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_all.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_all.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_pre.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_pre.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_process.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_process.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_time.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_time.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/connection_cycle_time.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_camera.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_cigarrette.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_coffee.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_goggles.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_mask.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_player.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_life_shower.jpg
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_logic.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_logic.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filter_logic.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/filters.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/general.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle1.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle1.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_access.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_access.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_access.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_all.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_all.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_all.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_authen.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_authen.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_authen.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_authz.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_authz.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_authz.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_cleanup.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_cleanup.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_cleanup.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_conn_filters.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_conn_filters.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_conn_filters.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_fixup.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_fixup.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_fixup.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_header_parser.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_header_parser.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_header_parser.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_http_filters.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_http_filters.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_http_filters.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_init.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_init.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_init.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_log.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_log.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_log.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_map_to_storage.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_map_to_storage.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_map_to_storage.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_post_read_request.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_post_read_request.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_post_read_request.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_response.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_response.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_response.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_trans.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_trans.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_trans.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_type.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_type.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/http_cycle_type.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/in_filter_stream.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/in_filter_stream.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/in_filter_stream.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/intro.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/out.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/out_filter_stream.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/out_filter_stream.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/out_filter_stream.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/practical_mod_perl_comp.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/protocols.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/server.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/server_life_cycle.dia
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/server_life_cycle.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/server_life_cycle.png
/usr/share/doc/mod_perl-2.0.8/docs/user/handlers/tmlogo_color.gif
/usr/share/doc/mod_perl-2.0.8/docs/user/help
/usr/share/doc/mod_perl-2.0.8/docs/user/help/help.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/install
/usr/share/doc/mod_perl-2.0.8/docs/user/install/install.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/intro
/usr/share/doc/mod_perl-2.0.8/docs/user/intro/overview.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/intro/start_fast.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/performance
/usr/share/doc/mod_perl-2.0.8/docs/user/performance/mpm.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/performance/prevent.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/porting
/usr/share/doc/mod_perl-2.0.8/docs/user/porting/code
/usr/share/doc/mod_perl-2.0.8/docs/user/porting/code/apache_mp3_2.diff
/usr/share/doc/mod_perl-2.0.8/docs/user/porting/code/apache_mp3_7.diff
/usr/share/doc/mod_perl-2.0.8/docs/user/porting/code/apache_mp3_9.diff
/usr/share/doc/mod_perl-2.0.8/docs/user/porting/compat.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/porting/porting.pod
/usr/share/doc/mod_perl-2.0.8/docs/user/troubleshooting
/usr/share/doc/mod_perl-2.0.8/docs/user/troubleshooting/troubleshooting.pod
/usr/share/man/man3/APR.3pm.gz
/usr/share/man/man3/APR::Base64.3pm.gz
/usr/share/man/man3/APR::Brigade.3pm.gz
/usr/share/man/man3/APR::Bucket.3pm.gz
/usr/share/man/man3/APR::BucketAlloc.3pm.gz
/usr/share/man/man3/APR::BucketType.3pm.gz
/usr/share/man/man3/APR::Const.3pm.gz
/usr/share/man/man3/APR::Date.3pm.gz
/usr/share/man/man3/APR::Error.3pm.gz
/usr/share/man/man3/APR::Finfo.3pm.gz
/usr/share/man/man3/APR::IpSubnet.3pm.gz
/usr/share/man/man3/APR::OS.3pm.gz
/usr/share/man/man3/APR::PerlIO.3pm.gz
/usr/share/man/man3/APR::Pool.3pm.gz
/usr/share/man/man3/APR::SockAddr.3pm.gz
/usr/share/man/man3/APR::Socket.3pm.gz
/usr/share/man/man3/APR::Status.3pm.gz
/usr/share/man/man3/APR::String.3pm.gz
/usr/share/man/man3/APR::Table.3pm.gz
/usr/share/man/man3/APR::ThreadMutex.3pm.gz
/usr/share/man/man3/APR::ThreadRWLock.3pm.gz
/usr/share/man/man3/APR::URI.3pm.gz
/usr/share/man/man3/APR::UUID.3pm.gz
/usr/share/man/man3/APR::Util.3pm.gz
/usr/share/man/man3/Apache2::Access.3pm.gz
/usr/share/man/man3/Apache2::CmdParms.3pm.gz
/usr/share/man/man3/Apache2::Command.3pm.gz
/usr/share/man/man3/Apache2::Connection.3pm.gz
/usr/share/man/man3/Apache2::ConnectionUtil.3pm.gz
/usr/share/man/man3/Apache2::Const.3pm.gz
/usr/share/man/man3/Apache2::Directive.3pm.gz
/usr/share/man/man3/Apache2::Filter.3pm.gz
/usr/share/man/man3/Apache2::FilterRec.3pm.gz
/usr/share/man/man3/Apache2::HookRun.3pm.gz
/usr/share/man/man3/Apache2::Log.3pm.gz
/usr/share/man/man3/Apache2::MPM.3pm.gz
/usr/share/man/man3/Apache2::Module.3pm.gz
/usr/share/man/man3/Apache2::PerlSections.3pm.gz
/usr/share/man/man3/Apache2::Process.3pm.gz
/usr/share/man/man3/Apache2::Reload.3pm.gz
/usr/share/man/man3/Apache2::RequestIO.3pm.gz
/usr/share/man/man3/Apache2::RequestRec.3pm.gz
/usr/share/man/man3/Apache2::RequestUtil.3pm.gz
/usr/share/man/man3/Apache2::Resource.3pm.gz
/usr/share/man/man3/Apache2::Response.3pm.gz
/usr/share/man/man3/Apache2::ServerRec.3pm.gz
/usr/share/man/man3/Apache2::ServerUtil.3pm.gz
/usr/share/man/man3/Apache2::SizeLimit.3pm.gz
/usr/share/man/man3/Apache2::Status.3pm.gz
/usr/share/man/man3/Apache2::SubProcess.3pm.gz
/usr/share/man/man3/Apache2::SubRequest.3pm.gz
/usr/share/man/man3/Apache2::URI.3pm.gz
/usr/share/man/man3/Apache2::Util.3pm.gz
/usr/share/man/man3/Apache2::compat.3pm.gz
/usr/share/man/man3/Apache2::porting.3pm.gz
/usr/share/man/man3/Apache::Reload.3pm.gz
/usr/share/man/man3/Apache::SizeLimit.3pm.gz
/usr/share/man/man3/Apache::SizeLimit::Core.3pm.gz
/usr/share/man/man3/Bundle::Apache2.3pm.gz
/usr/share/man/man3/ModPerl::Const.3pm.gz
/usr/share/man/man3/ModPerl::Global.3pm.gz
/usr/share/man/man3/ModPerl::MethodLookup.3pm.gz
/usr/share/man/man3/ModPerl::PerlRun.3pm.gz
/usr/share/man/man3/ModPerl::PerlRunPrefork.3pm.gz
/usr/share/man/man3/ModPerl::Registry.3pm.gz
/usr/share/man/man3/ModPerl::RegistryBB.3pm.gz
/usr/share/man/man3/ModPerl::RegistryCooker.3pm.gz
/usr/share/man/man3/ModPerl::RegistryLoader.3pm.gz
/usr/share/man/man3/ModPerl::RegistryPrefork.3pm.gz
/usr/share/man/man3/ModPerl::Util.3pm.gz
/usr/share/man/man3/MyTest::Util.3pm.gz
/usr/share/man/man3/mod_perl2.3pm.gz

gitweb

Die Installation von GitWeb kann aus den Standard CentOS-Repositorys erfolgen und wird mit nachfolgendem Befehl durchgeführt:

# yum install gitweb
Loaded plugins: changelog, priorities
base                                                    | 3.6 kB     00:00     
epel                                                    | 4.4 kB     00:00     
extras                                                  | 3.4 kB     00:00     
updates                                                 | 3.4 kB     00:00     
65 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package gitweb.noarch 0:1.8.3.1-4.el7 will be installed
--> Finished Dependency Resolution

Changes in packages about to be updated:


Dependencies Resolved

===============================================================================
 Package         Arch            Version                   Repository     Size
===============================================================================
Installing:
 gitweb          noarch          1.8.3.1-4.el7             base          109 k

Transaction Summary
===============================================================================
Install  1 Package

Total download size: 109 k
Installed size: 320 k
Is this ok [y/d/N]: y
Downloading packages:
gitweb-1.8.3.1-4.el7.noarch.rpm                           | 109 kB   00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : gitweb-1.8.3.1-4.el7.noarch                                 1/1 
  Verifying  : gitweb-1.8.3.1-4.el7.noarch                                 1/1 

Installed:
  gitweb.noarch 0:1.8.3.1-4.el7                                                

Complete!

Mit nachfolgendem Befehl kann überprüft werden, welche Inhalte mit den Paket gitweb installiert wurden.

# rpm -qil gitweb
Name        : gitweb
Version     : 1.8.3.1
Release     : 4.el7
Architecture: noarch
Install Date: Fri 07 Aug 2015 09:40:30 AM CEST
Group       : Development/Tools
Size        : 327778
License     : GPLv2
Signature   : RSA/SHA256, Fri 04 Jul 2014 03:33:03 AM CEST, Key ID 24c6a8a7f4a80eb5
Source RPM  : git-1.8.3.1-4.el7.src.rpm
Build Date  : Tue 10 Jun 2014 10:40:28 AM CEST
Build Host  : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager    : CentOS BuildSystem <http://bugs.centos.org>
Vendor      : CentOS
URL         : http://git-scm.com/
Summary     : Simple web interface to git repositories
Description :
Simple web interface to track changes in git repositories
/etc/gitweb.conf
/etc/httpd/conf.d/git.conf
/usr/share/doc/gitweb-1.8.3.1
/usr/share/doc/gitweb-1.8.3.1/INSTALL
/usr/share/doc/gitweb-1.8.3.1/README
/var/www/git
/var/www/git/gitweb.cgi
/var/www/git/static
/var/www/git/static/git-favicon.png
/var/www/git/static/git-logo.png
/var/www/git/static/gitweb.css
/var/www/git/static/gitweb.js

Konfiguration

Nachfolgende Konfigurationsdateien sind für den Einsatz von GitWeb erforderlich:

  • /etc/gitweb.conf - Hauptkonfigurationsdatei
  • /etc/httpd/conf.d/git.conf - Konfigurationsdatei für den Apache HTTP Server

/etc/gitweb.conf

Nachfolgende Anpassungen sind für den Betrieb mindestens erforderlich:

Relevante Änderungen sind mit einem vorangestellten Kommentar, welcher wie nachfolgend dargestellt aussieht, gekennzeichnet:

# Tachtler

(Komplette Konfigurationsdatei):

# The gitweb config file is a fragment of perl code. You can set variables
# using "our $variable = value"; text from "#" character until the end of a
# line is ignored. See perlsyn(1) man page for details.
#
# See /usr/share/doc/gitweb-*/README and /usr/share/doc/gitweb-*/INSTALL for
# more details and available configuration variables.
 
# Set the path to git projects.  This is an absolute filesystem path which will
# be prepended to the project path.
# Tachtler
# default: #our $projectroot = "/var/lib/git";
our $projectroot = "/srv/git";
 
# Set the list of git base URLs used for URL to where fetch project from, i.e.
# the full URL is "$git_base_url/$project". By default this is empty
# Tachtler
# default: #our @git_base_url_list = qw(git://git.example.com
# default: #                            ssh://git.example.com/var/lib/git);
our @git_base_url_list = qw(http://git.tachtler.net
                            http://www.git.tachtler.net
                            https://git.tachtler.net);
 
# Enable the 'blame' blob view, showing the last commit that modified
# each line in the file. This can be very CPU-intensive. Disabled by default
#$feature{'blame'}{'default'} = [1];
#
# Allow projects to override the default setting via git config file.
# Example: gitweb.blame = 0|1;
#$feature{'blame'}{'override'} = 1;
 
# Disable the 'snapshot' link, providing a compressed archive of any tree. This
# can potentially generate high traffic if you have large project. Enabled for
# .tar.gz snapshots by default.
#
# Value is a list of formats defined in %known_snapshot_formats that you wish
# to offer.
#$feature{'snapshot'}{'default'} = [];
#
# Allow projects to override the default setting via git config file.
# Example: gitweb.snapshot = tbz2,zip; (use "none" to disable)
#$feature{'snapshot'}{'override'} = 1;
 
# Disable grep search, which will list the files in currently selected tree
# containing the given string. This can be potentially CPU-intensive, of
# course. Enabled by default.
#$feature{'grep'}{'default'} = [0];
#
# Allow projects to override the default setting via git config file.
# Example: gitweb.grep = 0|1;
#$feature{'grep'}{'override'} = 1;
 
# Disable the pickaxe search, which will list the commits that modified a given
# string in a file. This can be practical and quite faster alternative to
# 'blame', but still potentially CPU-intensive. Enabled by default.
#$feature{'pickaxe'}{'default'} = [0];
#
# Allow projects to override the default setting via git config file.
# Example: gitweb.pickaxe = 0|1;
#$feature{'pickaxe'}{'override'} = 1;

Erklärungen zu den Konfigurationsdateiänderungen:

# Set the path to git projects.  This is an absolute filesystem path which will
# be prepended to the project path.
# Tachtler
# default: #our $projectroot = "/var/lib/git";
our $projectroot = "/srv/git";
 
# Set the list of git base URLs used for URL to where fetch project from, i.e.
# the full URL is "$git_base_url/$project". By default this is empty
# Tachtler
# default: #our @git_base_url_list = qw(git://git.example.com
# default: #                            ssh://git.example.com/var/lib/git);
our @git_base_url_list = qw(http://git.tachtler.net
                            http://www.git.tachtler.net
                            https://git.tachtler.net);
  • our $projectroot = "/srv/git";

Setzen des Verzeichnispfades zu dem Speicherort, an dem die Git-Repositorys im Dateisystem abgelegt sind.

  • our @git_base_url_list = qw(http://git.tachtler.net
                                http://www.git.tachtler.net
                                https://git.tachtler.net);

Setzen der Basis-URLs, unter denen die Git-Repositorys erreichbar sind.

/etc/httpd/conf.d/git.conf

Die mit der Installation von GitWeb mitgelieferte Konfigurationsdatei

  • /etc/httpd/conf.d/git.conf

soll nachfolgend nicht zum Einsatz kommen.

Die nötigen Konfigurationen des Apache HTTP Server sollen in einem VHOST erfolgen, wie unter nachfolgenden internen Links bereits beschrieben.

Aufbauen auf vorhergehender Konfiguration aus nachfolgendem internen Link

sind nachfolgende erneute Anpassungen durchzuführen.

:!: WICHTIG - Nachfolgende Konfigurationen stellen eine grundlegende Apache HTTP Server-VHOST-Konfiguration dar.
Weitere Einzelheiten zu Apache HTTP Server-VHOST sind in der Dokumentation zum Apache HTTP Server verfügbar!

Nachfolgend ein Beispiel für einen Apache HTTP Server-VHOST via http:

#
# git.tachtler.net (Git Repository Bare Remote Server)
#
<VirtualHost *:80>
        ServerAdmin webmaster@tachtler.net
        ServerName git.tachtler.net
        ServerAlias www.git.tachtler.net
        ServerPath /
 
        <Directory "/usr/libexec/git-core">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
 
        # 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_HTTP_EXPORT_ALL
 
        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">
                Options -Indexes +FollowSymLinks +ExecCGI
                AllowOverride None
                # LDAP
                AuthType Basic
                AuthName "Git 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>
                        Require ldap-user klaus
                </RequireAll>
        </Directory>
 
        # Tachtler
        # Repository: homepage.git
        # ----------------------------------------------------------------------------------------------------
        <Location /git/homepage.git>
                # LDAP
                AuthType Basic
                AuthName "Git Repository - homepage (git.tachtler.net/git/homepage.git)"
                AuthBasicProvider ldap
                AuthLDAPURL "ldaps://ldap.idmz.tachtler.net:636/dc=tachtler,dc=net?uid"
                AuthLDAPBindDN "cn=Ersatzbenutzer,dc=tachtler,dc=net"
                AuthLDAPBindPassword "geheim"
                <RequireAll>
                        Require ldap-user klaus
               </RequireAll>
        </Location>
 
        DirectoryIndex gitweb.cgi
 
        ErrorLog logs/git_error.log
        CustomLog logs/git_access.log combined
</VirtualHost>

Nachfolgend ein Beispiel für einen Apache HTTP Server-VHOST via https:

#
# git.tachtler.net (Git Repository Bare Remote Server)
#
<VirtualHost *:443>
        ServerAdmin webmaster@tachtler.net
        ServerName git.tachtler.net
        ServerPath /
 
        SSLEngine on
        SSLProtocol all -SSLv2 -SSLv3
        SSLHonorCipherOrder on
        SSLCipherSuite "ECDHE-RSA-AES128-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA128:DHE-RSA-AES128-GCM-SHA384:DHE-RSA-AES128-GCM-SHA128:ECDHE-RSA-AES128-SHA384:ECDHE-RSA-AES128-SHA128:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA128:DHE-RSA-AES128-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA384:AES128-GCM-SHA128:AES128-SHA128:AES128-SHA128:AES128-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"
        SSLCertificateFile /etc/pki/httpd/certs/tachtler.net.crt
        SSLCertificateKeyFile /etc/pki/httpd/private/tachtler.net.key
        SSLCertificateChainFile /etc/pki/httpd/certs/CAcert_chain.pem
        SSLCACertificateFile /etc/pki/httpd/certs/CAcert_root.pem
 
        <Directory "/usr/libexec/git-core">
                Options None
                AllowOverride None
                Require all granted
        </Directory>
 
        # 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_HTTP_EXPORT_ALL
 
        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">
                Options -Indexes +FollowSymLinks +ExecCGI
                AllowOverride None
                # LDAP
                AuthType Basic
                AuthName "Git Repository Bare Remote Server (git.tachtler.net)"
                AuthBasicProvider ldap
                AuthLDAPURL "ldaps://ldap.idmz.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>
        </Directory>
 
        # Tachtler
        # Repository: homepage.git
        # ----------------------------------------------------------------------------------------------------
        <Location /git/homepage.git>
                # LDAP
                AuthType Basic
                AuthName "Git Repository - homepage (git.tachtler.net/git/homepage.git)"
                AuthBasicProvider ldap
                AuthLDAPURL "ldaps://ldap.idmz.tachtler.net:636/dc=tachtler,dc=net?uid"
                AuthLDAPBindDN "cn=Ersatzbenutzer,dc=tachtler,dc=net"
                AuthLDAPBindPassword "geheim"
                <RequireAll>
                        Require ldap-user klaus
               </RequireAll>
        </Location>
 
        DirectoryIndex gitweb.cgi
 
        <Files ~ "\.(cgi|shtml|phtml|php3?)$">
                SSLOptions +StdEnvVars
        </Files>
        <Directory "/var/www/cgi-bin">
                SSLOptions +StdEnvVars
        </Directory>
 
        BrowserMatch "MSIE [2-5]" \
                nokeepalive ssl-unclean-shutdown \
                downgrade-1.0 force-response-1.0
 
        ErrorLog logs/git_error.log
        CustomLog logs/git_access.log combined_ssl
</VirtualHost>

Erklärungen zu den GitWeb bezogenen VHOST-Konfigurationen:

Nachfolgende Konfigurationen sind GitWeb spezifisch:

(Nur relevanter Ausschnitt):

...
        # 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
...

VORHER:

  •         ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/

NACHHER:

  •         # 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

Bezeichnet das Skript, welches beim Zugriff auf den Apache HTTP Server-VHOST zur Anwendung kommt und die entsprechenden Git Befehle verarbeitet, allerdings nur noch diejenigen Befehle, welche auch für das Skript selbst bestimmt sind!.

VORHER:

  •         DocumentRoot "/srv/git"

NACHHER:

  •         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"

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:

  1. Es wird ein Handler für das perl-Skipt hinzugefügt
  2. Die Zugriffsmöglichkeiten werden festgelegt, entscheidend ist hier +ExecCGI
  3. Es wird beim Zugriff auf das Verzeichnis, eine Authentifizierung gegen LDAP erforderlich
  4. Es wird der PerlResponsHandler gesetzt
  5. Es wird die perl-Option +ParseHeaders gesetzt
  6. Es wird die Umgebungsvariable GITWEB_CONFIG mit dem Pfad zur Konfigurationsdatei von GitWeb gesetzt
  •         DirectoryIndex gitweb.cgi

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 Apache HTTP Server, was mit nachfolgendem Befehl durchgeführt werden kann:

# systemctl restart httpd.service

Kann wie folgt unter nachfolgender URL https://git.tachtler.net die Web-Anwendung GitWeb aufgerufen werden, was z.B. eine Ausgabe wie die nachfolgende zum Vorschein bringen sollte:

GitWeb - Startseite

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/git_centos_7_-_gitweb.txt · Zuletzt geändert: 2015/08/07 15:36 von klaus