Forum mit Perl
Digitale Plauderecke

DeveloperIT-ProjekteSoftware

Ein Forum gehört mittlerweile zur Standardausstattung einer jeden Website. Internet Professionell zeigt, wie Sie unter Perl ein Messageboard einrichten. Das Besondere: Eine Datenbank wird nicht benötigt.

PHP-Alternative Perl

Forum mit Perl

Ob Vereins-Site, Hobby-Web-Auftritt oder die Supportseiten eines Dienstleisters oder Anbieters ? ein Forum auf der eigenen Website ermöglicht es den Besuchern, untereinander oder mit Ihnen auf bequeme Weise in Kontakt zu treten. Vor allem auf Websites zu speziellen Themen und Hobbys kann sich so ein rege Community entwickeln, und die Forumsseiten wachsen im Lauf der Zeit zu einem umfangreichen Archiv mit allen möglichen Informationen zu diesem Thema heran.

Auch wenn sich die Programmiersprache PHP in den vergangenen Jahren durchgesetzt hat und mittlerweile der Standard ist in Sachen dynamische Web-Inhalte, gibt es durchaus Alternativen. Ein Beispiel ist die Programmiersprache Perl. Diese Alternative wird ebenfalls von zahlreichen Webhostern unterstützt und ist in jedem Fall einen näheren Blick wert. So lassen sich mit Hilfe von Perl ebenfalls umfangreiche Web-Applikationen entwickeln und nutzen.

Internet Professionell zeigt anhand der Software Talkshop, wie Sie unter Perl ein professionelles Forum auf Ihrer Website einrichten und administrieren.


Datenbankfrei

Forum mit Perl

Das Besondere an dem in diesem Workshop vorgestellten Forum Talkshop (www.spiceisle.com/talkshop/faq.htm) ist, dass dieses keine Datenbank benötigt. So lässt sich Talkshop auch in kleineren Webhosting-Paketen nutzen, die keine Datenbankunterstützung mitbringen. Sämtliche Forumseinträge werden als statische HTML-Dateien abgelegt. Ein weiterer entscheidender Vorteil dieser Lösung: Die einzelnen HTML-Dateien lassen sich von Suchmaschinen problemlos indizieren.

Auch in Sachen Funktionsumfang braucht sich diese datenbankfreie Alternative nicht hinter den bekannten Vertretern unter PHP & Co. zu verstecken. Neben den für Foren üblichen Funktionen wie Vorschau, moderierte Foren, Benutzerregistrierung sowie Benachrichtigung bei neuen Nachrichten lässt sich das Forum anhand von Templates individuell an das Layout der eigenen Website anpassen und integriert sich so nahtlos in eine bereits bestehende Seite. Neben einer standardmäßigen Thread-Ansicht können Betrachter sich die Beiträge auch chronologisch anzeigen lassen.

Vor allem bei der Administration hat das Forum eine Menge nützlicher Features zu bieten. So lassen sich ältere Messages bei Erreichen einer individuell festgelegten Nachrichtenanzahl automatisch löschen. Dabei werden die Nachrichten lediglich nicht mehr auf der Übersichtsseite gelistet, verbleiben jedoch zu Archivzwecken auf dem Server. Da die reinen HTML-Dateien kaum Speicherplatz benötigen, können Sie sich so ohne Aufwand ein umfangreiches Archiv aufbauen.

Gerade in Zeiten von Kommentarspammern & Co. besonders praktisch: Posts lassen sich nach der Herkunft des Benutzers beziehungsweise nach dem Inhalt blocken und bearbeiten. Ein Forum lässt sich auch als externe Suche beispielsweise in einen Microsoft-Index-Server einbinden.


Voraussetzungen

Forum mit Perl

Für die Installation von Talkshop benötigen Sie lediglich einen Webspace mit Perl-Unterstützung. Die meisten Webhosting-Pakete unterstützen neben PHP auch Perl. In diesem Workshop zeigen wir die Installation von Talkshop anhand eines Virtual-Server-Pakets von Domainfactory.

Die entsprechenden Perl-Dateien für das Talkshop-Forum finden Sie auf der beiliegenden Heft-CD sowie unter www.spiceisle.com/upload/talkshop/talkshop.zip. Die Installation des Messageboards ist schnell erledigt und auch für Laien in Sachen Perl problemlos zu bewältigen.

