Vorheriges Thema: WEB5 - Webserver-ApplianceNächstes Thema: WEBx4 - Skalierbare Webserver-Appliance


WEB6, WEB64 - Webserver-Appliances

Sehen Sie sich das Video an

Einfache Webserver-Appliance

Auf einen Blick

Katalog

System

Kategorie

Webserver

Benutzer-Volumes

ja

Min. Speicher

160 MB

Betriebssystem

Linux

Einschränkungen

no

Fragen/Kommentare

Im Forum fragen

Funktionsübersicht

WEB ist eine Webserver-Appliance, die auf der Apache-Open-Source-Webserversoftware beruht (siehe http://httpd.apache.org).

WEB verarbeitet statischen Webinhalt und führt Skripte von einem benutzerkonfigurierbaren, schreibgeschützten Inhalts-Volume aus. Die Pfade zu den Dokumenten und Skripten sind konfigurierbar, sodass das gleiche Volume von mehreren Webservern und/oder anderen Appliances für verschiedene Inhalte gemeinsam genutzt werden kann.

WEB hat drei generische Ausgabe-Terminals, die für den Zugriff auf externe Services von Skripten auf dem Inhalts-Volume dienen. Das Terminal "db" wird für den Zugriff auf eine MySQL-Datenbank verwendet; das Terminal "fs" wird dafür verwendet, auf freigegebene Dateispeicher zuzugreifen (mithilfe von NFS); und das Terminal "aux" dient Hilfsservices (z. B. zum Senden von E-Mail-Nachrichten an einen SMTP-Server).

Das Protokollterminal kann verwendet werden, um WEB mit einem freigegebenen Dateisystem zu verbinden, auf dem WEB Protokolle speichert.

Die Konfiguration des Webservers wird über Eigenschaften angegeben. Die Eigenschaften sind so konzipiert, dass sie die häufigsten Verwendungen auf leicht konfigurierbare Weise abdecken, und in den meisten Fällen müssen nur wenige Eigenschaften auf vom Standard abweichende Werte eingestellt werden. Erweiterte Konfigurationen können durch Include-Dateien im Apache-Konfigurationsformat vorgenommen werden, die aus dem Inhalts-Volume stammen. Der Zugriff und die Optionen für Inhalts- und Skriptdateien können durch .htacces-Dateien in den Inhaltsverzeichnissen weiter spezialisiert werden.

Wenn die von der WEB-Appliance bereitgestellten Funktionen Ihren Anforderungen nicht entsprechen, besprechen Sie die Möglichkeiten mit unserem technischen Support. Der Katalog kann durch Appliances erweitert werden, die Ihren Bedürfnissen entsprechen.

Name

Aktuelle Version

Betriebssystem

Apache

php

Python

Perl

MySQL-Client-Libs

Hinweise

WEB6

3.1.2-1

CentOS 6.3

2.2.15

5.3.3

2.6.6

5.12.2

5.1.61

 

WEB64

3.0.2-1

CentOS 5.5 (64-Bit)

2.2.3

5.1.6

2.4.3

5.12.2

5.0.22

 

Ressourcen

Ressource

Minimum

Maximum

Standard

CPU

0.1

16

0.3

Speicher

160 MB

32 GB

512 MB

Bandbreite

1 Mbit/s

2 Gbit/s

250 Mbit/s

Terminals

Name

Verz.

Protokoll

Description

in

in

HTTP

Verarbeitet HTTP-Anfragen von Web-Clients. Verarbeitet die HTTP/1.1- und 1.0-Protokolle.

db

out

MYSQL

Zugriff auf einen MySQL-Server. Die Syntax hängt davon ab, welche Skripten sich im Inhalt-Volume befinden (sofern vorhanden). Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird.

fs

out

NFS

Zugriff auf ein Netzwerkdateisystem für freigegebene Dateispeicherung, wobei Lese-/Schreibzugriff auf die Dateien über NFS bereitgestellt wird. Die Syntax hängt davon ab, welche Skripten sich im Inhalt-Volume befinden (sofern vorhanden). Die Software auf dem Inhalts-Volume "sieht" das geladene Remote-Dateisystem als /mnt/fs im Dateisystemspeicherbereich der Appliance. Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird. Auf dem verbundenen Server muss eine Freigabe namens /mnt/data mit Lese- und Schreibzugriff vorhanden sein.

log

out

CIFS

Zugriff auf ein CIFS-basiertes Netzwerkdateisystem zum Speichern von Zugriffs- und Fehlerprotokollen. Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird. Der verbundene Server muss anonyme Anmeldungen zulassen und über eine benannte Freigabe mit Lese-/Schreibzugriff verfügen.

aux

out

Alle

Zugriff auf Hilfsdienst (z. B. ein SMTP-Server zum Senden von ausgehender E-Mail). Die Syntax hängt davon ab, welche Skripten sich im Inhalt-Volume befinden (sofern vorhanden).
Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird.

net

out

Alle

Gateway-Ausgabe für Subnetzzugriff.
Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird.

mon

out

CCE

Sendet Leistungs- und Ressourcenverwendungsstatistik.
Dieses Terminal kann unverbunden gelassen werden, wenn es nicht verwendet wird.

Die Standardschnittstelle. Die Standardschnittstelle wird von der Appliance verwendet, um zu melden, dass sie erfolgreich gestartet wurde. Sie kann auch dazu dienen, über eine sichere Shell eine Anmeldung von der Grid-Steuerung zur Appliance herzustellen, hauptsächlich für Diagnosen und Fehlerbehebung.

Benutzer-Volumes

Volume

Description

content

Schreibgeschütztes, gemeinsames Volume, das den Webinhalt (Dokumente, Datenträger und Skripten) bereitstellt, die von WEB verfügbar gemacht werden.

Das Volume kann statischen und/oder dynamischen Inhalt sowie ein optionales konfigurierbares Verzeichnis für Skripten bereitstellen. Mithilfe eines Dateinamensmusters kann auch die Skript-Ausführung von einem beliebigen Verzeichnis konfiguriert werden.

Abgesehen von Inhalt kann das Dokumentverzeichnis (das durch die Eigenschaft "docs_dir" konfiguriert wird) auf dem Inhalts-Volume auch die folgenden optionalen Konfigurationsdateien enthalten, alle im standardmäßigen Apache-Konfigurationsformat (siehe http://httpd.apache.org/docs/2.2):

Eigenschaften

Eigenschaftsname

Typ

Description

host_name

Zeichenfolge

Hostname der Website. WEB verwendet diesen Namen zur Anzeige in automatisch generierten Seiten sowie zum Erstellen absoluter URLs, zum Beispiel in vom Server generierte Umleitungen (die beispielsweise in einer benutzerdefinierten auf dem Inhalt-Volume installierten Konfigurationsdatei eingerichtet werden kann). Obwohl Umleitungen selten ausdrücklich konfiguriert werden, bewirkt eine Anfrage für ein Verzeichnis ohne das nachgestellte "/", dass eine Umleitung mit dem angehängten "/" an den Client ausgegeben wird. In dieser Umleitung wird der Wert von host_name verwendet, wenn er festgelegt worden ist.
Es wird empfohlen, diese Eigenschaft richtig festzulegen, wenn erwartet wird, dass von älteren Clients auf WEB zugegriffen wird, die in ihren HTTP-Anfragen keinen Header Host: senden.
Wenn diese Eigenschaft auf eine leere Zeichenfolge festgelegt wird, wird der in der Clientanfrage angegebene Hostname verwendet.
Standard: (leer)

admin_email

Zeichenfolge

E-Mail-Adresse für den Serveradministrator. WEB zeigt diesen Namen in automatisch generierten Seiten an.
Standard: root@localhost

content_on_fs

Zeichenfolge

Gibt an, ob der Inhalt bezogen auf das Dateisystem am fs-Terminal angegeben wird oder sich auf dem Inhalt-Volume befindet. Zulässige Werte sind "on" und "off". Wenn "on" festgelegt ist, beziehen sich alle Inhalte auf das Dateisystem am Terminal "fs". Wenn "off" festgelegt ist, befindet sich der Inhalt auf dem Inhalts-Volume.
Standard: "off"

docs_dir

Zeichenfolge

Stammverzeichnis auf dem Inhalt-Volume, in dem sich die Dokumente befinden, die bereitgestellt werden sollen. Zum Beispiel kann dies "/mydocs" sein. Diese Eigenschaft ist nützlich, wenn mehrere WEB-Server das Inhalts-Volume gemeinsam nutzen und jeder Server eigene Dokumente benötigt. Wenn "docs_dir" auf die leere Zeichenfolge festgelegt wird, wird das Stammverzeichnis des Inhalts-Volumes verwendet.
Hinweis: Das Verzeichnis muss auf dem Inhalts-Volume bereits vorhanden sein.
Standard: (leer)

docs_loc

Zeichenfolge

Ein optionaler Speicherort innerhalb des für Clients sichtbaren Namespace, wo der Inhalt angezeigt werden sollte (der "für Clients sichtbare Namespace" ist die Pfadkomponente einer URL bzw. die Zeichen, die rechts vom Hostnamen in einer URL angezeigt werden, einschließlich des führenden /). Wenn diese Eigenschaft auf einen nichtleeren Wert festgelegt wird, ist dies der Namespace-Stamm, der vom Client erkannt und in dem das Dokumentstammverzeichnis angezeigt wird. Wenn docs_loc beispielsweise auf subspace/samples festgelegt wird, liefert die HTTP-Anfrage /subspace/samples/file1.html die Datei file1.html aus dem Dokumentstammverzeichnis. Eine Anfrage für einen Speicherort außerhalb von /subspace/samples erzeugt einen Fehler, sofern mit der Anfrage kein Skript aus dem Skriptenverzeichnis angefordert wird (siehe scripts_loc).
Diese Eigenschaft ist nützlich, wenn WEB einen untergeordneten Bereich einer Website verarbeitet. Hängen Sie an diesen Wert keinen Schrägstrich an.
Standard: (leer)

scripts_dir

Zeichenfolge

Stammverzeichnis auf dem Inhalt-Volume, in dem sich die CGI-Skripten befinden. Es kann zum Beispiel /scripts heißen. Diese Einstellung sollte zu einem nichtleeren Wert festgelegt werden, der sich auf ein Verzeichnis auf dem Inhaltsvolume bezieht, das nur ausführbare Skripten enthält (legen Sie sie nicht auf "/" fest).
Hinweis: Das Verzeichnis muss auf dem Inhalts-Volume bereits vorhanden sein.
Standard: (leer)

scripts_loc

Zeichenfolge

Der Speicherort in dem Webspeicherplatz, wo das durch scripts_dir angegebene Skriptenverzeichnis sichtbar sein sollte. Dies muss auf eine nichtleere Zeichenfolge festgelegt werden, um die Verwendung eines dedizierten Skriptenverzeichnisses zu ermöglichen. Ein typischer Wert ist beispielsweise /cgi-bin. Hängen Sie an diesen Wert keinen Schrägstrich an.
Standard: (leer)

logs_enabled

Zeichenfolge

Steuert, ob WEB seine Protokolle an das Protokollterminal sendet. Zulässige Werte sind "on" und "off". Wenn diese Einstellung auf "on" festgelegt wird, muss eine Verbindung mit dem Protokollterminal bestehen. Wenn diese Einstellung auf "off" festgelegt wird, wird kein Zugriffsprotokoll verwendet und das Fehlerprotokoll wird in eine Datei im Stammdateisystem der Web-Instanz geschrieben, wobei die Protokolle der letzten 4 Wochen gespeichert und wochenweise rotiert werden (/var/log/httpd/error_log*). Standard: "off"

logs_base_dir

Zeichenfolge

Verzeichnis, in dem die WEB-Protokolle gespeichert sind. Diese Eigenschaft hat keine Auswirkungen, wenn logs_enabled auf "off" festgelegt wird. Standard: /

access_log_filename

Zeichenfolge

Dateiname für das Zugriffsprotokoll bezogen auf das Dateisystem, auf das vom Protokollterminal aus zugegriffen werden kann. Beispiel: access_log. Der Name kann Verzeichnisnamen einschließen, zum Beispiel /srv1_logs/access_log oder /logs/srv1_access_log. Wenn leer, wird kein Zugriffsprotokoll erstellt. Wenn die Verzeichnisse nicht vorhanden sind, werden sie erstellt. Diese Eigenschaft hat keine Auswirkungen, wenn logs_enabled auf "off" festgelegt wird. Standard: (leer)

error_log_filename

Zeichenfolge

Dateiname für das Fehlerprotokoll bezogen auf das Dateisystem, auf das vom Protokollterminal aus zugegriffen werden kann. Der Name kann Verzeichnisnamen einschließen. Beispiele finden Sie unter access_log_filename. Wenn hier ein leerer Wert festgelegt wird oder wenn logs_enabled "off" ist, wird das Fehlerprotokoll in eine Datei auf dem Stamm-Dateisystem der WEB-Instanz selbst geschrieben. Diese Eigenschaft hat keine Auswirkungen, wenn logs_enabled auf "off" festgelegt wird. Standard: (leer)

error_log_level

Zeichenfolge

Schweregrad der in das Fehlerprotokoll auszugebenden Meldungen. Zulässige Werte sind "debug", "info", "notice", "warn", "error", "crit", "alert" und "emerg". Bei Angabe von "debug" werden die meisten Meldungen ausgegeben, bei Angabe von "emerg" nur Notfallmeldungen. Standard: warn

timezone

Zeichenfolge

Gibt die in der Appliance verwendete Zeitzone an. Wenn diese Eigenschaft leer ist, wird die Zeitzone nicht geändert, sondern im Ist-Zustand beibehalten. Hier ist eine Liste der unterstützten Zeitzonen verfügbar. Standard: leer

Wichtig! Für alle auflisteten Zeichenfolgeneigenschaften braucht die Groß-/Kleinschreibung nicht beachtet zu werden (Kleinbuchstaben). Für alle anderen Zeichenfolgeneigenschaften muss die Groß-/Kleinschreibung beachtet werden.

Erweiterte Eigenschaften

Dabei handelt es sich um zusätzliche Eigenschaften, die normalerweise nicht konfiguriert werden müssen. Sie können verwendet werden, um WEB in nicht normgerechten Bedingungen einzustellen.

Eigenschaftsname

Typ

Description

cgi_ext

Zeichenfolge

Definiert die Dateinamenssuffixe für CGI-Skripten als Liste mit Leerzeichen als Trennzeichen. Diese Einstellung wird verwendet, um anzugeben, welche Dateien als ausführbare CGI-Skripten (in einem beliebigen Verzeichnis) behandelt werden sollen und kann als Alternative zur Angabe eines gemeinsamen Skriptenverzeichnis verwendet werden (siehe die Eigenschaften scripts_dir und scripts_loc). Standard: .cgi

shared_perl_ext

Zeichenfolge

Definiert die Dateinamensuffixe für Perl-Skripten als Liste mit Leerzeichen als Trennzeichen. Dies wird verwendet, um anzugeben, welche Dateien als mit mod_perl auszuführenden Perl-Skripten behandelt werden sollte. Jede Dateinamenerweiterung, die mit einer bereits in cgi_ext angegebenen Erweiterung übereinstimmt, überschreibt die Verwendung von CGI für diese Erweiterung und konfiguriert sie stattdessen für die Ausführung durch mod_perl. Das prozessinterne Perl-Modul ist so konfiguriert, dass Skripten mit den angegebenen Erweiterungen im CGI-Kompatibilitätsmodus ausgeführt werden. Die meisten Perl-Skripten, die für die Ausführung als CGI-Prozesse konzipiert wurden, sollten auch funktionieren, wenn sie als prozessinterne Skripten eingerichtet werden. Hinweis: Es ist wichtig, dass Sie Ihre Skripten auf die korrekte Initialisierung aller Dateibereichsvariablen prüfen, z. B. durch Verwenden der Streng-Einstellung oder von Warnungen; da alle Skripten mit mod_perl funktionieren, führen Sie sie ohne Neustarten des Perl-Interpreters aus. Wenn Sie nicht sicher sind, ob Ihre Skripten mit mod_perl funktionieren werden, finden Sie in der Dokumentation zu mod_perl weitere Informationen: http://perl.apache.org/docs/index.html.
Standard: (leer) (das heißt, mod_perl nicht verwenden)

index_files

Zeichenfolge

Geordnete, durch Leerzeichen getrennte Dateiliste, die als Verzeichnisindexseite verwendet werden soll, wenn der Client eine URL anfordert, die sich auf einen Verzeichnisnamen bezieht.
Standard: index.html index.html.var

use_htaccess

Zeichenfolge

Gibt an, ob man die Verwendung von .htaccess-Dateien für den ganzen Dokumentbaum aktivieren sollte. Diese Einstellung wird standardmäßig deaktiviert und sollte nur verwendet werden, wenn Sie eine Inhaltsverzeichnisstruktur haben, in der eine genaue Steuerung der Serveroptionen erforderlich ist, die Konfiguration mithilfe einer Gruppe von Abschnitten in einer gemeinsamen Konfigurationsdatei jedoch zu kompliziert ist, oder wenn Sie ein vorkonfiguriertes Inhalt-Volume verwenden, das bereits .htaccess verwendet und es nicht neu anordnen möchten. Wenn Konfigurationsoptionen nur für den Dokumentstamm selbst benötigt werden, fügen Sie die Einstellungen stattdessen im Dokumentstammverzeichnis in die Datei .htconf ein. Sie werden dann genauso wie .htacces angewendet, allerdings wird die Datei nur einmal während des Systemstarts gelesen. Standard: "off"

max_connections

Ganzzahl

Maximale Anzahl gleichzeitiger aktiver Verbindungen, die WEB verarbeiten kann. Wenn dieses Limit erreicht wird, werden zusätzliche Verbindungsanfragen in die Warteschlange eingefügt (bis zu einem Limit von 511) und verarbeitet, sobald gegenwärtig aktive Verbindungen geschlossen werden. Dieser Wert sollte nur erhöht werden, wenn erwartet wird, dass WEB eine große Anzahl von Anfragen bedienen soll, die auf eine langsame externe Datenquelle (z. B. langwierige Datenbankabfragen) zugreifen müssen. Die tatsächliche Anzahl gleichzeitiger Verbindungen kann auf einen Wert, der kleiner als dieser Eigenschaftswert ist, beschränkt sein, wenn nicht genug Systemspeicher verfügbar ist. Nähere Informationen hierzu finden Sie im Abschnitt "Memory Usage" (Speichernutzung). Der Wert von max_connections darf nicht größer als 256 sein.
Standard: 128

persistent_connections

Zeichenfolge

Steuert, ob WEB Clients erlaubt, mehr als ein Dokument auf der gleichen Verbindung anzufordern. Zulässige Werte sind "on" und "off". Unter Umständen müssen Sie nur die persistenten Verbindungen nur dann deaktivieren, wenn Probleme mit Clients auftreten, die HTTP/1.1 nicht richtig unterstützen und nicht auf HTTP/1.0 umstellen. Standard: on

idle_timeout_sec

Ganzzahl

Zeitlimit in Sekunden, während dem eine Client-Verbindung offen gehalten wird, wenn keine Anfrage oder Antwort eingeht. Diese Eigenschaft wird nur verwendet, wenn persistent_connections auf "on" festgelegt ist. Wenn für dieses Zeitlimit ein niedriger Wert festgelegt wird, werden vergessene Verbindungen schnell beendet. Standard: 15

data_timeout_sec

Ganzzahl

Zeitlimit in Sekunden für das Empfangen oder Senden von weiteren Daten, wenn ein Datentransfer gestartet, aber nicht abgeschlossen wurde. Dieses Zeitlimit erlaubt WEB, vergessene Verbindungen zu beenden, wobei Verzögerungen während der Übertragung jedoch weiterhin zulässig sind. Standard: 300

default_charset

Zeichenfolge

Standardzeichensatz für die Ausgabe von Dokumenten vom Typ text/html oder text/plain. Die Eigenschaft sollte entweder auf den Namen eines Zeichensatzes oder auf "off" (um das Senden eines charset-Headers in HTTP-Antworten zu deaktivieren) festgelegt werden. Hinweis: Bei einigen Browser-Einstellungen kann diese Eigenschaft den Zeichensatzwert überschreiben, der vom Verfasser der bereitgestellten HTML-Dokumente festgelegt wurde; diese Eigenschaft wird daher nur empfohlen, wenn Dokumente vorhanden sind, die keine gültige Zeichensatzspezifikation enthalten, und wenn man im Voraus weiß, dass alle von WEB bereitgestellten Dokumente denselben Zeichensatz verwenden. Typische Beispielwerte sind ISO-8859-1 oder UTF-8. Standard: Off
Hinweis: Um Sonderfälle, einschließlich alter CGI-Skripten, die kein ordnungsgemäßes Metatag für den Inhaltstyp generieren, abzudecken, kann der Standardzeichensatz mithilfe benutzerdefinierter auf dem Inhalt-Volume gespeicherter Konfigurationsdateien auf Verzeichnisebene festgelegt werden.

info_level

Zeichenfolge

Steuert, wie viel Informationen WEB über sich gegenüber Web-Clients bekannt gibt (in HTTP-Antworten und in automatisch generierten Seiten). Zulässige Werte sind "full" (die meisten Informationen), "os", "minor", "major", "prod" (die wenigsten Informationen). Als Sicherheitsmaßnahme empfiehlt sich, möglichst wenige Informationen bekannt geben. Standard: prod

server_signature

Zeichenfolge

Steuert, ob WEB eine Serversignaturzeile am unteren Rand aller generierter Seiten anhängt (z. B. auf Fehlerseiten). Zulässige Werte sind "on" und "off". Die Informationsmenge, die WEB in die Signatur einschließt, wird von info_level gesteuert. Standard off (keine Signaturen).

env

Zeichenfolge

Wird verwendet, um Einstellungen an WEB weiterzugeben, z. B. "name=value"-Paare. Der Benutzer entscheidet, ob diese Werte analysiert und verwendet werden sollen, sie sind nicht in der Umgebung festgelegt. Standard: (leer)

web_console

Zeichenfolge

Erzwingt, dass Apache die interne Schnittstelle überwacht, wenn auf "on" festgelegt. Standard: "off"

Httpd_prerun_script

Zeichenfolge

Skriptname des Apache-Services vor der Ausführung. Ist optional und wird ausgeführt, wenn auf dem Inhalts-Volume vorhanden. Standard: .rc.local

Wichtig! Für alle auflisteten Zeichenfolgeneigenschaften braucht die Groß-/Kleinschreibung nicht beachtet zu werden (Kleinbuchstaben). Für alle anderen Zeichenfolgeneigenschaften muss die Groß-/Kleinschreibung beachtet werden.

Benutzerdefinierte Zähler

Die WEB-Appliance meldet die folgenden benutzerdefinierten Zähler über das Terminal "mon".

Die folgenden Zähler gehören zur Apache-Zählergruppe:

Zählername

Beschreibung

Total hits

Gesamtzahl von Treffern

Total bytes

Gesamtzahl von Byte

Active requests

Anzahl aktiver Anfragen

Idle servers

Anzahl der im Leerlauf befindlichen Server

Fehlermeldungen

Die folgenden Meldungen können entweder in der Appliance-Protokolldatei oder im Systemprotokoll der Grid-Steuerung angezeigt werden, wenn die Appliance nicht startet:

Speicherauslastung

WEB konfiguriert sich selbst automatisch, damit es mit einem breiten Angebot an verfügbarem Speicher ausgeführt werden kann, um Anwendungen von unterschiedlicher Größe und Last bedienen zu können. Beachten Sie dennoch, dass die Konfigurationsberechnung die Speicherauslastung von Skripten mit dynamischen Inhalten, die auf dem WEB-Inhalts-Volume installiert sein können, nicht voraussehen kann und ein Skript, das nicht einwandfrei funktioniert, durch Speichermehrfachvergabe einen Serverfehler verursachen kann, bei dem das Betriebssystem Prozesse abbricht.

Standardmäßig, konfiguriert WEB die größtmögliche Anzahl von aktiven Verbindungen. Dabei wird Folgendes vorausgesetzt:

In der 'Sandkasten'-Konfiguration mit 32 MB wird z. B. die maximale Anzahl aktiver Verbindungen auf 8 festgelegt.

Die größtmögliche Anzahl von Verbindungen kann unter dem automatisch berechneten Wert mithilfe der "max_connections"-Eigenschaft beschränkt werden. Beachten Sie, dass "max_connections" ohne Warnung verringert wird, wenn die Anzahl der Verbindungen über dem Grenzwert für den verfügbaren Systemspeicherplatz liegt.

Außerdem wird die Zuweisungsgrenze des PHP-Präprozessors auf die Hälfte des für Skripte verfügbaren Speicherplatzes festgelegt, der nach den obigen Regeln berechnet wurde. PHP wird also so konfiguriert, dass der Speicherplatz für ein laufendes Skript begrenzt ist auf:

(system_memory - 16M B - max_connections * 1M B) / 2 

Dabei ist der Wert für "max_connections" der kleinere der Werte für die Eigenschaft "max_connections" und die Grenze, die vom verfügbaren Speicherplatz erzwungen wird (bei der Berechnung werden 2 MB pro Verbindung angenommen, wie oben beschrieben). Wenn der Standardwert für die Eigenschaft "max_connections" beibehalten wird, ergibt sich der folgende Wert für die PHP-Speichergrenze:

(system_memory - 16 MB) / 4 

Hinweis: Die Regel "Hälfte des verfügbaren Speicherplatzes pro Skript" ist eher optimistisch und basiert auf der Annahme, dass entweder nicht alle aktiven Verbindungen ein anspruchsvolles PHP-Skript verwenden, das das gesamte Limit ausschöpft, oder dass die Skripte nicht den gesamten zugewiesenen Speicher verwenden.

TIPP: Wenn eine Anwendung, die viel Speicher beansprucht, bei Belastung Ausfälle zeigt (Verbindungsausfälle) und der verfügbare Speicher nicht erhöht werden kann, sollten Sie die Eigenschaft "max_connections" auf einen niedrigeren Wert festlegen. Dadurch wird die Anzahl der möglichen gleichzeitig ausgeführten Skriptinstanzen verringert, und jedes Skript hat mehr Speicher für die Ausführung zur Verfügung.

Einrichten des Inhalts - freigegebene Dateispeicherung

Dieser Abschnitt enthält nützliche Informationen zum Konfigurieren von Skripts, die dynamische Inhalte bedienen.

Feste Verzeichnisnamen

Beim Starten des HTTP-Servers sind die folgenden Verzeichnisse und Dateien innerhalb des Dateisystemspeicherbereich auf der WEB-Instanz verfügbar. Beachten Sie, dass die Verwendung absoluter Verzeichnisnahmen außerhalb dieser Speicherorte in Skript- oder Konfigurationsdateien nicht empfohlen wird.

/var/www/html - Webstamm, sichtbar als '/' für den Client. Dies bezieht sich auf einen Speicherort auf dem Inhalts-Volume und ist schreibgeschützt. Hinweis: Wenn die Eigenschaft "docs_loc" festgelegt wird, enthält /var/www/html selbst keine Datendateien. Wenn der Wert von "docs_loc" angehängt wird, ergibt sich der Name einer zulässigen symbolischen Verknüpfung, die auf den Dokumentstamm verweist. Dieser Verzeichnisname und der "/var/www/cgi-bin"-Name sowie alle ihre Unterverzeichnisse können in Apache-Konfigurationsdateien verwendet werden, um zusätzliche verzeichnisspezifische Einstellungen vorzunehmen. Dadurch wird vermieden, dass diese Konfigurationsdateien die bestimmten Einstellungen für die Eigenschaften "docs_dir" und "scripts_dir" kennen müssen.

/var/www/cgi-bin - symbolische Verknüpfung mit dem Skriptstamm, wenn beim Einrichten die Eigenschaft "scripts_dir" verwendet wurde.

/mnt/fs - Stamm des freigegebenen Dateispeichers mit Lese-/Schreibzugriff, der von einem NFS-Server bereitgestellt wird, der mit dem Terminal "fs" verbunden ist. Wenn eins nicht angeschlossen ist, ist "/mnt/fs" leer.

Feste Webspeicherorte

Der "/icons/"-Pfad erhält einen Alias für ein Verzeichnis, das Bestandssymbole für servergenerierte Verzeichnislisten enthält. Daher ist ein Verzeichnis mit dem Namen "icons" im Inhalts-Volume nicht sichtbar.

Zugriffskontrolle

Der HTTP-Server wird als Benutzer 48, Gruppe 48, ausgeführt. CGI-Skripte werden im gleichen Kontext ausgeführt.

Dateien auf dem Inhalts-Volume sollten über eine Leseberechtigung für alle Benutzer verfügen, um für die Bereitstellung über HTTP geeignet zu sein. Ausführbare Skripte benötigen Lese- und Schreibberechtigungen für alle.

Obwohl der Apache-Server andere Möglichkeiten hat, Zugriff auf Dateien zu steuern, kann auch die Leseberechtigung für alle Dateien oder Verzeichnissen entfernt werden, auf die kein Zugriff über HTTP möglich sein soll. Das x-bit sollte für Verzeichnisse aktiviert bleiben, für die kein Zugriff auf eine Liste möglich sein soll, die aber Dateien oder Unterverzeichnisse mit Zugriff enthalten.

Senden von-E-Mail

Das Sendmail-System wird nicht auf WEB konfiguriert. Verwenden Sie es nicht zum Senden von E-Mails von dieser Appliance aus. Um Zugriff auf einen externen SMTP-Server bereitzustellen, schließen Sie das Terminal "aux" an eine Appliance an, die diese Funktionalität bietet, oder an einen OUT-Gateway, der an einen Server außerhalb der Anwendung weiterleitet. Wenn Perl-basierte Skripte verwendet werden, kann das Mail::Mailer-Modul zum Senden von E-Mails verwendet werden, wenn es für die Verwendung des SMTP-Mailer konfiguriert ist. In jedem Fall sollte Ihr SMTP-Mailer für die Verwendung von "aux" als Hostname des SMTP-Servers eingerichtet sein. Beispiel: Mail::Mailer :

$mailer = new Mail::Mailer 'smtp', (Server => 'aux'); 
$mailer->open(\%headers); #... etc. 
PHP-Module installieren

WEB wird mit allen verfügbaren PHP-Paketen im offiziellen CentOS-Spiegel geliefert. Wenn Sie die fs-Freigabe anstelle eines schreibgeschützten Inhalts-Volumes verwenden, können Sie zusätzliche PHP-Module installieren, ohne die Appliance zu verzweigen.

So installieren Sie PHP-Module:

  1. Installieren Sie alle benötigten Software-Abhängigkeiten. Wenn Sie von einem RPM-Paket installieren, prüfen Sie mit der Option "--test" auf nicht erfüllte Abhängigkeiten. Zum Beispiel:
    rpm --test -Uv php-mhash-5.3.3-14.el6_3.i686.rpm
    

    Wenn Sie RPM-Pakete für die Abhängigkeiten verwenden, prüfen Sie, dass sie keine eigenen nicht erfüllten Abhängigkeiten haben. Zum Beispiel:

    rpm --test -Uv libmhash-0.9.1-1.2.el6.rf.i686.rpm
    

    Installieren Sie dann alle benötigten RPMs in der fs-Freigabe. Zum Beispiel:

    rpm --root=/mnt/fs/php -Uv --nodeps libmhash-0.9.1-1.2.el6.rf.i686.rpm
    

    Wenn Sie das PHP-Modul nicht aus einem RPM installieren, stellen Sie sicher, dass es mit der in WEB verwendeten PHP-Version kompatibel ist und keine zusätzlichen Bibliotheken (ldd /path/to/php/module.so) benötigt. Wenn nicht erfüllte Abhängigkeiten vorliegen, installieren Sie die erforderliche Software in der fs-Freigabe.

  2. Installieren Sie das PHP-Modul in der fs-Freigabe. Zum Beispiel:
    rpm --root=/mnt/fs/php -Uv php-mhash-5.3.3-14.el6_3.i686.rpm
    

    Dadurch wird der RPM unter /mnt/fs/php installiert.

  3. Erstellen Sie ein ".rc.local"-Skript, das die PHP-Konfiguration beim Appliance-Neustart aktualisiert. Da das PHP-Modul in der fs-Freigabe installiert wird, erkennt der auf der Appliance installierte PHP die zusätzliche Software nicht. Damit der PHP die installierte Appliance erkennt, erstellen Sie ein ".rc.local"-Skript, mit dem eine benutzerdefinierte PHP-Konfigurationsdatei erstellt wird. Das ".rc.local"-Skript wird bei jedem Start der Appliance ausgeführt.
    Das Skript sieht wie folgt aus:
    #!/bin/bash
    
    # die on all errors
    set -e
    
    # Add configuration to the main php conf dir. Path to extensions must be changed to be relative to /usr/lib/php/modules/
    sed  's/extension=\(.*\)$/extension=..\/..\/..\/..\/mnt\/fs\/php\/usr\/lib\/php\/modules\/\1/g' /mnt/fs/php/etc/php.d/*ini > /etc/php.d/custom-php.ini
    
    # If we installed any dependent libs on the =fs= share, we need to tell ldconfig to load them
    # You can skip this if you did not install any dependent libs on the =fs= share
    echo /mnt/fs/php/usr/lib > /etc/ld.so.conf.d/custom-libs.conf
    ldconfig
    
    # Restart apache and check status
    /etc/init.d/httpd restart
    sleep 1
    /etc/init.d/httpd status
    
Perl-Module installieren

Mit CA AppLogic® können Sie Perl-Module installieren.

So installieren Sie Perl-Module:

  1. Installieren Sie die erforderliche Software.

    Hinweis: Weitere Informationen darüber, wie Software-Abhängigkeiten in der fs-Freigabe installiert werden, finden Sie im Abschnitt PHP. Wenn Sie Bibliotheken installieren, weisen Sie ldconfig an, diese zu laden. Verwenden Sie die folgende ".rc.local"-Datei:

    #!/bin/bash
    
    # die on all errors
    set -e
    
    # If we installed any dependent libs on the =fs= share, we need to tell ldconfig to load them
    # You can skip this id you did not install any dependent libs on the =fs= share
    echo /mnt/fs/php/usr/lib > /etc/ld.so.conf.d/custom-libs.conf
    ldconfig
    
  2. Installieren Sie die Perl-Module.

    Hinweis: Im Lieferumfang der WEB-Appliance sind keine Build-Tools enthalten, daher können Sie keine Perl-Module auf der Appliance erstellen. Verwenden Sie vorgefertigte Module (RPM RPModule), oder erstellen Sie die Perl-Module in einer separaten Build-Umgebung (LINUX5 verwenden), und stellen Sie sie in einem Paket zusammen. Mit "cpan2rpm" (http://sourceforge.net/projects/cpan2rpm/) können Sie einen RPM aus einem CPAN-Modul erstellen.

  3. Fügen Sie den Installationspfad zu Ihrem Perl-Modul in den Pfad ein.

    Hinweis: Erstellen Sie Perl-Programme mithilfe der installierten Module, und geben Sie den Installationsspeicherort an. Legen Sie für @INC das Installationsverzeichnis in der fs-Freigabe fest, oder legen Sie für diesen Pfad die PERL5LIB-Umgebungsvariable fest, die zu @INC hinzugefügt wird.

    Damit Perl als CGI ausgeführt werden kann, fügen Sie der a.htconf-Datei in Ihrer fs-Freigabe folgenden Text hinzu, um den Installationspfad @INC hinzuzufügen:

    SetEnv PERL5LIB  /mnt/fs/perl_mods/usr/lib/perl5/vendor_perl/5.12.2/ 
    

    Damit Perl als mod_perl ausgeführt werden kann, fügen Sie .htconf folgenden Text hinzu:

    PerlSwitches -I/mnt/fs/perl_mods/usr/lib/perl5/vendor_perl/5.12.2/
    
Typische Verwendung

Statische Website

Statische Website

2-Ebenenanwendung mit Datenbank

2-Ebenenanwendung mit Datenbank

2-Ebenenanwendung mit Datenbank und Protokoll

2-Ebenenanwendung mit Datenbank und Protokoll

2-Ebenenanwendung mit freigegebenem Dateisystem und E-Mail-Gateway

2-Ebenenanwendung mit freigegebenem Dateisystem und E-Mail-Gateway

Skalierbare 2-Ebenenanwendung

Skalierbare 2-Ebenenanwendung

(siehe auch die Beispielanwendung SugarCRM)

Bekannte Beschränkungen

Beachten Sie Folgendes:

Open Source- und Drittanbieter-Software, die von der Appliance verwendet wird

Zusätzlich zur Software in der Basisklasse der Appliance (LUX6 ist die Basisklasse von WEB6 und LUX64 ist die Basisklasse von WEB64) wird die folgende Open Source- und Drittanbieter-Software verwendet.

Software

Version

Geändert

Lizenz

Hinweise

apr

1.3.9-5

Nein

Apache-Lizenz v2.0

N/A

apr-util

1.3.9-3

Nein

Apache-Lizenz v2.0

N/A

Audit

2.2-2

Nein

GPLv2+

N/A

audit-libs

2.2-2

Nein

GPLv2+

N/A

bind-libs

9.8.2-0.10.rc1.el6_3.2

Nein

ISC

N/A

bind-utils

9.8.2-0.10.rc1.el6_3.2

Nein

ISC

N/A

curl

7.19.7-26.el6_2.4

Nein

MIT

N/A

cyrus-sasl

2.1.23-13

Nein

BSD

N/A

cyrus-sasl-lib

2.1.23-13

Nein

BSD

N/A

dbus-libs

1.2.24-5.el6_1

Nein

GPLv2+ or AFL

N/A

fontconfig

2.8.0-3

Nein

ISC

N/A

freetype

2.3.11-6.el6_2.9

Nein

FTL

N/A

gamin

0.1.10-9

Nein

LGPLv2.1

N/A

gd

2.0.35-10

Nein

GD

N/A

gmp

4.3.1-7.el6_2.2

Nein

LGPLv2+, GLPv3 und LGPLv3+

N/A

gnutls

2.8.5-4.el6_2.2

Nein

LGPLv2.1

N/A

hesiod

3.1.0-19

Nein

ISC

N/A

httpd

2.2.15-15

Nein

Apache-Lizenz v2.0

N/A

hwdata

0.233.7-8

Nein

GPLv2

N/A

kbd

1.15-11

Nein

GPLv2

N/A

libc-client

2007e-11

Nein

Apache-Lizenz v2.0

N/A

libgcrypt

1.4.5- 9.el6_2.2

Nein

LGPLv2+

N/A

libgpg-error

1.7-4

Nein

LGPLv2.1+

N/A

libidn

1.18-2

Nein

LGPLv2.1+ und GPLv3+ und GFDL

N/A

libjpeg

6b-46

Nein

IJG

N/A

libpng

1.2.49-1.el 6_2

Nein

zlib

N/A

libusb

0.1.12-23

Nein

LGPLv2.0+

N/A

libutempter

1.1.5-4.1

Nein

LGPLv2

N/A

libX11

1.3-2

Nein

MIT

N/A

libXau

1.0.5-1

Nein

MIT

N/A

libxml2

2.7. 6-4.el6_2.4

Nein

MIT

N/A

libXpm

3.5.8-2

Nein

MIT

N/A

libxslt

1.1.26-2

Nein

MIT

N/A

lm_sensors-libs

3.1.1-10

Nein

GPLv2

Nur WEB64

mailcap

2.1.31-2

Nein

Public Domain and MIT

N/A4

mod_auth_mysql

3.0.0-11.el6_0.1

Nein

ASL 1.1

N/A

mod_perl

2.0.4-10

Nein

Apache-Lizenz v2.0

N/A

mod_rpaf

0.5

Ja

Apache Group

N/A

mod_ssl

2.2.15-15

Nein

Apache-Lizenz v2.0

N/A

mysql

5.1.61

Nein

GPLv2

N/A

mysql-libs

5.1.61

Nein

GPLv2

N/A

net-snmp

5.5-37

Nein

BSD

N/A

net-snmp-libs

5.5-37

Nein

BSD

N/A

ntsysv

1.3.49-3.2

Nein

GPLv2

N/A

pciutils-libs

3.1.4-11

Nein

GPLv2+

N/A

perl

5.12.2-1

Nein

Artistic

N/A

perl-AppConfig

1.65-1

Nein

Artistic

N/A

perl-BSD-Resource

1.28-1

Nein

Artistic

N/A

perl-DBD-MySQL

3.0007-2

Nein

Artistic

N/A

perl-DBD-Pg

1.49-2

Nein

Artistic

N/A

perl-DBD-SQLite

1.29-1

Nein

Artistic

N/A

perl-DBI

1.615-1

Nein

Artistic

N/A

perl-DBIx-Simple

1.32-1

Nein

Artistic

N/A

perl-GD

2.35-1

Nein

Artistic

N/A

perl-Mailtools

1.77-1

Nein

Artistic

Nur WEB64

perl-Pod-POM

0.17-1.2

Nein

Artistic

N/A

perl-String-CRC32

1.4-2

Nein

Öffentliche Domäne

N/A

perl-Template-Toolkit

2.15-1

Nein

Artistic

N/A

perl-Text-Autoformat

1.13-1.2

Nein

Artistic

N/A

perl-Text-Reform

1.11-1.2

Nein

Artistic

N/A

perl-TimeDate

1.16-5

Nein

Artistic

Nur WEB64

perl-Unicode-String

2.09-1

Nein

Artistic

N/A

perl-Digest-SHA1

2.11-1.2.1

Nein

Artistic

Nur WEB6

php

5.3.3-3

Nein

PHP v3.01

N/A

php-cli

5.3.3-14

Nein

PHP v3.01

N/A

php-bcmath

5.3.3-14

Nein

PHP v3.01

N/A

php-common

5.3.3-14

Nein

PHP v3.01

N/A

php-dba

5.3.3-14

Nein

PHP v3.01

Nur WEB64

php-gd

5.3.3-14

Nein

PHP v3.01

N/A

php-intl

5.3.3-14

Nein

php

N/A

php-imap

5.3.3-14

Nein

PHP v3.01

N/A

php-ldap

5.3.3-14

Nein

PHP v3.01

N/A

php-mysql

5.3.3-14

Nein

PHP v3.01

N/A

php-mssql

5.3.3-1

Nein

PHP v3.01

N/A

php-odbc

5.3.3-14

Nein

PHP v3.01

N/A

php-pdo

5.3.3-14

Nein

PHP v3.01

N/A

php-pear

5.3.3-14

Nein

PHP v3.0

N/A

php-pgsql

5.3.3-14

Nein

PHP v3.01

N/A

php-snmp

5.3.3-14

Nein

PHP v3.01

N/A

php-soap

5.3.3-14

Nein

PHP v3.01

N/A

php53-xml

5.3.3-14

Nein

PHP v3.01

N/A

php53-xmlrpc

5.3.3-14

Nein

PHP v3.01

N/A

php53-mbstring

5.3.3-14

Nein

PHP v3.01

N/A

pkgconfig

0.23-9.1

Nein

GPLv2

N/A

postgresql90-libs

9.0.8-1PGDG

Nein

BSD

N/A

procmail

3.22-25.1

Nein

GPLv2

WEB5, WEB64

rsync

3.0.6-9

Nein

GPLv2

N/A

samba-client

3.5.10-125

Nein

GPLv2

N/A

samba-common

3.5.10-125

Nein

GPLv2

N/A

sendmail

8.14.4-8

Nein

Sendmail

N/A

sudo

1.7.4p5-13.el6_3

Nein

BSD

N/A

telnet

0.17-47

Nein

BSD

N/A

unixODBC

2.2.14-11

Nein

LGPLv2.1

N/A

unzip

6.0-1

Nein

BSD

N/A

zip

3.0-1

Nein

BSD

N/A

libedit

2.11.4.20080712cvs.1

Nein

BSD

N/A

libtool-ltdl

2.2.6-15.5

Nein

LGPLv2.1

N/A

freetds

0.91-1

Nein

LGPLv2.1

N/A