Zum Inhalt springen
Der Guide für ein smartes Leben.
VG Wort Pixel
Online-Redaktionssysteme

Perl, CGI/FastCGI, Standalone

Autor: Carola Heine • 24.3.2011 • ca. 3:30 Min

Inhalt
  1. CMS-Serie: Mason-CM
  2. Perl, CGI/FastCGI, Standalone

Es bedeutet zwar einen zusätzlichen Aufwand, sich eine individuelle optimierte FastCGI-Version zu kompilieren, doch mit einer veralteten CGI-Version laufen Sie Gefahr, eine viel zu langsame Lösung zu erreichen. FastCGI ist wie CGI nicht an die interne Struktur des Webservers gekoppelt, sod...

Es bedeutet zwar einen zusätzlichen Aufwand, sich eine individuelle optimierte FastCGI-Version zu kompilieren, doch mit einer veralteten CGI-Version laufen Sie Gefahr, eine viel zu langsame Lösung zu erreichen. FastCGI ist wie CGI nicht an die interne Struktur des Webservers gekoppelt, sodass im Falle von Änderungen an der Webserver-Technologie alles unverändert weiterläuft. Die Erweiterungen machen aus FastCGI einen Turbo für perl-basierte Lösungen, in der Kombination lassen sich mit Mason gute Leistungen erzielen. 

Perl, CGI/FastCGI oder Standalone

image.jpg
"Mason powered Sites", beeindruckende Referenzliste www.masonhq.com/?MasonPoweredSites inklusive der News-Site www.l000.de
© Internet Magazin

Masons Standard-Umgebung beinhaltet Mason 1.4.5, den Apache-2.2-Webserver und das mod_perl 2.04-Modul für Apache, eine alternative Konfiguration basiert auf dem Einsatz von CGI beziehungsweise FastCGI. Mason lässt sich aber auch als Standalone-Applikation installieren. Der einfachste Weg, Mason mit CGI-Skripten laufen zu lassen, besteht im Aufrufen des CGIHandler- Moduls. Hier ein Beispiel, das auf das unbedingt Notwendige gekürzt wurde (Code-Beispiele von Filipe Pereira Martins und Anna Kobylinska):

#!/usr/bin/perl use HTML::Mason::CGIHandler; my $h = HTML::Mason::CGIHandler->new ( data_dir => "/home/ internetmagazin/code/mason_data", ); $h->handle_request;

Die httpd.conf von Apache könnte dann wie folgt aussehen:

DocumentRoot /pfad/zum/komponenten/ rootverzeichnis ScriptAlias /cgi-bin/ /pfad/zu/ cgi-bin/<LocationMatch "\.html$"> Action html-mason /cgi-bin/ mason_handler.cgi AddHandler htmlmason. html</LocationMatch><LocationMatch "^/ cgi-bin/"> RemoveHandler .html</LocationMatch><FilesMatch " (autohandler|dhandler)$"> Order allow,deny Deny from all</FilesMatch>

Auf diese Weise sorgt man dafür, dass Apache 2.2 das mason_handler.cgi-Skript immer aufruft, wenn eine URL auf .html endet. Damit Mason bestimmte Verzeichnisse ignoriert, genügt Folgendes:

<LocationMatch "^/(verzeichnis1| verzeichnis2| verzeichnis3)/"> RemoveHandler.html</LocationMatch>

 

Mason als Standalone-Anwendung

Mason kann auch als Template-Engine eingesetzt werden, zum Beispiel mittels Text::Template. Ein auf das wirklich Nötige gekürztes Skript, mit dem man Mason 1.4.5 standalone aufrufen kann, sieht zum Beispiel wie folgt aus:

#!/usr/bin/perl use HTML::Mason; use strict; my $interp = HTML::Mason::Interp-> new (); $interp->exec(<relativerpfad>,<args>...);

Da in diesem Beispiel kein Root-Verzeichnis festgelegt worden ist, geht Mason 1.4 davon aus, dass das aktuelle Verzeichnis genutzt wird. Außerdem sollten Sie ein Arbeitsverzeichnis festlegen, denn standardmäßig werden keine Objektdateien angelegt und auch das aus Performancegründen sinnvolle Caching findet nur dann statt, wenn ein Arbeitsverzeichnis definiert wurde.

Schwächen beim Import

Wie bei den meisten Redaktionssystemen ist auch bei Mason der Import von Content aus anderen Systemen eine organisatorische Herausforderung, es gibt einfach viel zu viele unterschiedliche Strukturkonzepte, um hier schnell zu einheitlichen Vorgängen zu kommen. Davon abgesehen ist Mason ein leistungsfähiges starkes Werkzeug für jeden Perl-Programmierer - wer nicht über Perl-Kenntnisse verfügt, wird auf den Einsatz von CGI/FastCGI angewiesen sein. Flexibel und leistungsstark.

Zugegeben, die Lernkurve für den Neueinstieg mit Mason ist anfangs höher als bei kleineren populären CMS oder als bei der Arbeit mit einem aufgebohrten WordPress- System. Doch der Aufwand lohnt, denn mit Mason können Sie buchstäblich jedes Webprojekt in Angriff nehmen - nicht nur ganz große Unternehmens-Website, wie Amazon.com oder Del.-ic.io vermuten lassen. Wenn man sich zumindest ansatzweise mit Apache 2 auskennt und mit Perl 5 als Skriptsprache zurechtkommt, sollte man Mason problemlos einsetzen können.Zahlreiche Anwendungen basieren auf Mason, siehe auch die unterschiedlichen Code-Schnipsel und Beispiele unter www.masonbook.com/ . Multimedia-Inhalte und statische Seiten lassen sich relativ mühelos integrieren. Ein großer Pluspunkt neben Open Source und regelmäßigen Updates ist die Online-Gemeinde der Mason-Anwender, die im Laufe des letzten Jahrzehntes Webpräsenzen jeder Größenordnung und Branche erstellt hat und somit einen regen Austausch unter Entwicklern ermöglicht, siehe auch die Mailinglisten unter www. masonhq.com/?MailingLists.Es ist also unwahrscheinlich, dass Sie mit Mason allein zurückbleiben, wenn Sie sich dafür entscheiden - und Ihren Kunden gibt es ein Stück Sicherheit, eine populäre und weit verbreitete Software einzusetzen.

Mason installieren

Um Mason zu installieren, führen Sie folgende Sequenz aus:

perl Build.PL ./Build ./Build install

Die Default-Einstellungen werden nun die Angaben erfordern, wo auf dem Server Apache installiert ist, sodass Mason unter mod_ perl konfiguriert werden kann. Im nächsten Schritt sind einige Angaben in den Konfigurationsdateien von Apache erforderlich. Rufen Sie die Daten mason.html im Ordner /htdocs der heruntergeladenen Mason-Software auf, um die detaillierte Anleitung und weiterführende Informationen einzusehen.

Nächste passende Artikel
Die wichtigsten CMS-Grundlagen
Content-Management-Systeme Die wichtigsten CMS-Grundlagen
Anteile am CMS-Markt
Content-Management-Systeme So finden Sie das richtige CMS
Auf das richtige CMS kommt es an
Content-Management-Systeme Auf das richtige CMS kommt es an
internet, webdesign, citus, cms, website
CMS: Redaxo 4.3.2
Online-Redaktionssysteme CMS: Redaxo 4.3.2
CMS: Zikula
Online-Redanktionssysteme CMS: Zikula
Die besten CMS-Themes auf Basis von HTML5
CMS ohne Bauchschmerzen
Provider: Joomla-Hosting CMS ohne Bauchschmerzen