Installationsanleitung zu Apache 1.3.x

Inhalt:

  1. Verwendete Software
  2. Installation vorbereiten
  3. cronolog installieren
  4. mod_ssl installieren
  5. Apache installieren
  6. mod_gzip installieren
  7. mod_perl installieren
  8. mod_php5 installieren
  9. mod_dav installieren
  10. mod_accounting installieren
  11. APC (Alternative PHP Cache) installieren
  12. Zertifikat für HTTPS erzeugen
  13. Startscripte installieren
  14. Apache konfigurieren
  15. Dateien zur Anleitung
  16. Starten der Dienste (Programme)




^ 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/apache_1.3.27.tar.gz
tar -xzf lampxxl/php-4.2.3.tar.gz
tar -xzf lampxxl/apc-cvs.tar.gz
tar -xzf lampxxl/cronolog-1.6.2.tar.gz
tar -xzf lampxxl/mod_perl-1.27.tar.gz
tar -xzf lampxxl/mod_ssl-2.8.11-1.3.27.tar.gz
tar -xzf lampxxl/mod_gzip-1.3.26.1a.tgz
tar -xzf lampxxl/mod_dav-1.0.3-1.3.6.tar.gz
tar -xzf lampxxl/expat-1.95.6.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

make
make install

ln -s /usr/local/cronolog/1.6.2 /usr/local/cronolog/current





^ mod_ssl installieren:

Sollte bereits ein Zertifikat erstellt sein und verwendet werden, dann die fett markierten hinzufügen (und die Pfadangabe entsprechend ändern) und die Anweisungen bei Zertifikat für HTTPS erzeugen überspringen.

Für die erste Installation von mod_ssl:

cd /usr/local/src/mod_ssl-2.8.11-1.3.27/

./configure \
--with-apache=/usr/local/src/apache_1.3.27 \
--with-ssl=/usr/local/openssl/current \
--with-mm=/usr/local\
--with-crt=/home/domain.de/ssl/server.crt \
--with-key=/home/domain.de/ssl/server.key

Für eine Aktualisierung von mod_ssl:

cd /usr/local/src/mod_ssl-2.8.11-1.3.27/

./configure \
--with-apxs=/usr/local/apache/current/bin/apxs \
--with-ssl=/usr/local/openssl/current \
--with-mm=/usr/local

make
make install





^ Apache installieren:

Die fett hervorgehobene Zeile schaltet mod_userdir, welches Standardmäßig eingeschaltet ist, aus. Siehe dazu mod_userdir, wenn nötig.

Die kursiv markierten können ausgelassen werden, wenn diese nicht benötigt werden. Siehe dazu mod_unique_id, mod_speling oder mod_digest. Die Anweisungen in der httpd.conf zu diesen Modulen müssen dann noch auskommentiert werden.

Die Angaben --enable-module=ssl und --enable-shared=ssl nur bei der ersten Installation von mod_ssl angeben, denn bei einer Aktualisierung braucht der Apache nicht erneut kompiliert werden.

cd /usr/local/src/apache_1.3.27/

EAPI_MM=/usr/local \
SSL_BASE=/usr/local/openssl/current \
./configure \
--prefix=/usr/local/apache/1.3.27 \
--enable-suexec \
--suexec-caller=wwwrun \
--suexec-logfile=/var/log/apache/suexec/suexec.log \
--suexec-uidmin=500 \
--suexec-gidmin=100 \
--suexec-docroot=/home \
--suexec-safepath="/bin:/usr/bin:/usr/local/bin" \
--enable-module=so \
--disable-module=userdir \
--enable-module=digest \
--enable-shared=digest \
--enable-module=unique_id \
--enable-shared=unique_id \
--enable-module=speling \
--enable-shared=speling \
--enable-shared=log_config \
--enable-module=ssl \
--enable-shared=ssl

make
make install

ln -s /usr/local/apache/1.3.27 /usr/local/apache/current





^ mod_gzip installieren:

cd /usr/local/src/mod_gzip-1.3.26.1a

