ANZEIGE




Nice websites like gclub
Newsletter
Neues rund um die Seite immer wieder.

Eintragen
Austragen


ANZEIGE
Die Novoline spiele kennt jeder, wir zeigen euch heute wie ihr diese online Casino Automaten von Novoline auch online spielen könnt.


ANZEIGE
Auch Automaten Spiele und Online Spielautomaten wurden von uns getestet und bieten Seriosität beim Spielen.
Erfahre alles über online Glücksspiel auf der Seite Online-Casino.de mit echten Erfahrungen von Spieler für Spieler.
Seriöse Online Casinos, ausführliche Testberichte und viele weitere Infos jetzt auf online-casinos.biz lesen.
Über 100 Spielautomaten jetzt auch kostenlos spielen auf OnlineCasino.at ohne Download und ohne Anmeldung.
Die Glücksspiel-Expertin Jytte Theilen zeigt euch auf Casinotest.com Casinos ohne Limit, alle Angebote sind ausführlich getestet & seriös.

Installation

1. Vorwort
2. Installation
3. Probleme und Hinweise
4. Module und Cronjobs
5. Begriffe und Links

1. Vorwort
Der Zweck dieser kleinen Installanleitung ist es, grundlegende Informationen über Scripte zu zeigen. Den meisten ist wohl bekannt, das Scripte manchmal Probleme verursachen. Manchmal scheint es Grundlos zu sein, auch wenn eine winzige Kleinigkeit nicht stimmt, so kann dies schon der Grund für das grosse Problem sein.

Wenn Kontakt mit dem Support gesucht wird, unabhägig welcher Weg, so sollte folgender Text aus der Serviceecke beachtet werden: Probleme und Fehlermeldungen

Soviel zum Vorwort.


2. Installation
Erstmal sollten Sie sich das gewünschte Script aussuchen und herunterladen.
Sie können die ZIP-Datei mit jedem gewöhnlichen (Ent-)Packer entpacken z.B.: 7-ZIP, Filzip, Izarc, TugZip, WinZIP, WinRAR, WinACE, UltimateZIP oder ZipGenius. Sicherlich haben Sie bereits einen passenden Provider der Perl/CGI-Unterstützt gefunden wenn nicht hilft unser kleiner Text "Providersuche" Ihnen sicherlich weiter.

Sie benötigen eine FTP/SFTP-Software. Sollten Sie dies noch nicht auf Ihrem Rechner installiert haben, empfehlen sich folgende Programme: FileZilla, FlashFXP oder SmartFTP.
Alternativ kann auch eine SSH-Software benutzt werden wie PuTTY, KiTTY oder WinSCP.

Sie finden unter "Zugriffsrechte" - links im Menü - eine kurze bebilderte Anleitung, wie ein bestimmtes Chmod gesetzt wird. Diese Anleitungen benötigen Sie nur, wenn in Ihrem FTP-Software die CHMOD-Zahl mit Checkboxen (Kästchen) bestimmt wird.

Wir wollen zuerst einmal auf das generelle Hochladen mit der richtigen Einstellung(Mode) eingehen:

Den ASCII- und Binary-Mode wollen wir etwas näher erläutern. Den Binary-Mode verwenden Sie generell für alles was Bilder, Anwendungen oder sonstige nicht textbasierte Daten sind. (z.B.: Bilder, Java, Flash, Video, etc.)
Der ASCII-Mode ist für alle Arten von Textdateien seien das Datenbanken auch Flatfiles oder normale textbasierte Dateien.

Bei manchen FTP-Software ist die Option zum umschalten von ASCII- zu Binary-Mode und umgekehrt offensichtlich. Woanders ist diese Funktion in den Optionen versteckt und gute FTP-Software erkennt automatisch welcher Mode benötigt wird.
Bei FlashFXP könnte die Option so aussehen:

Sie sollten nun in die "readme.txt" schauen, die normal jedem Script beigelegt ist. Dort stehen zumeist die korrekten Chmods(Zugriffsrechte) und evtl. weitere Anweisungen oder Hinweise darin.

Nun wollen wir auf Scripte eingehen die eine "install.cgi" beinhalten. Diese Datei vereinfacht eine Installation um ein vielfaches.