Für eine reibungslose Installation von Talkshop benötigt der Serverprozess Schreibrechte für die Verzeichnisse mit den Perl-Skripts sowie den HTML-Dateien. Besitzt der Serverprozess kein Schreibrecht für das CGI-Verzeichnis ? in der Regel cgi-bin, so gibt es hierfür einen Workaround, der in der Datei setup.doc im ZIP-File enthalten ist.

Neben den genannten Voraussetzungen sollten auf dem System zudem die Systemvariablen HTTP_HOST (Fully Qualified Domain Name beziehungsweise IP-Adresse der Webpräsenz), PATH_TRANSLATED (physikalischer Pfad zur Webpräsenz auf dem Server) sowie SCRIPT_NAME (relativer URL zum Skript auf dem Server) zur Verfügung stehen. Ist dies nicht der Fall, versucht das Skript diese zu erraten. Unter Umständen müssen die Pfade dann den Gegebenheiten auf Ihrem Server angepasst werden.


Installation

Forum mit Perl

Während des Entpackens der Dateien aus der ZIP-Datei in ein temporäres lokales Verzeichnis werden die beiden Verzeichnisse cgi-bin sowie templates angelegt. Ersteres enthält die Perl-Skripts, das zweite Verzeichnis die Template-Dateien und weitere für den Betrieb wichtige Ordner und Dateien wie Cascading Stylesheets.

Kopieren Sie nun den Inhalt beider Ordner auf Ihren Webserver ? üblicherweise via FTP. Achten Sie an dieser Stelle darauf, die Perl-Skripts im Ascii-Modus zu übertragen. Nähere Informationen hierzu lesen Sie im nebenstehenden Kasten »Perl-Skripts in die Website einbinden«. Je nach Konfiguration muss der Name des auszuführenden CGI-Verzeichnis unter Umständen anders lauten. Führt der Server Perl-Skripts nur mit der Endung PL aus, benennen Sie die Dateien im Verzeichnis cgi-bin entsprechend um.

Im nächsten Schritt ändern Sie die beiden Verzeichnispfade zu Perl und Sendmail entsprechend der Konfiguration des verwendeten Servers ab:

#!/usr/bin/perl
#!/usr/sbin/sendmail

Auf dem Test-Account von Domainfactory ist der Pfad in den beiden Dateien subscribe.cgi sowie talkshop.cgi abzuändern in /usr/lib/sendmail. Informationen über die Pfade Ihrer eigenen Webpräsenz finden Sie üblicherweise im Web-Interface Ihres Webhosters. Andernfalls hilft Ihnen der Support des Webhosters bei etwaigen Fragen sicherlich gerne weiter.

Erstellen Sie nun im Root-Verzeichnis Ihrer Webpräsenz einen neuen Ordner talkshop. Stellen Sie sicher, dass der Webserverprozess Schreibrechte auf diesen Ordner hat. Unterhab des neu erstellten Verzeichnisses legen Sie nun den Ordner ini neu an. Darin speichert Talkshop seine Konfigurationsdateien.

Zum Abschluss der Installation rufen Sie im Webbrowser das Skript talkadm auf, in der Regel über den URL example.com/cgi-bin/talkadm.cgi. Falls die angezeigten Pfade nicht stimmen sollten, passen Sie diese an. Zu guter Letzt legen Sie einen Benutzernamen und ein Passwort für den Administrator-Account an.


Neues Forum anlegen

Forum mit Perl

Nach der Installation von Talkshop können Sie nun bequem über die Web-Oberfläche ein neues Forum anrichten. Rufen Sie hierzu wieder das Skript talkadm.cgi auf und loggen Sie sich mit dem zuvor festgelegten Usernamen ein. Wählen Sie die Option Add New Forum und legen Sie einen Namen und das Template für das neue Forum fest. Mehrere Standard-Templates stehen bereits zur Verfügung. Zudem können Sie angeben, ob das Forum eine Suchfunktion zur Verfügung stellen soll, und weitere Eigenschaften bezüglich des Erscheinungsbilds festlegen.

Die weitere Administration des neuen Forums erfolgt über die Option Administer Forums, ebenfalls im Skript talkadm.cgi. Hierüber können Sie die Parameter ändern oder neue hinzufügen. Eine Beschreibung der zahlreichen möglichen Parameter finden Sie in der Datei talkshop.doc.

Das soeben neu angelegte Forum ist nun bereits voll einsatzbereit, und Sie können schon die ersten Foreneinträge verfassen.


Neues Gewand

Forum mit Perl

In der Regel entspricht das Erscheinungsbild des Forums nicht dem Layout Ihrer Webpräsenz. Daher ist es sinnvoll, das Aussehen des Messageboards d
em Erscheinungsbild Ihrer Sites anzupassen. Wie bei solchen Skripts üblich verwendet auch Talkshop Templates, um das Layout der Foren entsprechend zu beeinflussen.

Talkshop unterscheidet dabei zwischen mehreren Templates. Die Installation-Templates werden vom Skript talkadm zum Anlegen von Foren verwendet und liegen unter /templates/new. Dabei werden die Templates während des Einrichtens von Foren in Creation- und Operation-Templates konvertiert.

Die Creation-Templates dienen zum Erstellen der HTML-Dateien mit den Foren-Beiträgen. Wie die Operation-Templates liegen die Foren-spezifischen Templates unter /talkshop/templates, allgemeine Templates unter /templates. Die Operation-Templates formatieren die Daten, die über HTML an den Server gesendet werden, wie etwa Foreneinträge. Ein Creation-Template kann auch als Operation-Template fungieren. In den INI-Dateien werden Parametern zu den Foren gespeichert.


Templates anpassen

Forum mit Perl

Die Templates von Talkshop lassen sich mit jedem beliebigen HTML-Editor bearbeiten und an die eigenen Bedürfnisse anpassen. Da das Layout des Messageboards auf Cascading Stylesheets basiert, empfiehlt sich ein Editor, der auch mit CSS-Definitionen zurechtkommt, wie etwa Macromedia Dreamweaver.

Wenn Sie die Installation-Templates bearbeiten, gilt dies nur für zukünftige, neu erstellte Foren. Beim Ändern der Creation-Templates gelten die Änderungen für alle neue Foreneinträge derjenigen Messageboards, die das entsprechend geänderte Template verwenden. Wenn Sie die Operation-Templates ändern, gilt dies für das gesamte Forum, sobald dies erneut aufgerufen wird.

Ratsam ist jedoch, die vorhandenen Templates nicht zu verändern. Möchten Sie das Aussehen eines Forums verändern, so kopieren Sie die vorhandenen Templates in das entsprechende Verzeichnis des Forums und passen die Kopien an. Gegebenenfalls müssen Sie das Verzeichnis templates unter /talkshop erst noch erstellen. Beim Anpassen der Templates sollten Sie die im Quelltext hinterlegten Kommentare beziehungsweise Platzhalter ? wie etwa [forum_title] ? nur mit Bedacht anpassen, da sonst eventuell das Forum nicht mehr ordnungsgemäß funktioniert.

Ebenfalls sollten Sie nicht die Datei index.html per Hand bearbeiten. Dabei handelt es sich um einen neuraglischen Punkt von Talkshop. Falsche Einstellungen können dazu führen, dass Ihre Foren nicht mehr ordnungsgemäß funktionieren.

Kleinere Änderungen wie das Anpassen der Sprache lassen sich in Talkshop im Handumdrehen erledigen: einfach die Texte mit einem HTML-Editor anpassen und die entsprechende Website wieder hochladen.


Zahlreiche Einstellungen

Forum mit Perl

Das Messageboard Talkshop bietet zahlreiche Ecken und Enden, an denen man modifizieren und das Forum den eigenen Bedürfnissen anpassen kann. Das etwas altbackene Standardlayout sollte nicht über die zahlreichen Möglichkeiten hinwegtäuschen.

Nachdem Sie das Layout des Forums entsprechend Ihrer Webpräsenz angepasst haben, können Sie im nächsten Schritt unter anderem eine E-Mail-Benachrichtigung sowie Filter einrichten. Interessant ist auch die Möglichkeit, ein Forum so zu konfigurieren, dass dieses als Gästebuch fungiert. Hierzu verwenden Sie beim Anlegen eines neuen Forums das Template guestbook. Ein nachträgliches Konvertieren eines vorhandenen Messageboards über die Funktion Rebuild Forum im Skript talkadm ist allerdings nicht möglich.

Erwähnenswert sind auch die verschiedenen Stufen von moderierten Foren. In Zusammenarbeit mit Filtern und einer Automoderation sind so zahlreiche praktische Funktionen möglich.

Im Talkshop-Paket finden Sie neben den Perl-Skripts und den HTML- und CSS-Files für die Foren auch eine ausführliche Word-Datei. Diese Datei erläutert detailliert die Einrichtung sowie die weiteren Features von Talkshop. Tiefer gehende Perl-Kenntnisse sind hierfür nicht erforderlich. Falls Probleme auftauchen, steht Ihnen auf der Talkshop-Website ein gutes Support-Forum zur Verfügung, wo man Ihnen gerne weiterhilft.