Installationsanleitung zu Apache 2.2.x

Inhalt:

  1. Wichtiger Hinweis!
  2. Verwendete Software
  3. Installation vorbereiten
  4. cronolog installieren
  5. Apache installieren
  6. mod_fcgid installieren
  7. mod_perl installieren
  8. mod_php5 installieren
  9. mod_suPHP installieren
  10. Zertifikat für HTTPS erzeugen
  11. Startscripte installieren
  12. Apache konfigurieren
  13. Dateien zur Anleitung
  14. Starten der Dienste (Programme)




^ Wichtiger Hinweis!

Eine Umstellung von Apache/1.3.x auf Apache/2.2.x ist mit einigen wichtigen Änderungen an den Konfigurationsdateien verbunden! Daher unbedingt die unten angegebenen Konfigurationsdateien verwenden!





^ Verwendete Software:

Alle Dateien runterladen und in dem Verzeichnis

/usr/local/src/lampxxl/

ablegen.

Sollte das Verzeichnis nicht vorhanden sein, einfach anlegen:

cd /usr/local/
mkdir src
mkdir src/lampxxl

Nachfolgend die direkten Verknüpfungen auf die Dateien, sollte eine Datei nicht mehr gefunden werden, dann wurde bestimmt wieder die Verzeichnisstruktur auf dem Server umgestellt oder es gibt inzwischen eine neuere Version. Dann einfach die Homepage besuchen und die gewünschte Verison suchen und runterladen. Sollte die nicht mehr vorhanden sind, dann die neuere Version runterladen (sollte in den meisten fällen funktionieren).





^ Installation vorbereiten:

Jetzt werden alle Archive entpackt, damit wir die Installation beginnen können.

cd /usr/local/src/

tar -xzf lampxxl/httpd-2.2.15.tar.gz
tar -xzf lampxxl/cronolog-1.6.2.tar.gz
tar -xzf lampxxl/mod_perl-2.0-current.tar.gz
tar -xzf lampxxl/mod_fcgid-2.3.5.tar.gz
tar -xzf lampxxl/php-5.2.13.tar.gz

Nun sind alle Archive entpackt und liegen in:

/usr/local/src

Ab jetzt wird installiert, es ist aber darauf zu achten, das die Reihenfolge exakt beachtet wird, da einige Pakete ein anderes Paket benötigen kann!

Bei den Installationsanweisungen sind ab und zu Zeilen mit \ am Ende zu sehen, dies bedeutet, das die Anweisungen in einer Zeile einzugeben sind und das \ wegzulassen ist!





^ cronolog installieren:

cd /usr/local/src/cronolog_1.6.2/
 
----------------
CFLAGS="-O2 -DFILE_MODE=0600 -DDIR_MODE=0700" \
./configure \
--prefix=/usr/local/cronolog/1.6.2
-------- Download --------
 
make
make install
 
ln -s /usr/local/cronolog/1.6.2 /usr/local/cronolog/current




^ Apache installieren:

Damit das Modul mod_deflate übersetzt werden kann, muß zlib installiert sein!

Die fett markierten Anweisungen schalten ein Modul aus, wenn dieses Module benötigt wird, dann die entsprechende Anweisung auslassen.

Die schräg markierten Anweisungen sind nur dann zu installieren, wenn diese Funktionalität gewünscht ist.

Standardmäßig werden folgende Module installiert:

Vor der Installation müssen folgende Librarys/Tools installiert sein:

cd /usr/local/src/httpd-2.2.15/
 
----------------
EAPI_MM=/usr/local \
./configure \
--prefix=/usr/local/apache/2.2.15 \
--with-ssl=/usr/local \
--with-z=/usr/local \
--with-mpm=prefork \
--enable-authz_host=shared \
--enable-auth-digest=shared \
--enable-authn-dbm=shared \
--enable-deflate=shared \
--enable-headers=shared \
--enable-logio=shared \
--enable-ssl=shared \
--enable-speling=shared \
--enable-dav=shared \
--enable-dav-fs=shared \
--enable-rewrite=shared \
--enable-mime-magic=shared \
--enable-expires=shared \
--enable-suexec \
--with-suexec-caller=wwwrun \
--with-suexec-logfile=/var/log/apache/suexec/suexec.log \
--with-suexec-uidmin=500 \
--with-suexec-gidmin=100 \
--with-suexec-docroot=/home \
--with-suexec-safepath="/bin:/usr/bin:/usr/local/bin" \
--with-suexec-umask=022 \
--disable-userdir \
--disable-imagemap
 
make
make install
 
ln -s /usr/local/apache/2.2.15 /usr/local/apache/current