Laden Sie mit Ihrer FTP-Software alle Dateien (auch die HTML-Dateien!) die keine Bilder sind hoch in der Struktur (normal im Unterverzeichnis "cgi-bin") wie beim Entpacken der ZIP vorhanden und natürlich in ein CGI-fähiges Verzeichnis.
Sofern vorhanden laden Sie nun die Bilder ausserhalb vom "cgi-bin" hoch. (sofern CGI-Scripte nicht auf dem gesamten Speicherplatz ausführbar sind)

Setzen Sie wie in der "readme.txt" angegeben die richtigen Zugriffsrechte(chmods). (siehe oben) Rufen Sie nun die "install.cgi" auf in Ihrem Browser. Sollte das Formular leere Felder beinhalten, so füllen Sie diese nach besten Gewissen aus. (z.B.: ins Feld E-Mail fügen Sie Ihre E-Mailadresse ein)

Jetzt werden wir auf Scripte ohne die Datei "install.cgi" eingehen. Hierbei müssen manchmal Pfade oder sonstige Einstellungen per hand im Script mit einem Text-Editor (z.B.: Notepad++, Wordpad, Kedit, Emacs, ...) bearbeitet werden:

Laden Sie mit Ihrer FTP-Software einfach alle Dateien (auch die HTML-Dateien!) die keine Bilder sind hoch in der Struktur (normal im Unterverzeichnis "cgi-bin") wie beim Entpacken der ZIP vorhanden und natürlich in ein CGI-fähiges Verzeichnis.
Sofern vorhanden laden Sie nun die Bilder ausserhalb vom "cgi-bin" hoch. (sofern CGI-Scripte nicht auf dem gesamten Speicherplatz ausführbar sind)

Setzen Sie wie in der "readme.txt" angegeben die richtigen Zugriffsrechte(chmods). (siehe oben)
Normal sollte in der Anleitung nun weitere Anweisungen stehen. Sollten keine Anweisungen mehr enthalten sein, reicht normalerweise ein Aufruf vom Script im Browser aus. (z.B.: vote.cgi)

Oft benötigen die Skripte einen internen Serverpfad. Um diesen herauszufinden, verwenden Sie am besten ein Sysinfo Skript und nach dem Aufruf der "sysinfo.cgi" sollten Sie "DOCUMENT_ROOT" vorfinden im Browser. (z.B.: /home/www/kunde23/html/)

Wenn Ihre Domain nun "www.meinedomain.tld" heisst und Ihr Script unter "www.meinedomain.de/cgi-bin/umfrage/vote.cgi" liegt, so geben Sie als Beispiel den internen Serverpfad ein "/home/www/kunde23/html/cgi-bin/umfrage".



Nachdem Sie nun alles erforderliche mit Ihrer FTP-Software ausgeführt haben, gehen wir nun zum angenehmen Teil der Installation und zwar das Testen vom Script.

Tippen Sie nun in Ihren Browser die Internet-Adresse zu Ihrem soeben installierten Script mit Dateiname ein. (z.B.: //www.domain.tld/cgi-bin/umfrage/vote.cgi)

Wenn alles richtig verlief, sollte nun das Skript funktionieren und in Ihrem Browser erscheinen.

Sollten Sie noch das Design anpassen wollen, so finden sie einen Text im linken Menü namens "Templates" zur Verfügung.


3. Probleme und Hinweise
I) Nun folgend die häufigsten Ursachen bei einem Perl/CGI-Script wenn ein Problem mit "Timeout" (Zeitüberschreitung) auftritt:
    a) Der Hoster bzw. Provider hat das Timeout zu niedrig eingestellt (z.B. 5 statt 30 Sekunden)
    b) Das Script selbst hat die Zeile "alarm(10);" wodurch das Script nach 10 Sekunden abgebrochen wird. Suchen Sie diesen Eintrag im Script und erhöhen Sie den Wert nach belieben.
    c) Der Browser bricht nach 300 Sekunden die Verbindung ab und der Server das Script gleich mit, daher einfach diesen Wert auf dem eigenen Rechner erhöhen.

