5.4. Installation der CGI-Skripte und Konfiguration des Webservers

Webserver ordnen der hierarchischen Gliederung von Pfaden in URLs (virtuelle Pfade) reale Verzeichnisse im Dateisystem des Servers (reale Pfade) zu und sind dabei relativ frei konfigurierbar. Allerdings unterscheiden sie normalerweise stark zwischen Verzeichnissen, aus denen Dateien geliefert werden dürfen und jenen, in denen Skripte oder Applikationen ausgeführt, jedoch nicht im Quelltext gezeigt werden dürfen (CGI-Verzeichnisse).

Die CGI-Skripte von HANS gehören in ein CGI-Verzeichnis, die CSS-Stylesheets und eventuelle Graphiken (für die Buttons) gehören in reguläre virtuelle Verzeichnisse. Da alle Dateien für den HANS-OPAC in einem einzigen ZIP-Archiv ausgeliefert werden (mit Unterordnern), muss entweder durch Konfiguration des Webservers oder durch Umkopieren einzelner Verzeichnisse die richtige Zuordnung zu "CGI" bzw. "regulär" vorgenommen werden.

Da die HANS-Anbindung unter populo.pl aus mehreren Dateien und Unterverzeichnissen besteht, empfiehlt es sich aus Gründen der Übersicht, diese in ein separates Verzeichnis zu legen und nicht mit bereits vorhandenen CGI-Applikationen zu mischen. Sofern nicht andere Überlegungen dagegen sprechen, kann aber dazu geraten, werden, mehrere Datenbankanbindungen unter populo.pl durchaus in dasselbe Verzeichnis zu installieren.

Der Administrator des Webservers muss unabhängig voneinander folgende Entscheidungen treffen:

  1. Soll der virtuelle Pfad der Anwendung einen bestehenden Pfad verlängern ("/cgi-bin/abteilungxy/allerhans/") oder eine neue Hierarchie eröffnen ("/cgi-hans/")?

  2. Soll der reale Pfad innerhalb der bestehenden realen Verzeichnishierarchie für den Webserver existieren oder ausserhalb? Beides hat Vor- und Nachteile: Die Chance zur "Vererbung" der Konfigurationseinstellungen für virtuelle Pfade im ersten Fall, ist abzuwägen gegen eventuelle Interferenzen mit Software zur Pflege und Synchronisation der Website und auch gegen den Vorteil, alle Dateien für den OPAC an einem kontrollierten Ort zusammenhalten zu können

  3. Sollen die statischen Komponenten (Stylesheets, ggfls. Graphiken und oder Introtexte) an dem Ort verbleiben, an den sie entpackt werden (=> erfordert zusätzliches Einkonfigurieren von Pfaden) oder manuell umkopiert werden (=> vergrößert die Kohärenz von virtuellen und realen Pfaden)?

Anhand dieser Entscheidungen wird der Administrator ein reales Verzeichnis für die Installation festlegen und dafür sorgen, dass Perl-Skripte in diesem Verzeichnis unter einer bestimmten URL aufrufbar sind.

[Achtung]

Obacht für Apache-Anwender: Skripte, die populo.pl nutzen, sind CGI-Applikationen, keine mod_perl™-Anwendungen!

[Anmerkung]

Im IIS von Microsoft und anderen Webservern ist darauf zu achten, dass dieses virtuelle Verzeichnis ein "Wurzelverzeichnis für Web-Applikationen" oder "Ausgangspunkt für Anwendungen" ist. Falls sich das nicht einfach einstellen lässt, können Sie alternativ in den CGI-Skripten folgenden kryptischen Code als zweite Zeile der Datei einfügen:

BEGIN { ($0 =~ m=^(.*)[/\\][^/\\]+=) && chdir $1 };

In dieses Verzeichnis muss nun populo.pl™ installiert werden sowie die eigentliche HANS-Anbindung:

[Achtung]