Anmerkung: Sollte das Übersetzen der Quellen wegen der Meldung ... zutil.h ... nicht funktionieren, dann einfach in /usr/local/include die Datei zutil.h aus dem Archiv kopieren.

Siehe auch: http://www.nabble.com/install-problem-on-solaris-td18822274.html

Jetzt müssen noch ein paar Rechte gesetzt werden:

chgrp wwwrun /usr/local/apache/current/bin/suexec
chmod 4750 /usr/local/apache/current/bin/suexec
chown 0 /usr/local/apache/current/bin/httpd
chgrp 0 /usr/local/apache/current/bin/httpd
chmod 511 /usr/local/apache/current/bin/httpd




^ mod_fcgid installieren:

Bei diesem Schritt wird jetzt mod_fcgid konfiguriert und installiert.

cd /usr/local/src/mod_fcgid-2.3.5
 
APXS=/usr/local/apache/current/bin/apxs ./configure.apxs
 
make
make install




^ mod_perl installieren:

Bei diesem Schritt wird jetzt mod_perl konfiguriert und installiert.

cd /usr/local/src/mod_perl-2.0.4
 
perl Makefile.PL MP_APXS=/usr/local/apache/current/bin/apxs
 
make
make install




^ mod_php5 installieren:

Die fett markierten Anweisungen brauchen nur dann angegeben werden, wenn dieses Funktionalität benötigt wird, ansonsten die entsprechende Anweisung auslassen.

Vor der Installation müssen folgende Librarys/Tools installiert sein:

cd /usr/local/src/php-5.2.13/
 
----------------
./configure \
--with-apxs2=/usr/local/apache/current/bin/apxs \
--with-ldap=/usr/local/openldap/current \
--with-pgsql=/usr/local/postgresql/current \
--with-mysql=/usr/local/mysql/current \
--with-pdo-mysql=/usr/local/mysql/current \
--with-openssl=/usr/local \
--with-mcrypt=/usr/local \
--with-curl=/usr/local \
--with-gd \
--with-ttf \
--with-freetype-dir=/usr/local \
--with-t1lib=/usr/local \
--with-jpeg-dir=/usr/local \
--with-png-dir=/usr/local \
--with-libxml-dir=/usr/local \
--with-zlib-dir=/usr/local \
--without-mm \
--enable-mbstring \
--enable-sockets \
--enable-ftp \
--enable-sysvshm \
--enable-sysvsem \
--enable-force-cgi-redirect \
--enable-fastcgi \
--with-pcre-regex \
--with-config-file-path=/etc
-------- Download --------
 
make
make install

Anmerkgun: Wenn die libpng/1.2.4 installiert ist, muss vorher die /usr/local/src/php-5.2.13/ext/gd/libgd/gd_png.c editiert werden:

-- if (!png_check_sig (sig, 8)) { /* bad signature */
++ if (png_sig_cmp (sig, 0, 8)) { /* bad signature */




^ mod_suPHP installieren:

cd /usr/local/src/suphp-0.7.1/
 
----------------
./configure \
--prefix=/usr/local \
--with-apxs=/usr/local/apache/current/bin/apxs \
--with-min-uid=500 \
--with-min-gid=100 \
--with-apache-user=wwwrun \
--with-logfile=/var/log/apache/suphp/suphp.log \
--with-setid-mode=force \
--with-apr=/usr/local/apache/current/bin/apr-1-config
 
make
make install




^ Zertifikat für HTTPS erzeugen:

Nun wird ein Zertifikat erstellt, hierbei handelt es sich um eines für den privaten/internen gebrauch, da es nicht von einer offziellen CA abgesegnet wurde und auch nicht Paßwort geschützt ist. Daher sollte dieses Zertifikat nicht auf einem reellen Server benutzt werden.

/usr/local/openssl/current/bin/openssl \
req -new -x509 -days 365 -nodes \
-out /home/domain.de/ssl/server.crt \
-keyout /home/domain.de/ssl/server.key

Es werden ein paar Daten abgefragt, die mit vernüftigen Daten gefüllt werden sollten. Dabei die Anführungszeichen weglassen!

Country Name (2 Letter Code) [AU]: "DE"
State or Province Name (full name) [Some-State]: "GERMANY"
Organization Name (eg. company) [Internet Widgits Pty Ltd]: "Meine Firma"
Organizational Unit Name (eg. section) []: "TLS/SSL-Intranetdatenverbindungsabteilung"
Common Name (eg. YOUR name) []: "Meine Firma CA"
Emaill Address []: "webmaster@domain.de"

Das war es, nun ist das Zertifikat generiert und installiert.





^ Startscripte installieren:

Damit alles was wir eben installiert haben auch bei einem Neustart mitgestartet wird, installieren wir nun ein paar Scripte, die dieser Anleitung beiliegen (unter Dateien zur Anleitung):

Apache

chmod 700 /etc/init.d/apachectl
ln -s /etc/init.d/apachectl /etc/init.d/rc2.d/S20apachectl
ln -s /etc/init.d/apachectl /etc/init.d/rc2.d/K20apachectl

Änderungen (z Original):





^ Apache konfigurieren:

Da wir einige Module installiert haben, die noch ein wenig konfiguriert werden müssen, machen wir das jetzt.

Es ist aber auch eine httpd.conf unter Dateien zur Anleitung zu finden, somit kann man sich das ganze tippen sparen.

Nach einem Neustart des Apache, werden alle Dateien mit der Endung .perl durch mod_perl und Dateien mit .pl oder .cgi werden über die CGI-Schnittstelle ausgeführt. Daher müssen .pl oder .cgi mit der bekannten shebang-Zeile ausgestattet werden, damit der richtige Interpreter gestartet wird.

Also wie gewohnt:

#! /usr/bin/perl
oder
#! /bin/sh

Die Log-Dateien werden nun täglich angelegt und nicht wie sonst immer alles in einer Log-Datei geschrieben, die irgendwann > 10MB ist. Dank cronolog.

Beispiel:

/var/log/apache/access.log.20010715
/var/log/apache/access.log.20010716
/var/log/apache/access.log.20010717

Damit suEXEC richtig arbeiten kann, muß für jeden VirtualHost jeweils ein User und Group angegeben werden. Also wie im folgendem Beispiel:

<VirtualHost 192.168.1.1>
User linux.hs-bremerhaven.de
Group users

ServerName www.linux.hs-bremerhaven.de
ServerAlias linux.hs-bremerhaven.de
DocumentRoot /home/linux.hs-bremerhaven.de/public_html
ScriptAlias /home/linux.hs-bremerhaven.de/cgi-bin
</VirtualHost>

Leider werden Scripte die durch mod_perl und mod_php4 ausgeführt werden, nicht unter der User-ID des VirtualHost gestartet (also nicht mit suEXEC).

Unter der URL http://www.domain.de/perlstat kann man Informationen zu mod_perl abrufen, allerdings nur von der IP-Adresse 192.168.1.2, da wir das so eingestellt haben (kann man aber ändern ;) .





^ Starten der Dienste (Programme):

Am einfachsten geschiet dieses durch ein Neustart des Rechners. Aber es geht auch anders:

/etc/init.d/apachectl start

Nun sollte alles ohne eine Fehlermeldung gestartet sein.





^ Dateien zur Anleitung:

Hier nun die Dateien, die einem eine Menge Tipparbeit abnehmen:

Startscripte:
/etc/init.d/apachectl

Conf-Dateien:
/etc/httpd/httpd.conf
/etc/php.ini

Damit nicht jeder die Dateien verändern kann, einmal den User ändern:

chown root.root /etc/httpd/httpd.conf
chown root.root /etc/php.ini

und den Modus ändern:

chmod 600 /etc/httpd/httpd.conf
chmod 600 /etc/php.ini





undef_engine.mod_perl/0.67 - Time needed: 0.0332 sec.

Trackmania United Forever

Trackmania Nations Forever

Frischer Wind im Dezember
Mir gefiel das alte Layout schon lange nicht mehr. Daher habe ich einfach mal was neues gemacht, läßt sich jetzt auch alles viel besser lesen. Es sind allerdings noch ein paar Anpassungen nötig, die ich in Kürze aber fertigstellen werde.
Rubrik Perl
Ich habe es endlich geschaft mal ein wenig an meiner Page zu arbeiten...
[mehr]
Hangmania
Mein erstes Online-Game ist online, ist zwar schon älter, aber...
[mehr]
Documentation
Installationsanleitung für Samba nun online.
[mehr]
Documentation
Installationsanleitung für BIND nun online.
[mehr]
LAMPxxl erneuert
LAMPxxl ist nun auf der Basis von SuSE 7.2.
[mehr]
Documentation
Installationsanleitung für ProFTPd nun online (ausgegliedert aus LAMPxxl).
[mehr]
Documentation
Installationsanleitung für OpenSSH nun online.
[mehr]

skyscraper1.gif
In Partnerschaft mit eis.de

@000://00
Location: www.undef.de / Documentation / LAMPxxl / Install Apache / Version 2.2.x /