Unterabschnitte
Das Apache2-Paket
Mit dem Apache-HTTP-Server kann man selbst Webseiten auf eisfair
bereitstellen, auch Seiten mit dynamischen Inhalten (PHP, Perl)
stellen damit kein Problem dar.
Das Apache-Paket stellt nur den eigentlichen Webserver bereit; um PHP
benutzen zu können, muss das APACHE2_PHP5-Paket installiert werden.
Das Apache2-Paket benötigt die folgenden Pakete:
- certs
- libapr-1 (eisfair -1)
- libmm (eisfair -1)
- libexpat (eisfair -1)
Das apache2-Paket wird über das Setup-Menü im Untermenü ”Package
administration” installiert. Wird eine ältere Paketversion vorgefunden,
so wird deren Konfiguration gesichert und das alte Paket deinstalliert bevor
die neuen Programmdateien installiert werden und die Konfiguration übernommen
wird.
Bei einer Neuinstallation wird automatisch die
Standardkonfiguration erstellt. Nach Beendigung diese
Schrittes werden die Konfigurationsdateien generiert und der httpd-
Prozess gestartet.
Das Menü des apache2 Paketes im Setup-Programm ist wie folgt aufgebaut:
- Read Apache Documentation
- Configuration
- Edit configuration
Konfiguration von Apache über die eisfair -Konfigurationsebene
bearbeiten.
- Advanced configuration file handling
Versionsverwaltung der Apache Konfiguration.
- Append commands to the httpd.conf
Dieser Punkt bietet die Möglichkeit, manuell Kommandos in die
Konfigurationsdatei des Apache einzutragen.
- Modules Configuration
Über diesen Punkt können Module, wie z.B. die PHP5 Erweiterung
administriert und konfiguriert werden.
- Server Handling
- Show Status
Zeigt den aktuellen Status des Apache Dienstes an.
- Restart
Startet den Apache Server neu.
- Start
Startet den Apache Server.
- Stop
Stoppt den Apache Server.
Die Konfiguration von Apache2 unter eisfair erfolgt über den Menüpunkt
”Edit configuration” im Paketmenü. Die vorgenommenen Änderungen werden nach
Beenden des Editors automatisch übernommen.
In der Konfigurationsdatei, die über das Menü zugänglich ist, sind
die in den folgenden Unterabschnitten beschriebenen Parameter vorhanden.
-
- START_APACHE2
-
Über diese Variable kann gesteuert werden, ob der Apache
gestartet werden soll, oder nicht.
Standardeinstellung: START_APACHE2='no'
- APACHE2_PORT
-
Auf diesem Port läuft Apache und nimmt Anfragen entgegen.
Standardeinstellung: APACHE2_PORT='80'
- APACHE2_SERVER_ADMIN
-
Die E-Mail-Adresse des Serverbetreibers; diese wird auf den Seiten
eingefügt, die vom Server in Fehlerfällen generiert werden.
- APACHE2_SERVER_NAME
-
Hier wird der Name angegeben unter dem der Apache-Webserver im
Browser später aufgerufen wird. Es muss ein FQDN (Full qualified
domain name) angegeben werden. D.h. Hostname + Domainname.
Ist der Hostname vom eisfair z.B. obelix und der Domainname
home.lan, so muss als Server-Name obelix.home.lan angegeben werden
- APACHE2_SERVER_SIGNATURE
-
Hierüber kann festgelegt werden, ob Apache in automatisch
generierte Dokumente wie Index- oder Fehlermeldungsseiten
eine Fußzeile einfügen soll.
- Off: Apache erzeugt keine Informationsfußzeile.
- On: Es wird eine Fußzeile ohne E-Mail-Adresse generiert.
- Email: Es wird eine Fußzeile mit E-Mail-Adresse generiert.
Standardeinstellung: APACHE2_SERVER_SIGNATURE='On'
- APACHE2_DOCUMENT_ROOT
-
Hier wird das Verzeichnis eingestellt, in dem die Website liegt.
Wenn es außerhalb von /var/www/ liegt muss das HOME-Verzeichnis des
Users wwwrun angepasst werden, damit auf das Verzeichnis noch per
FTP zugegriffen werden kann.
Standardeinstellung: APACHE2_DOCUMENT_ROOT='/var/www/htdocs'
-
- APACHE2_SSL
-
Hier kann eingestellt werden, ob SSL genutzt werden soll, oder
nicht.
Standardeinstellung: APACHE2_SSL='no'
- APACHE2_SSL_PORT
-
Hier kann der SSL Port, der genutzt werden soll, eingestellt
werden.
Standardeinstellung: APACHE2_SSL_PORT='443'
- APACHE2_SSL_LOGDIR
-
Hier kann das Verzeichnis angegeben werden, in das SSL
Meldungen protokolliert werden sollen.
Standardeinstellung: APACHE2_SSL_LOGDIR='/var/www/log/'
-
- APACHE2_DIRECTORY_INDEX
-
Diese Seite wird aufgerufen, wenn keine Datei in der URL angegeben
wird z.B. nur http://192.168.0.1/ dann wird automatisch umgeleitet
auf http://192.168.0.1/index.html.
Wenn PHP installiert wird, wird (in der Konfiguration nicht
sichtbar) automatisch index.php hinzugefügt.
Standardeinstellung: APACHE2_DIRECTORY_INDEX='index.html index.htm'
- APACHE2_HOSTNAME_LOOKUPS
-
Normalerweise werden in der Logdatei nur die IP-Adressen gespeichert,
die auf den Server zugegriffen haben. Wenn man diese Variable auf
yes setzt werden statt der IP-Adressen, die Hostnames in die Logdatei
geschrieben. Das Auflösen der IP-Adressen in DNS-Namen ist
allerdings ein zeitaufwendiger Prozess; auf einem Server, der eine
hohe Last hast, wird deshalb die Einstellung APACHE2_HOSTNAME_LOOKUPS='no'
empfohlen.
Die IP-Adressen können beim Auswerten der Logdateien immer noch in
(evtl. veraltete) DNS-Namen aufgelöst werden.
Standardeinstellung: APACHE2_HOSTNAME_LOOKUPS='no'
- APACHE2_VIEW_DIRECTORY_CONTENT
-
Wenn in der URL nur ein Verzeichnis angegeben ist und dort keine
Index-Datei aus APACHE2_DIRECTORY_INDEX
liegt, wird bei der Einstellung yes der Verzeichnis Inhalt angezeigt.
Standardeinstellung: APACHE2_VIEW_DIRECTORY_CONTENT='no'
- APACHE2_ACCESS_CONTROL
-
Die IP-Adressen bzw. Hosts die hier angegeben werden haben Zugriff auf
den Apache. Für die Virtual Hosts muss dies extra eingestellt
werden. Jeder Rechner hat Zugriff, wenn die Variable auf 'all'
steht.
Folgende Beispiele illustrieren die Formate der Parameter:
- ”192.168.”
- ”192.168.0.0/16”
- ”192.168.0.0/255.255.0.0”
- ”192.168.0.1 192.168.0.2”
- ”http.apache.org”
- ”apache.org”
- ”.org”
Standardeinstellung: APACHE2_ACCESS_CONTROL='all'
- APACHE2_ENABLE_SSI
-
Legt fest, ob Server Side Includes (SSI) verwendet werden. Server
Side Includes sind eine Möglichkeit, Seiten dynamisch
zusammenzubauen. Für weitere Informationen siehe
apacheweek.
-
- APACHE2_ERROR_LOG
-
Alle Fehler, die der Apache dem User liefert oder die sonst
auftreten können (z.B. Fehler in Modulen) werden in dieser
Datei gespeichert.
Standardeinstellung: APACHE2_ERROR_LOG='/var/www/log/error_log'
- APACHE2_ACCESS_LOG
-
Alle Zugriffe werden in diese Datei geloggt.
Standardeinstellung: APACHE2_ACCESS_LOG='/var/www/log/access_log'
-
- APACHE2_SCRIPT_ALIAS
-
Name des Skript-Alias.
- APACHE2_SCRIPT_DIR
-
Hier wird der reelle-Pfad vom CGI-Verzeichnis angegeben. Alle
CGI-Skripte müssen in dieses Verzeichnis gelegt werden, da
ansonsten der Quelltext von dem Skript angezeigt wird. Man kann
auch über die Variable APACHE2_DIR_n_CGI CGI-Ausführung in
einem anderen Verzeichnis erlauben, aber dies wird aus
Sicherheitsgründen nicht empfohlen.
Standardeinstellung: APACHE2_SCRIPT_ALIAS='/var/www/cgi-bin'
-
- APACHE2_ERROR_DOCUMENT_N
-
Hier kann die Anzahl der Fehlerdokumente definiert werden.
- APACHE2_ERROR_DOCUMENT_x_ERROR
-
Ein Webserver liefert bei Fehlern bestimmte Statuscodes. Eine
Auflistung aller Codes ist auf dieser Website
zu finden:
- APACHE2_ERROR_DOCUMENT_x_DOCUMENT
-
Wenn ein Fehler auftritt wird nicht die Fehlerseite vom Apache
angezeigt sondern die hier angegebene HTML-Seite. Es können auch
CGI- oder PHP-Skripte angegeben werden.
-
- APACHE2_DIR_N
-
Hier kann die Anzahl der Verzeichnisse definiert werden.
- APACHE2_DIR_x_ACTIVE
-
Hierüber kann angegeben werden, ob die aktuellen Einstellungen
aktiv sind, oder nicht.
- APACHE2_DIR_x_ALIAS
-
Hier kann angegeben werden, ob für die aktuellen
Verzeichniseinstellungen ein Alias vergeben werden soll.
- APACHE2_DIR_x_ALIAS_NAME
-
Soll für die aktuellen Verzeichniseinstellungen ein Alias
vergeben werden, so muss hier der Aliasname eingetragen werden.
- APACHE2_DIR_x_PATH
-
Hier muss der reelle Pfad angegeben werden für den die u.g.
Parameter gelten.
- APACHE2_DIR_x_AUTH_NAME
-
Wenn APACHE2_DIR_x_AUTH_N nicht gesetzt ist, kann man dies Variable ignorieren.
Wenn allerdings die Authentifizierung genutzt werden soll wird der Inhalt dieser
Variable im Fenster des Browser angezeigt, wo man Benutzername und Passwort
eingeben muss.
- APACHE2_DIR_x_AUTH_N
-
Über diese Variable kann gesteuert werden, wie viele User einen
geschützten Bereich nutzen dürfen.
- APACHE2_DIR_x_AUTH_x_USER
-
Hier kann der User angegeben werden, der sich in den geschützten Bereich
einloggen kann. Die Passwort und Benutzername Abfrage geschieht über den
Browser.
- APACHE2_DIR_x_AUTH_x_PASS
-
Das Passwort für den Benutzer in APACHE2_DIR_x_AUTH_x_USER wird hier angegeben.
Momentan wird dieses noch im Klartext in der Konfigurationsdatei abgespeichert,
in den späteren Versionen vom Apache-Paket wird sich dies aber noch ändern.
- APACHE2_DIR_x_ACCESS_CONTROL
-
Der Syntax dieser Variable wird bei
APACHE2_ACCESS_CONTROL erklärt.
Die hier angegebene Zugriffserlaubnis bezieht sich dann nur auf
die aktuellen Verzeichniseinstellungen.
- APACHE2_DIR_x_CGI
-
Entweder darf hier 'no' angegeben werden oder '.pl', '.cgi' o.ä.
Aber nicht 'yes'!
Steht diese Variable nicht auf 'no', dann können CGI-Skripte mit den
Endungen, die in der Variable stehen ausgeführt werde. Wenn ein CGI-Skript
aufgerufen wird, dessen Endung nicht in APACHE2_DIR_x_CGI steht, wird der
Quelltext angezeigt.
- APACHE2_DIR_x_SSI
-
Hier darf 'yes' oder 'no' eingetragen werden. Wenn 'yes' eingetragen ist,
dann können SSI-Skripte mit der Endung .shtml ausgeführt werden. Aber nur
in dem in APACHE2_DIR_x_PATH angegebenen Pfad.
- APACHE2_DIR_x_VIEW_DIR_CONTENT
-
Diese Variable ist in APACHE2_VIEW_DIRECTORY_CONTENT erklärt.
Bezieht sich aber nur auf den in APACHE2_DIR_x_PATH angegebenem Pfad.
- APACHE2_DIR_x_WEBDAV
-
Schaltet WebDAV ein oder aus. WebDAV ist eine Dateifreigabe über HTTP und
wird z.B. für gemeinsam genutzte Terminkalender genutzt (z.B. Mozilla
Sunbird)
Mit Virtual Hosts kann man mehrere Domainnamen oder/und mehrere
IP-Adressen auf einem Apache hosten.
Beispiel:
Unter www.eisfair.net wurde die Domain meinesubdomain.eisfair.net
registriert. Nun hat kann man seinen eisfair -Server z.B. unter folgenden
Domains erreichbar machen
asterix.meinesubdomain.eisfair.net und
obelix.meinesubdomain.eisfair.net. Denn dank DNS-Wildcard zeigen
alle Domains, die man in der Form xxx.meinesubdomain.eisfair.net
z.B. in seinen Browser eingibt auf die IP-Adresse des eisfair -Servers.
APACHE2_VHOST_1_ACTIVE='yes'
APACHE2_VHOST_1_IP='*'
APACHE2_VHOST_1_PORT='80'
APACHE2_VHOST_1_SERVER_NAME='asterix.meinesubdomain.eisfair.net'
APACHE2_VHOST_1_SERVER_ALIAS='*.asterix.meinesubdomain.eisfair.net'
APACHE2_VHOST_1_SERVER_ADMIN='wwwadmin@asterix.meinesubdomain.eisfair.net'
APACHE2_VHOST_1_DOCUMENT_ROOT='/var/www/asterix/htdocs'
APACHE2_VHOST_1_SCRIPT_DIR='/var/www/asterix/cgi-bin/'
APACHE2_VHOST_1_ERROR_LOG='/var/www/asterix/log/error_log'
APACHE2_VHOST_1_ACCESS_LOG='/var/www/asterix/log/access_log'
APACHE2_VHOST_1_ACCESS_CONTROL='all'
APACHE2_VHOST_1_SSL='no'
APACHE2_VHOST_1_SSL_PORT='443'
APACHE2_VHOST_1_SSL_FORCE='no'
APACHE2_VHOST_1_SSL_CERT_NAME='apache-asterix.meinesubdomain.eisfair.net'
APACHE2_VHOST_2_ACTIVE='yes'
APACHE2_VHOST_2_IP='*'
APACHE2_VHOST_2_PORT='80'
APACHE2_VHOST_2_SERVER_NAME='obelix.meinesubdomain.eisfair.net'
APACHE2_VHOST_2_SERVER_ALIAS='*.obelix.meinesubdomain.eisfair.net'
APACHE2_VHOST_2_SERVER_ADMIN='wwwadmin@obelix.meinesubdomain.eisfair.net'
APACHE2_VHOST_2_DOCUMENT_ROOT='/var/www/obelix/htdocs'
APACHE2_VHOST_2_SCRIPT_DIR='/var/www/obelix/cgi-bin/'
APACHE2_VHOST_2_ERROR_LOG='/var/www/obelix/log/error_log'
APACHE2_VHOST_2_ACCESS_LOG='/var/www/obelix/log/access_log'
APACHE2_VHOST_2_ACCESS_CONTROL='all'
APACHE2_VHOST_2_SSL='no'
APACHE2_VHOST_2_SSL_PORT='443'
APACHE2_VHOST_2_SSL_FORCE='no'
APACHE2_VHOST_2_SSL_CERT_NAME='apache-
obelix.meinesubdomain.eisfair.net'
-
- APACHE2_VHOST_N
-
Hier kann die Anzahl der virtuellen Hosts definiert werden.
- APACHE2_VHOST_x_ACTIVE
-
Hier wird angeben, ob der betreffende VirtualHost aktiv sein
soll.
- APACHE2_VHOST_x_IP
-
Wenn diese Variable auf * gesetzt ist (Standardeinstellung),
kann dieser Virtual Host über jede IP-Adresse erreicht werden,
die an die NICs gebunden sind. Gibt man hier eine IP-Adresse
ein, ist der Virtual Host nur über die eingegeben IP-Adresse
erreichbar. Dies nennt man dann IP-Based Virtual Hosts.
- APACHE2_VHOST_x_PORT
-
Hier kann angegeben werden, welcher Port für diesen VirtualHost
genutzt werden soll
- APACHE2_VHOST_x_SERVER_NAME
-
Hier muss der Hostname des Virtual Hosts angegeben werden. Es
muss ein Full Qualified Domain Name (FQDN) sein. D.h. der
Hostname muss den Host-Anteil plus den Domainnamen enthalten.
Beispiel:
APACHE2_VHOST_x_SERVER_NAME='eis.meinedomain.de'
- APACHE2_VHOST_x_SERVER_ALIAS
-
Hier können zusätzliche Hostnamen angegeben werden.
Beispiel:
APACHE2_VHOST_x_SERVER_ALIAS='www.meinedomain.de *.eis.meinedomain.de'
- APACHE2_VHOST_x_SERVER_ADMIN
-
Die E-Mail-Adresse des Serverbetreibers; diese wird auf den
Seiten eingefügt, die vom Server in Fehlerfällen generiert
werden.
Beispiel:
APACHE2_VHOST_x_SERVER_ADMIN='wwwadmin@meinedomain.de'
- APACHE2_VHOST_x_DOCUMENT_ROOT
-
In dem hier angegeben Verzeichnis liegen die HTML-Dateien die
dieser Virtual Host zur Verfügung stehen soll.
Beispiel:
APACHE2_VHOST_x_DOCUMENT_ROOT='/var/www/meinedomain.de/htdocs/'
- APACHE2_VHOST_x_SCRIPT_ALIAS
-
- APACHE2_VHOST_x_SCRIPT_DIR
-
Hier muss das reelle Verzeichnis angegeben werden, in dem die
CGI-Skripte für diesen VirtualHost liegen
Beispiel:
APACHE2_VHOST_x_SCRIPT_DIR='/var/www/meinedomain.de/cgi-bin/'
- APACHE2_VHOST_x_ERROR_LOG
-
In die hier angegebene Datei werden die Fehler, welche für
diesen Virtual Host auftreten geschrieben. z.B. Zugriffsfehler
wie ein 404 - Not Found
Beispiel:
APACHE2_VHOST_x_ERROR_LOG='/var/www/meinedomain.de/log/error_log'
- APACHE2_VHOST_x_ACCESS_LOG
-
In die hier angegebene Datei werden die erfolgten Zugriffe
geschrieben.
Beispiel:
APACHE2_VHOST_x_ACCESS_LOG='/var/www/meinedomain.de/log/access_log'
- APACHE2_VHOST_x_ACCESS_CONTROL
-
Die Adressen die hier angegeben werden, haben Zugriff auf den
Server. Wenn alle Rechner Zugriff haben sollen, dann muss hier
”all” angegeben werden.
Siehe auch APACHE2_ACCESS_CONTROL
- APACHE2_VHOST_x_DIR_N
-
Anzahl der Directories.
- APACHE2_VHOST_x_DIR_x_ACTIVE
-
Gibt an, ob die aktuellen Einstellungen aktiv sind, oder nicht.
- APACHE2_VHOST_x_DIR_x_ALIAS
-
Hier kann angegeben werden, ob für die aktuellen
Verzeichniseinstellungen ein Alias vergeben werden soll.
- APACHE2_VHOST_x_DIR_x_ALIAS_NAME
-
Soll für die aktuellen Verzeichniseinstellungen ein Alias
vergeben werden, so muss hier der Aliasname eingetragen werden.
- APACHE2_VHOST_x_DIR_x_PATH
-
Hier muss der reelle Pfad angegeben werden für den die u.g.
Parameter gelten.
- APACHE2_VHOST_x_DIR_x_AUTH_NAME
-
Wenn APACHE2_DIR_x_AUTH_N nicht gesetzt ist, kann man dies
Variable ignorieren. Wenn allerdings die Authentifizierung genutzt
werden soll wird der Inhalt dieser Variable im Fenster des
Browser angezeigt, wo man Benutzername und Passwort eingeben
muss.
- APACHE2_VHOST_x_DIR_x_AUTH_N
-
Über diese Variable kann gesteuert werden, wie viele User einen
geschützten Bereich nutzen dürfen.
- APACHE2_VHOST_x_DIR_x_AUTH_x_USER
-
Hier kann der User angegeben werden, der sich in den geschützten Bereich
einloggen kann. Die Passwort und Benutzername Abfrage geschieht über den
Browser.
- APACHE2_VHOST_x_DIR_x_AUTH_x_PASS
-
Das Passwort für den Benutzer in APACHE2_DIR_x_AUTH_x_USER wird hier angegeben.
Momentan wird dieses noch im Klartext in der Konfigurationsdatei abgespeichert,
in den späteren Versionen vom Apache-Paket wird sich dies aber noch ändern.
- APACHE2_VHOST_x_DIR_x_ACCESS_CONTROL
-
Der Syntax dieser Variable wird bei
APACHE2_ACCESS_CONTROL erklärt.
Die hier angegebene Zugriffserlaubnis bezieht sich dann nur auf
die aktuellen Verzeichniseinstellungen.
- APACHE2_VHOST_x_DIR_x_CGI
-
Entweder darf hier 'no' angegeben werden oder '.pl', '.cgi' o.ä.
Aber nicht 'yes'!
Steht diese Variable nicht auf 'no', dann können CGI-Skripte mit den
Endungen, die in der Variable stehen ausgeführt werde. Wenn ein CGI-Skript
aufgerufen wird, dessen Endung nicht in APACHE2_DIR_x_CGI steht, wird der
Quelltext angezeigt.
- APACHE2_VHOST_x_DIR_x_SSI
-
Hier darf 'yes' oder 'no' eingetragen werden. Wenn 'yes' eingetragen ist,
dann können SSI-Skripte mit der Endung .shtml ausgeführt werden. Aber nur
in dem in APACHE2_DIR_x_PATH angegebenen Pfad.
- APACHE2_VHOST_x_DIR_x_VIEW_DIR_CONTENT
-
Diese Variable ist in APACHE2_VIEW_DIRECTORY_CONTENT erklärt.
Bezieht sich aber nur auf den in APACHE2_DIR_x_PATH angegebenem Pfad.
- APACHE2_VHOST_x_DIR_x_WEBDAV
-
Schaltet WebDAV ein oder aus. WebDAV ist eine Dateifreigabe über HTTP und
wird z.B. für gemeinsam genutzte Terminkalender genutzt (z.B. Mozilla
Sunbird)
- APACHE2_VHOST_x_MOD_CACHE
-
Schaltet für den VHOST den Festplatten Cache zu.
Das reduziert die Last des Servers, kann aber gelegentlich mit
einigen PHP-Scripte zu Problemen führen.
- APACHE2_VHOST_x_SSL
-
Hier kann eingestellt werden, ob SSL genutzt werden soll, oder
nicht.
Standardeinstellung: APACHE2_VHOST_x_SSL='no'
- APACHE2_VHOST_x_SSL_PORT
-
Hier kann der SSL Port, der genutzt werden soll, eingestellt
werden.
Standardeinstellung: APACHE2_VHOST_x_SSL_PORT='443'
- APACHE2_VHOST_x_SSL_FORCE
-
Hierüber kann eingestellt werden, ob der SSL Modus erzwungen
werden soll.
- APACHE2_VHOST_x_SSL_CERT_NAME
-
Über diese Variable kann der Name des SSL-Zertifikates
definiert werden.
-
- APACHE2_LOG_LEVEL
-
Über diese Variable kann gesteuert werden, wie viel der apache
protokollieren soll.
Gültige Werte:
”debug”, ”info”, ”notice”, ”warn”, ”errer”, ”crit”, ”alert”, ”emerg”
Standardeinstellung: APACHE2_LOG_LEVEL='warn'
- APACHE2_LOG_COUNT
-
Über diese Variable kann gesteuert werden, wie viele Logdateien
gespeichert werden sollen, bevor logrotate alte Logdateien
überschreibt.
Gültige Werte: Nummerischer Wert
Standardeinstellung: APACHE2_LOG_COUNT='10'
- APACHE2_LOG_INTERVAL
-
Über diese Variable kann gesteuert werden, wann logrotate Archive
der aktuellen Logdateien erstellt.
Gültige Werte: ”daily”, ”weekly”, ”monthly”
Standardeinstellung: APACHE2_LOG_INTERVAL='weekly'
-
- APACHE2_MAX_KEEP_ALIVE_TIMEOUT
-
Über diese Variable kann gesteuert werden, wie viele Sekunden
Apache eine persistente HTTP/1.1-Verbindung nach dem Abschluss
einer Client-Anfrage offen halten und auf eine weitere Anfrage
warten soll.
Gültige Werte: Nummerischer Wert
Standardeinstellung: APACHE2_MAX_KEEP_ALIVE_TIMEOUT='15'
- APACHE2_MAX_KEEP_ALIVE_REQUESTS
-
Über diese Variable kann gesteuert werden, wie viele
aufeinander folgende HTTP-Anfragen über ein und dieselbe
persistente HTTP/1.1-Verbindung abgehandelt werden.
Gültige Werte: Nummerischer Wert
Standardeinstellung: APACHE2_MAX_KEEP_ALIVE_REQUESTS='100'
- APACHE2_MAX_CLIENTS
-
Über diese Variable kann gesteuert werden, wie hoch die
maximale Anzahl von Kindprozessen beziehungsweise Threads ist,
die Apache insgesamt zur Annahme von Client-Anfragen startet
Gültige Werte: Nummerischer Wert
Standardeinstellung: APACHE2_MAX_CLIENTS='256'
- APACHE2_MAX_REQUESTS_PER_CHILD
-
Über diese Variable kann gesteuert werden, nach wie vielen
Anfragen ein worker thread beendet wird.
Gültige Werte: Nummerischer Wert
Standardeinstellung: APACHE2_MAX_REQUESTS_PER_CHILD='10000'
-
- APACHE2_MOD_CACHE
-
Schaltet für das APACHE2_DOCUMENT_ROOT Verzeichnis den
Festplatten Cache zu. (Nicht für die Vhosts!)
Das reduziert die Last des Servers, kann aber gelegentlich
mit einigen PHP-Scripte zu Problemen führen.
Standardeinstellung: APACHE2_MOD_CACHE='no'
Für Ergänzungen an der httpd.conf gibt es den Menü-Punkt 'Append commands
to the httpd.conf'.
Der httpd wurde mit den folgenden Einstellungen übersetzt:
- apache2
- --host=i486-pc-linux-gnu
--build=i486-pc-linux-gnu
--target=i486-pc-linux-gnu
--with-apr=/usr/bin/apr-1-config
--with-apr-util=/usr/bin/apu-1-config
--with-ssl
--prefix=/usr/local/apache2
--enable-so
--enable-cgi
--enable-modules=all
--enable-mods-shared=all
--enable-ssl
--with-libmm
--enable-auth-dbm
Es ist möglich, dass apache2 Paket mit eigenen Module zu erweitern. Hierbei
gibt es grundsätzlich zwei unterschiedliche Arten von Erweiterungen. Die
eine Möglichkeit ist die Erweiterung des httpd um Module (z.B. PHP5,
mod_jk). Bei der zweiten Möglichkeit handelt es sich um alle Möglichkeiten,
die sich nicht auf httpd Module beziehen.
Im folgenden wird kurz beschrieben, wie Erweiterungspakete aufgebaut sein
müssen bzw. was zu beachten ist um ein lauffähiges Erweiterungspaket zu
erstellen.
Für die Erstellung eines Modul Erweiterungspaketes sind im allgemeinen die
folgenden Schritte notwendig:
- Übersetzen des Moduls
- Installieren des Moduls
- Erstellen der Dateien zum Integrieren/Konfigurieren des Moduls
- Implementierung der Funktion check_httpd
- Erstellen der Menüeinträge
Die für die Übersetzung von eigenen Modulen benötigten HEADER-Dateien können
mit Hilfe des apache2-dev Paketes installiert werden.
Das übersetzte httpd-Modul ist vorzugsweise unter
/usr/local/apache2/modules abzulegen. Es kann jedoch auch jedes andere
Verzeichnis, das vom httpd zu erreichen ist, gewählt werden.
Damit das httpd-Modul beim Starten geladen wird, ist eine Datei
<module>.load und ggf. eine Konfigurationsdatei <module>.conf zu erstellen.
Die Datei <module>.load muss unter /etc/apache2/mods-available abgelegt
werden. Die ggf. notwendige Konfigurationsdatei des Moduls ist mit dem
Namen <module>.conf unter /etc/apache2/mods-available abzulegen. Beim
Erstellen der Konfiguration wird für alle vorhandenen *.load Dateien ein
symbolischer Link unter /etc/apache2/mods-enabled angelegt. Sämtliche
*.load und die zugehörigen Konfigurationsdateien unter
/etc/apache2/mods-enabled werden beim Start des httpd eingelesen.
Beispiel <module>.conf:
LoadModule php5_module /usr/local/apache2/modules/libphp5.so
Beispiel <module>.conf:
DirectoryIndex index.php index.php3 index.php4 index.php5
AddType application/x-httpd-php .php .php3 .php4 .php5
AddType application/x-httpd-php-source .phps
Da es zur Zeit unterschiedliche Versionen des apache2 Paketes gibt, die
nicht zu einander binärkompatibel sind (Version 1.2.x enthält httpd-2.0.x;
Version 1.3.x enthält httpd-2.2.x) muss jedes Modul Erweiterungspaket
selbst die Informationen liefern können, ob es zu der jeweiligen httpd
Version passt. Hierzu ist in der Datei <module>.sh unter
/var/install/config.d/ die Funktion check_httpd zu implementieren. Diese
Funktion muss 0 zurückliefern, wenn das Erweiterungspaket zu dem
installierten apache2 Paket passt. Andernfalls muss diese Funktion 1
zurückliefern.
Beispiel für eine Implementierung dieser Funktion:
#------------------------------------------------------------------
# check httpd version
#------------------------------------------------------------------
httpd_version=2.2.9
check_httpd ()
{
needed_version=${httpd_version}
httpd_installed="`/usr/local/apache2/bin/httpd -v |
sed '2,$d; s#^.*/##'`"
case ${httpd_installed} in
${needed_version%.*}*)
# nothing to do
retval=0
;;
*)
echo
mecho -n "The installed package, "
mecho --info -n "'apache2_php5', "
mecho "works only"
mecho "for a Apache2 package that has been included"
mecho "the httpd version '${needed_version%.*}.xx'."
echo
mecho --info "Please install the recent version."
echo
anykey
retval 1
;;
esac
}
Damit das Erweiterungspaket über die Modulkonfiguration des apache2 Paketes
konfiguriert werden kann muss eine Menü-Datei angelegt werden, die
folgendem Namensschema entspricht:
setup.services.apache2.config.modules.<module>.menu
Um zusätzliche Einträge in die Konfigurationsdatei des apache2 vorzunehmen,
die nicht mit Hilfe der Modulkonfigurationsdateien unter
/etc/apache2/mods-available bzw. /etc/apache2/mods-enabled vorgenommen
werden können, kann im Erweiterungspaket eine Datei httpd.conf.<module>.sh
angelegt werden. Diese Datei muss unter /var/install/config.d/ abgelegt
werden. Beim Erstellen der apache2 Konfiguration werden automatische
sämtliche Dateien, die obigem Namensschema entsprechen ausgeführt und die
Ausgabe dieser Dateien wird in die Konfigurationsdatei httpd.conf
übernommen.
Es ist aber vorzuziehen, dass die Modulkonfiguration über die *.conf
Dateien vorgenommen wird, die unter /etc/apache2/mods-available liegen.
Für die Erstellung eines solchen Erweiterungspaketes sind im allgemeinen die
folgenden Schritte notwendig:
- Installieren der Erweiterungen
- Implementierung der Funktion check_httpd
- Erstellen der Menüeinträge
Das übersetzte httpd-Modul ist vorzugsweise unter
/usr/local/apache2/modules abzulegen. Es kann jedoch auch jedes andere
Verzeichnis, das vom httpd zu erreichen ist, gewählt werden.
Da es zur Zeit unterschiedliche Versionen des apache2 Paketes gibt, die
nicht zu einander binärkompatibel sind (Version 1.2.x enthält httpd-2.0.x;
Version 1.3.x enthält httpd-2.2.x) muss jedes Modul Erweiterungspaket
selbst die Informationen liefern können, ob es zu der jeweiligen httpd
Version passt. Hierzu ist in der Datei <module>.sh unter
/var/install/config.d/ die Funktion check_httpd zu implementieren. Diese
Funktion muss 0 zurückliefern, wenn das Erweiterungspaket zu dem
installierten apache2 Paket passt. Andernfalls muss diese Funktion 1
zurückliefern.
Auch wenn ein Erweiterungspaket keine Module mitbringt, die von der
verwendeten httpd Version abhängen, muss die Funktion innerhalb des
Erweiterungspaketes implementiert werden. Es reicht dann jedoch leere
Implementierung.
Beispiel für eine Implementierung dieser Funktion:
#------------------------------------------------------------------
# check httpd version
#------------------------------------------------------------------
check_httpd ()
{
retval 0
}
Damit das Erweiterungspaket über die Modulkonfiguration des apache2 Paketes
konfiguriert werden kann muss eine Menü-Datei angelegt werden, die
folgendem Namensschema entspricht:
setup.services.apache2.config.modules.<module>.menu
Um zusätzliche Einträge in die Konfigurationsdatei des apache2 vorzunehmen,
die nicht mit Hilfe der Modulkonfigurationsdateien unter
/etc/apache2/mods-available bzw. /etc/apache2/mods-enabled vorgenommen
werden können, kann im Erweiterungspaket eine Datei httpd.conf.<module>.sh
angelegt werden. Diese Datei muss unter /var/install/config.d/ abgelegt
werden. Beim Erstellen der apache2 Konfiguration werden automatische
sämtliche Dateien, die obigem Namensschema entsprechen ausgeführt und die
Ausgabe dieser Dateien wird in die Konfigurationsdatei httpd.conf
übernommen.
Es ist aber vorzuziehen, dass die Modulkonfiguration über die *.conf
Dateien vorgenommen wird, die unter /etc/apache2/mods-available liegen.
Bei der eisfair -1 Version des Paketes wird der Benutzer wwwrun mit der
Gruppe nogroup verwendet.
Bei der eisfair -2 Version des Paketes wird der Benutzer www-data mit der
Gruppe www-data verwendet.
SSL (Secure Socket Layer) stellt eine sichere, verschlüsselte Verbindung
zwischen Server und Client her. Der Einsatzort ist meist beim Online-Banking
oder bei Online-Shops, wo vertrauliche Daten übermittelt werden müssen.
Um SSL einsetzten zu können, müssen zwei Zertifikat erstellt werden. Dies
geschieht mit der Hilfe des Pakets „certs“ von Jürgen Edner.
(Das Paket wird automatisch bei der Apache-Installation heruntergeladen und
installiert).
Wenn die Variable APACHE2_SSL in der Apache-Konfiguration gesetzt worden
ist und noch keine Zertifikate bestehen, wird man dazu aufgefordert, eine
„Passphrase“ einzugeben. Diese Eingabe sollten Sie sich unbedingt merken, da
sie zu einem späteren Zeitpunkt noch einmal gebraucht wird.
Es folgen weitere Eingaben, wie z.B. die Örtlichkeit oder Ihre E-Mail-Adresse
für Rückfragen (Diese Angaben können vom Client, der auf Ihrer Website surft
abgerufen werden)
WICHTIG: Wenn Sie nach „Common Name“ gefragt werden, müssen Sie den Namen
Ihres Servers eingeben! (z.B. „www.karl-egon.eisfair.net„)
Ansonsten wird das Zertifikat vom Browser des Clients als Nicht-Vertrauenswürdig
eingestuft.
Dies ist ebenfalls der Fall, wenn Sie Name Based Virtual Hosts (mehrere
Domainnamen zeigen auf eine IP-Adresse) einsetzten. Das erstellte Zertifikat
ist nur für den VirtualHost gültig, bei dem der „Common Name“,
den Sie bei der Erstellung des Zertifikates eingegeben haben,
gleich dem Servernamen ist.
Der Nimda-Wurm versucht eine Sicherheitslücke im ISS (Internet Information Server von
Microsoft) zu benutzen. Einem Linux-System kann dieser Wurm absolut nichts anrichten.
Wenn der eisfair gescannt wird, erscheinen u.a. diese Einträge in der Logdatei.
Mehrere Einträge pro Minute können durchaus möglich sein.
GET /scripts/root.exe?/c+dir
GET /MSADC/root.exe?/c+dir
GET /c/winnt/system32/cmd.exe?/c+dir
GET /d/winnt/system32/cmd.exe?/c+dir
GET /scripts/..x5c../winnt/system32/cmd.exe?/c+dir
GET /_vti_bin/..x5c../..x5c../..x5c../winnt/system32/cmd.exe?/c+dir
GET /_mem_bin/..x5c../..x5c../..x5c../winnt/system32/cmd.exe?/c+dir
GET /msadc/..x5c../..x5c../..x5c/..\xc1\x1c../..\xc1\x1c../..\xc1\x1c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..\xc1\x1c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..\xc0/../winnt/system32/cmd.exe?/c+dir
GET /scripts/..\xc0\xaf../winnt/system32/cmd.exe?/c+dir
GET /scripts/..\xc1\x9c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..x35c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..x35c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..x5c../winnt/system32/cmd.exe?/c+dir
GET /scripts/..x2f../winnt/system32/cmd.exe?/c+dir
Andere merkwürdige Einträge können durch CodeRed entstehen, ein ähnlicher Wurm.
Wenn dies der Fall sein sollte, einfach einen Teil der Logeinträge bei Google
eingeben, meist wird dort dann der verursachende Wurm gefunden.