make APXS=/usr/local/apache/current/bin/apxs
make install APXS=/usr/local/apache/current/bin/apxs





^ mod_perl installieren:

Bei diesem Schritt wird jetzt mod_perl konfiguriert und installiert.

cd /usr/local/src/mod_perl-1.27

perl Makefile.PL \
USE_APXS=1 \
WITH_APXS=/usr/local/apache/current/bin/apxs \
EVERYTHING=1 \
PERL_USELARGEFILES=0 \

CFLAGS="-DEAPI -I/usr/local/apache/current/include" \
make
make install





^ mod_php5 installieren:

Die Anweisung --with-ldap natürlich nur dann angeben, wenn LDAP genutzt werden soll.

Die Anweisung --with-pgsql ebenfalls nur dann angeben, wenn PostgreSQL genutzt werden soll.

cd /usr/local/src/php-4.2.3/

./configure \
--with-ldap=/usr/local/openldap/current \
--with-pgsql=/usr/local/postgresql/current \
--with-apxs=/usr/local/apache/current/bin/apxs \
--with-mysql=/usr/local/mysql/current \
--with-openssl=/usr/local/openssl/current \
--with-mm=/usr/local \
--with-gd=/usr/local \
--with-zlib-dir=/usr/local \
--enable-sockets \
--enable-trans-sid \
--enable-ftp \
--enable-memory-limit \
--enable-sysvshm \
--enable-sysvsem \
--enable-track-vars \
--with-config-file-path=/etc
--disable-libxml

make
make install





^ mod_dav installieren:

Als erstes wird expat installiert, da dieses Paket von mod_dav benötigt wird:

cd /usr/local/src/expat-1.95.6
./configure \
--prefix=/usr/local/expat/1.95.6 \
 
make
make install
 
ln -s /usr/local/expat/1.95.6 /usr/local/expat/current

Library-Pfade hinzufügen:

echo "/usr/local/expat/current/lib >> /etc/ld.so.conf

ACHTUNG: Es ist unbedingt darauf zu achten, das ">>" verwendet wird, denn ansonsten ist alles andere aus der Datei verloren und nur noch obiger Eintrag steht drin!

Und dann noch:

/sbin/ldconfig -v

Nun wird mod_dav installiert:

cd /usr/local/src/mod_dav-1.0.3-1.3.6
./configure \
--with-apxs=/usr/local/apache/current/bin/apxs \
--with-expat=/usr/local/expat/current
 
make
cp libdav.so /usr/local/apache/modules/

[1] c´t Ausgabe 10/2003, Seite 216





^ mod_accounting installieren:

Bei diesem Schritt wird jetzt mod_accounting konfiguriert und installiert.

cd /usr/local/src/mod_accounting-0.5
vi ./Makefile

In Zeile 8 der Pfad zu apxs ändern in /usr/local/apache/current/bin/apxs.

In Zeile 12 -DNEED_POSTGRES oder -DNEED_MYSQL entfernen und in Zeile 13 und 14 die richtigen Pfade zu den Include und Lib eintragen.

Für MySQL:
/usr/local/mysql/current/include/ und
/usr/local/mysql/current/lib/mysql/

Für PostgreSQL:
/usr/local/postgres/current/include/ und
/urrent/lib/

Dann kompilieren und installieren:

make APXS=/usr/local/apache/current/bin/apxs
cp mod_accounting.so /usr/local/apache/modules/





^ APC (Alternative PHP Cache) installieren:

Als nächstes wird apc (Alternative PHP Cache) installiert. Dieser Cache legt PHP-Dateien in ihrem kompilierten Zustand ab und spart dadurch den Overhead des parsens und kompilieren. Performancesteigerung garantiert. ;)

cd /usr/local/src/apc/

./configure \
--enable-apc \
--with-php-config=/usr/local/bin/php-config

make

cp modules/php_apc.so /usr/local/lib/php/extensions

Mit Hilfe des folgenden PHP-Befehls kann die Funktion des APC überprüft werden.

<?php apcinfo(); ?>




^ 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.0303 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 1.3.x /