Unter U**X-Betriebssystemen ist mit "unzip -a" zu entpacken, damit die Zeilenumbrüchen in den Skripten auf die richtige Konvention eingestellt werden.

  1. Installieren Sie populo.pl entsprechend der Anleitung in der Readme-Datei (http://www.gymel.com/populo/readme.html ; Kurzfassung: Das Archiv pop_1_16.zip in ein separates Verzeichnis ausserhalb der Kontrolle des Webservers entpacken, den Inhalt des Unterverzeichnisses base (zumindest populo.pl und popdebug.pm) in das gewählte CGI-Verzeichnis kopieren.

    Alternativ: auf einer Win32-Maschine entpacken und populo.pl und popdebug.pm im Textmodus per FTP auf die Zielmaschine transportieren.

  2. Extrahieren Sie das Archiv cgidir.zip mit den Dateien der HANS-2000-Anbindung in das gewählte CGI-Verzeichnis und passen die ersten Zeile von hansdemo.pl und hansdemo2.pl ggfs. auf den Pfad des Perl-Interpreters auf Ihrer Maschine an (Readme-Datei beachten!). Unter U**X-Betriebssystemen bitte die Execute-Berechtigungen von hansdemo.pl und hansdemo2.pl überprüfen und ggfls. setzen.

    Alternativ: auf einer Win32-Maschine entpacken und inklusive aller Unterverzeichnisse per FTP auf die Zielmaschine übertragen, dabei muss dann "text" als Übertragungsmodus eingestellt sein, nur für das Unterverzeichnis hansdemo_cf/images muss es "binary" sein (Viele ftp-Client-Programme unterstützen eine Einstellung "auto", die die unterschiedlichen Übertragungsmodi automatisch berücksichtigt).

  3. Testen Sie den Aufruf von der Kommandozeile:

    Eingabe von

    perl -c populo.pl <Enter>
    perl -c hansdemo.pl <Enter>

    im CGI-Verzeichnis sollte jeweils "Syntax OK" liefern. Dann Eingabe von:

    Unter U**X:
    ./hansdemo.pl <Enter>
    Strg+D
    Unter Win32:
    perl hansdemo.pl <Enter>
    Strg+Z

    Es sollte dann vielzeiliger HTML-Code über den Schirm rauschen.

  4. Der Datei hansdemo.README entnehmen Sie bitte die Erläuterung zur realen und virtuellen Verzeichnisstruktur für die Datenbank "hansdemo". Unbedingt vorzunehmen ist folgendes:

    • Für die CSS-Stylesheets im realen Unterverzeichnis hansdemo_cf/styles : Eingestellt ist, dass auf diese über den virtuellen Pfad /hansstyle zugegriffen wird. D.h. Sie müssen den Webserver so konfigurieren, dass diese Zuordnung erfüllt ist, oder den Inhalt von hansdemo_cf/styles umkopieren und in der externen Konfigurationsdatei hansdemo.conf den von Ihnen gewünschten virtuellen Pfad einstellen (nach "CSSURLS" suchen).

    • Für die Imagedateien der graphischen Buttons im realen Unterverzeichnis hansdemo_cf/images : Eingestellt ist, dass auf diese über den virtuellen Pfad /hansimag zugegriffen wird. D.h. Sie müssen den Webserver so konfigurieren, dass diese Zuordnung erfüllt ist, oder den Inhalt von hansdemo_cf/images umkopieren und in der externen Konfigurationsdatei hansdemo.conf den von Ihnen gewünschten virtuellen Pfad einstellen (nach "ImgPath" suchen) oder die Nutzung der Graphischen Buttons unterbinden (nach "FancyButtons" und "GraphicButtons" in hansdemo.conf suchen)

  5. Unter der URL http://<IhrServer>/<Ihr/Virtueller/Pfad>/hansdemo.pl sollte die Anbindung der Demodatenbank nun aufstartbar sein. Die Recherche funktioniert jedoch nur, wenn Sie Avanti für eine Datenbank "hansdemo" aufgesetzt haben. Um mit einer bereits existierenden Demo-Datenbank zu testen: Ergänzen Sie testweise am Ende von hansdemo.conf die folgende Zeile:

    $AvantiHost = "avanti.hans-support.de";