Inhaltsverzeichnis
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:
- Siehe auch den internen Link: Git CentOS 7
- Git als Installationspaket
- ab der Version 1.6.6 oder höher
- Lauffähiger Web-Server z.B. Apache HTTP Server
- Siehe auch den internen Link: Apache HTTP Server CentOS 7
- Siehe auch den internen Link: Apache HTTP Server CentOS 7 - mod_ssl - Verschlüsselung (https)
- Siehe auch den internen Link: Apache HTTP Server CentOS 7 - mod_ldap - LDAP-Authentifizierung
- Lauffähiger LDAP-Server z.B. OpenLDAP
- Siehe auch den internen Link: LDAP CentOS 7
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:
- 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 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: