Generierung von dynamischen Seiten

Die meisten dieser Text ist mit aufwendigen Formen der Erstellung von dynamischen Seiten durch Perl-Skripten angeht, PHP-Scripts, Java-Servlets und Java Server Pages. Die grundlegenden Apache-Konfiguration bietet Unterstützung für CGI-Programme (auf Perl-Skripten und Alternativen basiert), und für die relativ begrenzt "Server-Side Includes (SSI)-Mechanismus. Die entsprechenden Module (mod_env, mod_cgi und mod_include) sind in der Standard-Apache-Build aufgenommen. Am besten ist es die Anzahl der Verzeichnisse, die ausführbaren Code, die dynamische Seiten erzeugen kann enthalten. Die Standard-Konfiguration, wie in der httpd.conf-Datei angegeben, erlaubt CGI-Programme nur in der / local / apache / cgi-bin-Verzeichnis, und es sind keine Verzeichnisse, die für SSI-Dateien ermöglichen. Diese Standardwerte werden voraussichtlich zu restriktiv. Wenn Sie die Einschränkungen ein wenig, können Sie extra Verzeichnis der Richtlinien auf die httpd.conf-Datei hinzufügen entspannen. Diese zusätzlichen Directory-Richtlinien muss die Kontrolle Optionen, die Ausführung von CGI-Skripte in einem Verzeichnis-oder SSI-Verarbeitung von Dateien aus einem Verzeichnis Genehmigung enthält. Server-Side Includes werden durch spezielle Tags in einer HTML-Datei markiert, tags wie:


   
   
  

Apache müssen die Dateien lesen, überprüfen Sie die HTML-und finden und Verarbeitung der SSI-Tags. Dies trägt erheblich zu den Kosten der normalen Abruf einer HTML-Datei. Am besten ist es zu einer deutlichen Dateierweiterung verwenden, um die Dateien, für die SSI-Verarbeitung ist erforderlich Flagge. Die konventionelle Erweiterung ist. Shtml; der Server konfiguriert werden, um solche Dateien entsprechend zu behandeln. Die Konfigurationsdatei httpd.conf müssen den Richtlinien gehören:

AddType text / html. Shtml AddHandler server-parsed. Shtml

Die erste Richtlinie legt die Art des Inhalts, die im HTTP-Header, wenn die Texte der verarbeiteten Dateien an den Client zurückgegeben werden, verwendet werden soll. Die zweite Richtlinie ermöglicht es dem tatsächlichen Parsen der Web-Server. SSI-Tags wie flastmod oder Größe sind harmlos, wie die Einbeziehung von anderen HTML-Dateien über den include-Tag. Die Ausführung von Code, der nach einer exec Tag erlaubt oder durch eine include-Tag Angabe Ausgabe von einem CGI-Script, kann riskant sein. Der Code kann eine beliebige Shell-Skript, wenn Ihre Website nicht ordnungsgemäß gesichert sind, gibt es Möglichkeiten, dass Hacker können das Skript, das von einem SSI-Datei ausgeführt wird, ändern. Der Apache-Optionen, die die Verwendung von SSI zulassen, können Sie zwischen der einfachen Verwendung und Verwendungen, die Ausführung von Code beinhalten unterscheiden. Wenn Sie Dateien in einem Verzeichnis zu ermöglichen werden SSI-geparst möchten, benötigen Sie ein Verzeichnis Richtlinie vor, dass das Verzeichnis und die Intensität der Nutzung, die Sie erlauben identifiziert:

 Options + Includes ...  oder  Options + IncludesNOEXEC ... 

Als Beispiel für Server Side Includes, man könnte einen einfachen Schalter für den Einsatz in einer Web-Seite (diese Datei ist für Linux oder Unix). Dies würde bedeuten, ein Shell-Skript, wie die folgenden:

Val = `cat` NeuerWert counter = `expr $ Val + 1` echo $ NeuerWert> counter echo $ NeuerWert

Dieser Code würde in einer Datei gespeichert werden Count.sh; die Datei hätte gemacht werden ausführbare Datei und eine Datei für den Zähler müssten mit einer Datenleitung mit dem ursprünglichen Wert 0 erstellt werden. Der Zähler könnte dann aus dem HTML-Code in einem. Shtml-Datei wie folgt aufgerufen werden:

... 
Diese Seite wurde bisher Zeiten.

(Alle Dateien müssten in dem gleichen Verzeichnis sein.) Die Datei httpd.conf enthält eine ScriptAlias-Direktive, die den Speicherort des Standard-cgi-bin-Verzeichnis identifiziert. Ein ScriptAlias-Direktive veranlasst auch, dass Apache alle Dateien in das angegebene Verzeichnis als ausführbare Dateien behandelt werden, so dass Apache wird versuchen, Gabel-exec diese Dateien nicht einfach zurück und sie an den Client. Wenn Sie CGI-Programme in anderen Verzeichnissen möchten, müssen Sie eine Datei-Erweiterung nutzen, dass die CGI-Programme ermittelt werden sollen:

AddHandler cgi-script. Cgi

Vielleicht möchten Sie verwenden. Cgi für kompilierte C / C + +-Programmen und. Pl für Perl-Skripte, in dem Fall, dass Sie sein könnte:

AddHandler cgi-script. Cgi. Pl

Sie müssen auch Verzeichnisanweisungen, dass diese Verzeichnisse, die ausführbare Skripte enthalten können, zum Beispiel zu identifizieren:

 Options + ExecCGI 