II) Nun folgend die häufigsten Ursachen bei einem Perl/CGI-Script wenn ein Problem mit "Forbidden Error 403" auftritt:
    a) falsche Zugriffsrechte(engl. chmod) auf die Dateien (insbesondere install.cgi) gesetzt, auch erfahrene User haben sich schon einmal verklickt oder vertippt und statt 755 , 777 die goldene Mitte 775 erwischt.
    b) übergeordnete Verzeichnisse besitzen das Zugriffsrecht 777 statt normal oder max. 755 (z.B. wenn das Script unter /cgi-bin/adsrvpro liegt, müsste "cgi-bin" und "adsrvpro" max. 755 haben)
    c) wenn das Verzeichnis eindeutig Perl/CGI ausführen kann, und es existiert keine ".htaccess"
    (Achtung ggf. unsichtbar) im Verzeichnis und es wird eine 403 Fehlermeldung ausgegeben, können Sie versuchen in diesem Verzeichnis eine Datei „.htaccess“ anzulegen.
    In diese Datei tragen Sie folgende 2 Zeilen ein:
    AddHandler cgi-script cgi
    AddHandler cgi-script pl

    Eventuell könnten Debugmeldungen helfen, mit weiteren 2 Zeilen:
    AddHandler cgi-script-debug .cgi
    AddHandler cgi-script-debug .pl

III) Nun folgend die häufigsten Ursachen bei einem Perl/CGI-Script wenn ein Problem wie z.B. "Internal Error 500" auftritt:
    a) falsche Zugriffsrechte(engl. chmod) auf die Dateien (insbesondere install.cgi) gesetzt, auch erfahrene User haben sich schon einmal verklickt oder vertippt und statt 755 , 777 die goldene Mitte 775 erwischt.
    b) Die Dateien wurden nicht explizit im ASCII-Mode übertragen, manchmal verursacht die automatische Auswahl der FTP Software das Problem. Stellen Sie manuell auf ASCII in der FTP Software um und wiederholen Sie den Kopiervorgang.
    c) Tipp- oder Schreibfehler im Browser sind auch schon oft vorgekommen, generell wird dann ein Error 404 (Datei nicht gefunden) ausgegeben.
    d) die Dateien sollten beim ersten mal unverändert übertragen werden, um Probleme mit Editoren auszuschließen.
    e) manchmal liegt es auch an der FTP-Software, sofern Sie die Möglichkeit haben installieren Sie das Script mit einer anderen FTP Software.
    f) übergeordnete Verzeichnisse besitzen das Zugriffsrecht 777 statt normal oder max. 755 (z.B. wenn das Script unter /cgi-bin/adsrvpro liegt, müsste "cgi-bin" und "adsrvpro" max. 755 haben)
    g) befindet sich das Script im korrekten Verzeichnis, wo auch Perl/CGI-Scripte ausgeführt werden können?
    h) Manche Hoster wollen (aus welchem Grund auch immer) das in der ersten Zeile vom Script statt "#!/usr/bin/perl" ein -w angehängt wird: z.B. "#!/usr/bin/perl -w". Kann ggf. mit "no warnings;" wieder danach im Skript ausgeschaltet werden.
    Dieses Zeichen steht für Warnungen einschalten, es erhöht nur die Serverauslastung und hat sonst keinerlei andere Funktion.
    i) auch sollte sichergestellt sein, das keine ".htaccess"-Datei oder ähnliches den Aufruf blockiert, oft äußert sich das mit dem Fehler 401 oder 403.
    j) wenn interne Serverpfade manuell eingetragen werden müssen, beginnen Sie diesen Pfad niemals mit //. Mit einem Skript Sysinfo können Sie den Pfad auslesen. Auch Ihr Provider kann Ihnen den Absolutpfad mitteilen.
    Alternativ kann das Skript um folgende Zeilen ab der zweiten Zeile ergänzt werden:
    BEGIN {
    	use FindBin;
    	use lib ("$FindBin::Bin", "$FindBin::Bin/libs");
    }
    k) es sollte sichergestellt werden das die Dateien vollständig und alle übertragen worden, oft haben FTP-Programme eine Funktion wie Dateien mit 0 KB zu Überspringen.
    l) auf manchen Webservern wird seitens der Einstellung nur Datei Endungen ".pl" akzeptiert, wenn Sie im entsprechenden Verzeichnis eine Datei „.htaccess" mit dem Inhalt
    "AddHandler cgi-script cgi" (Ohne Anführungszeichen) erstellen, ist das Problem meist behoben.
    m) bestimmte Scripte wie "Grafikservice" oder "Smileygenerator" benötigen Module wie "GD", diese müssen natürlich auf dem Server vorhanden sein. Sollten Sie Fehlermeldungen die mit GD Modulen in Verbindung gebracht werden können erhalten, setzen Sie sich mit Ihrem Provider in Verbindung und bitten diesen um die nachfolgende Installation des GD Moduls. Die meisten Provider machen das anstandslos und ohne zusätzliche Gebühren.
    Ein Sysinfo Skript gibt Ihnen auch Auskunft über alle installierten Module auf Ihren Webserver. Bei GD könnte wie folgt Aussehen:

    n) das Script verursachte einen Fehler weil der Prozess vom Server gekillt wurde, dies kann passieren wenn der Timeout oder Begrenzung für Scripte zu niedrig eingestellt ist. (ggf. an den Serveradministrator wenden)
    o) generell ist in der Datei install.cgi eine Zeile vorhanden um Skriptfehler im Browser anzuzeigen deaktiviert. Wenn Sie Fehlermeldungen anzeigen wollen müssen Sie in der jeweiligen CGI-Datei (z.B. sbb.cgi, vote.cgi, gb.cgi, quiz.cgi usw.) in die zweite Zeile folgendes ohne Raute(#) einfügen:
    use CGI::Carp "fatalsToBrowser";

    Sollten Sie danach eine Fehlermeldung (Software error) erhalten fügen Sie über der Zeile die beiden 2 Zeilen
    use CGI::Carp "fatalsToBrowser";
    use warnings;

    in die Datei. Achten Sie aber darauf das use warnings; die 2. Zeile in der Datei ist!

    Sollten die Vorgänge zu keinem Ergebnis führen fügen Sie unter den eingefügten Zeilen folgende Zeile in die Datei:
    use diagnostics;

    Sollten die Vorgänge zu keinem Ergebnis führen fügen Sie unter den eingefügten Zeilen folgende Zeile in die Datei:
    use strict;

    Der Schritt n kann nur zutreffen, wenn das Script an sich laufen würde jedoch z.B. ein Pfad, Einstellung oder ein wirklicher Fehler (Bug) aufgetreten ist. Die Unterscheidung zwischen Gross- und Kleinschreibung ist dabei wichtig, daher sollte bei Scripten jeglicher Art darauf geachtet werden.

    p) das Zeilenende sollte immer Unix sein, manche Server verlangen dies explizit. Gute Text-Editor (z.B. Notepad++) haben dafür eine Option womit man das Zeilenende mit Windows, Mac oder Unix speichern kann. Es ist möglich das dadurch die Dateigrösse variiert.


    q) falls Sie im Script am Anfang der Datei eine Einstellung für die E-Mailadresse (meist Absender oder Empfänger) vorfinden, dann müssen Sie ein \ vor dem @ bei der E-Mailadresse mit angeben.
    r) eine Datei namens ".htaccess" befindet sich im Hauptverzeichnis, übergeordneten Verzeichnis oder im selben Verzeichnis wie das Script mit dem folgenden Inhalt:
    ErrorDocument 500 http://www.ihredomain.tld/404.html
    ErrorDocument 403 http://www.ihredomain.tld/404.html
    ErrorDocument 404 http://www.ihredomain.tld/404.html

    Dies zeigt eine komplett falsche Fehlermeldung an, nämlich immer die Datei "404.html", so das nicht zu erkennen ist ob es sich um einen anderen Fehler handelt.
    Besser wäre es z.B. so:
    ErrorDocument 500 http://www.ihredomain.tld/500.html
    ErrorDocument 403 http://www.ihredomain.tld/403.html
    ErrorDocument 404 http://www.ihredomain.tld/404.html

    s) Besitz- und/oder Gruppenrechte stimmen nicht überein, meist wird dies im FTP-Programm als "Owner" und "Group" angezeigt. Es kann unteranderem daran erkannt werden, wenn diese plötzlich von den bisherigen Dateien abweichen.
    t) Die erste Zeile des Scriptes sieht generell so aus #!/usr/bin/perl für Linux-/Unixsysteme seltener muss der Pfad auch #!/usr/bin/local/perl sein.
    Unter Windows könnte der Pfad so aussehen #!C:\Perl\bin\perl.exe oder bei XAMPP #!C:\apachefriends\xampp\perl\bin\perl.exe

Wenn trotz dieser Liste immer noch ein Problem besteht, dann sollte dies Kontakt aufgenommen werden.


4. Module und Cronjobs
I) Einpaar Scripte benötigen bestimmte Module wie z.B. GD, Imager, Image::Magick, LWP::UserAgent oder Net::FTP.
    Die Module befinden sich generell unter search.cpan.org und können per Shell (z.B. über SSH) problemlos auf einem Server installiert werden.
    Die Reihenfolge wäre nach dem Raussuchen vom Modul inkl. Link zu der gepackten Datei (meist tar/gzip) wie folgt: (nach jeder Zeile ENTER drücken)
      wget http://www.webadresse.com/pfad/zu/dem/modul/dateiname.tar.gz
      tar -xzvf dateiname.tar.gz
      cd dateiname
      perl Makefile.PL (oder ./configure)
      make test
      make
      make install
      cd ../
      rm -rf dateiname.tar.gz
      rm -rf dateiname
    Nun sollte das Modul installiert sein, falls alle Abhängigkeiten vom Modul erfüllt waren. Anzumerken sei, das ein ROOT-Zugang meist nötig ist.


II) Cronjob, Cron Daemon und CronService
    Der Cron Daemon ist eine Jobsteuerung bekannt von Unix oder Linux, der Aufgaben in bestimmten Zeitabänden erneut ausführt. Ein Cronjob sollte nicht verwechselt werden mit einem CronService, auch wenn die Ähnlichkeit sicherlich gegeben ist.
    Diese Einträge können in der "crontab" eingepflegt werden, wobei jeder User seine eigene Crontab besitzen kann.

    Eine solche "Tabelle" könnte so aufgebaut sein:

    Minute: Stunde: Tag: Monat: Wochentag: Befehl:
    4 * * * * perl -e 'print "Hallo Welt";'

    Durch die 4 am Anfang und rest Sterne, wird jede Stunde in der vierten Minute der Cronjob ausgeführt.

    Zitat aus der Manpage:
      Die Zeit- und Datumsfelder sind:
      Minute 0-59
      Stunde 0-23
      Tag-des-Monats 1-31
      Monat 1-12 (oder Namen, siehe unten)
      Wochentag 0-7 (0 oder 7 ist Sonntag oder Namen)

      Ein Feld kann ein Stern (*) sein, was immer für "Erster-Letzter" steht.

      Zahlenbereiche sind erlaubt. Bereiche sind zwei Zahlen, getrennt durch einen Bindestrich. Die angegebenen Grenzen sind inklusive.
      Beispielsweise: 8-11 in "Stunde" bewirkt die Ausführung um 8, 9, 10, 11 Uhr.

      Listen sind erlaubt. Eine Liste ist eine Menge von Nummern (oder Bereichen), getrennt durch Kommata.
      Beispiele: "1,2,5,9", "0-4,8-2". (Die Hochkommata nicht mit in die Datei übernehmen, Anmerkung des Übersetzers)

      Schrittweiten können in Verbindung mit Bereichen genutzt werden. Hinter einem Bereich mit "/" angegeben, bestimmt die Schrittweite, ob Werte innerhalb des Bereiches übersprungen werden.
      Beispiel: "0-23/2" kann unter Stunden benutzt werden, um ein spezielles Kommando alle zwei Stunden auszuführen. Die Alternative wäre:
      "0,2,4,6,8,10,12,14,16,18,20,22". Schrittweiten sind auch nach Sternen (*) erlaubt, "alle zwei Stunden" lässt sich auch durch "*/2" beschreiben.

      Namen können für "Monat" und "Wochentag" benutzt werden. Benutzen Sie die ersten drei Buchstaben des entsprechenden Tages oder Monats (Groß-/Kleinschreibung wird nicht beachtet). Bereiche oder Listen sind mit Namen nicht erlaubt.


    Weitere Informationen:
    de.wikipedia.org/wiki/Cronjob
    www.selflinux.org/selflinux/html/cron01.html


5. Begriffe und Links
Um das bei Neulingen bekannte Phänonem das CGI-Interface gehöre zwingend zu Perl aus der Welt zu schaffen, erklärt es eine Suche mit einem Suchdienst sicherlich sinnvoll.

Auch hilfreich sind folgende Links:
cgi.xwolf.de/faq/xwolffaq.shtml
cgi.xwolf.de/tutorial/index.shtml

Ein freies Lexikon ist bei Wikipedia zu finden:
de.wikipedia.org/wiki/Hauptseite

Einige RFCs im Internet:
www.faqs.org/faqs/
www.ietf.org/rfc/