Apache sollte dann jeden. Cgi Dateien in diesem Verzeichnis (und. Pl Dateien, wenn Sie angegeben haben beide). Der Web-Server hat ein neues Verfahren für ein CGI-Programm zu starten (oder ein SSI-exec-tag). Der neue Prozess wird erstellt über Gabel dann exec fordert Linux / Unix. Der neue Prozess erbt die gleiche Benutzer-ID und Gruppen-wie die Schaffung von Prozess-ID, folglich wird es normalerweise Benutzer-ID 'nobody'. Oft werden Sie wollen diese Prozesse mit verschiedenen User-IDs laufen. Ein Ansatz beruht auf einer Set-User-ID-Dateisystem. Der Apache-System beinhaltet ein sicherer Mechanismus, über ihre SuExec Erweiterungen. Das suexec-Mechanismus sieht eine Reihe von Sicherheits-Checks, bevor es die Benutzer-ID Veränderungen mit einem Kind CGI-Prozess verbunden sind. Diese Kontrollen sollen, dass jemand heimlich immer ein Programm mit Benutzers laufen-id = "root" zu verhindern und zu vermeiden, läuft ein Skript oder ausführbaren Datei, die wurden von jemand anderem als offizieller Besitzer gewechselt könnte. Man muss ein System-Administrator mit root-Zugang einzurichten Das suexec-Erweiterungen. Wenn Sie Ihr eigenes Linux-System laufen, können Sie versuchen, diese als Übung für Fortgeschrittene in Apache Verwaltung.

FürWindows Anwender, Installation von Apache ist trivial. Sie laden Ihren Apache als ausführbare komprimierte Archiv-Datei (aus http://httpd.apache.org/). Diese Datei kann ausgeführt werden, es wird der Apache-Server und die erforderlichen Dateien zu erstellen, und fügen Sie Verknüpfungen zu Ihren Start-Menü. In der Regel wird der Apache in C: \ Programme \ Apache Group \ Apache. Dieses Verzeichnis enthält Unterverzeichnisse \ bin (Füh

s und Skripte), \ conf (Konfigurationsdateien), \ Protokolle (Logfiles), \ cgi-bin (Standard-Verzeichnis für Ihre CGI-Programme) und \ htdocs (das Standard-Verzeichnis für Dokumente). Das htdocs-Verzeichnis sollte beispielsweise mehrere Dateien enthalten, aber die cgi-bin-Verzeichnis wird wohl leer sein. Sie sind wahrscheinlich zu müssen, eine Änderung zu machen, die \ conf \ httpd.conf, kann diese Datei mit einem beliebigen Texteditor geöffnet werden. Die Datei wahrscheinlich nicht über einen Wert für die Server-Parameter angegeben, müssen Sie möglicherweise etwas wie ServerName localhost (oder vielleicht ServerName 127.0.0.1) zu definieren. (Wenn nichts definiert ist, wird Apache versuchen, einen DNS-Server zu sagen, dass es den richtigen Server-Namen auf Ihrem Rechner IP-Adresse und die DNS-Einträge finden, dieser Versuch schlägt fehl, wenn Sie nicht einen DNS-Server verbunden sind, so dass Apache gewonnen 't start.) Nach dem Editieren von httpd.conf sollten Sie grundlegende Windows Apache bereit sein, zu laufen. Sie können es aus dem Startmenü zu starten, und starten Sie dann einen Browser und verwenden Sie diesen Browser, um auf Ihre localhost Server zu verbinden.

Linux / Unix-Nutzer haben etwas mehr zu tun, sondern profitieren, indem sie ein besseres Verständnis des Apache-System. Linux / Unix-Nutzer werden etwa 20 Mbyte Speicherplatz benötigen für eine endgültige Implementierung Apache-Verzeichnis (/ local / apache), und etwas mehr Platz für ein Verzeichnis, in dem Apache kompiliert und verknüpft (/ home/me/apache_1.3.27). Sie laden ein tar.gzip Version des Servers (1.3.27 oder höher), entpacken (gunzip) das Archiv und die Dateien zu entpacken (tar-xf ...). Dieser Prozess sollte ein Unterverzeichnis apache_1.3.27 in Ihrem Home-Verzeichnis. Dies ist effektiv Ihre Master-Kopie. Ein Großteil des Materials aus diesem Verzeichnis werden in der endgültigen Bereitstellung Verzeichnis kopiert werden. Der Apache-Verzeichnis enthält bin, cgi-bin, conf, htdocs, Symbole, Protokolle, src und andere Unterverzeichnisse. Der cgi-bin-Unterverzeichnis enthält ein paar kleine Programme, beispielsweise mit Hilfe von Shell-Scripting und Perl. Das htdocs-Verzeichnis enthält eine Reihe von Beispielen, unter anderem verwendet, um Inhalte Verhandlungen über die Sprache des Kunden Präferenzen zu illustrieren. Es enthält auch die Apache-Dokumentation im Verzeichnis / Unterverzeichnis Handbuch.

Ein Artikel eingereicht von Jasmin Summersby


Disclaimer:Unsere Website ist nicht verantwortlich für den Inhalt dieses Artikels. Webarticles ist eine kostenlose Informationsquelle.
Wichtig: Dieser Artikel "Generation von dynamischen Seiten" wurde durch ein automatisches Software übersetzt. Wir fühlen uns leid für alle Rechtschreibfehler, die möglicherweise aufgetreten sind. Vielen Dank für Ihr Verständnis.


Online: 305 users browsing the articles directory