jsStat - Besucher-Statistik für die eigene Homepage

Installation und Konfiguration der jsStat


Hier geht's zur Download-Seite von jsstat

1. Allgemeines

1.1. Produktbeschreibung in Kürze

Detaillierte graphische Auswertung Ihrer Besucher. Gibt Auskunft über das Herkunftsland des Besuchers, die Herkunftsseite (Referer), Betriebssystem, Browser, Auflösung und Farbtiefe des Clients und sogar ob Java-Script, Java bzw. Flash aktiviert ist. Besucherverfolgung innerhalb der eigenen Homepage möglich. Auf Wunsch wöchentliche Auswertung per Mail. Umfangreiche Admin-Oberfläche. KEINE Datenbank und KEIN Zugriff auf die Logfiles des Webservers erforderlich. Unix/(Windows), deutsch, kostenlos.

1.2. Was kann jsStat?

Die jsStat ist ein Statistik-Script, das ohne die Logfiles vom Webserver auskommt und sehr viele Informationen über den Benutzer liefert und so sehr umfangreiche Auswertungen erlaubt. Dazu muss ein - etwas umfangreicherer (ca. 15 Zeilen) - JavaScript-Code eingebunden werden, welcher dann das CGI-Script aufruft. Mit dem CGI-Script können Sie dann auch die Statistik auswerten.

Das Logfile der jsStat umfasst folgende Informationen:

1.2.1. VisitLog

VisitLog ist ein integriertes Modul der jsStat, welches aber nicht zwingend benutzt werden muss.

Das VisitLog wird in jede HTML-Seite auf der Homepage eingebunden und zeigt, welche Seiten innerhalb des eigenen Internet-Auftritts häufig angesurft werden. So kann man sehen, welche Seiten den Surfer interessieren und welche nicht.

Das VisitLog kann auf zwei Varianten eingebunden werden, welche beliebig vermischt werden können: entweder wird es als transparentes GIF an einer beliebigen Stelle der Seite eingebunden oder es werden die Links abgeändert, so dass Sie zuerst den Eintrag in die jsStat vornehmen und dann auf die gewünschte Seite weiterleiten.

Die Auswertung des VisitLogs erfolgt dann wieder via Administrationsoberfläche der jsStat.

1.2.2. Counter

Nebst dem für den Benutzer unsichtbaren Counter der jsStat kann optional noch ein sichtbarer Counter auf die Homepage eingebunden werden. Das Layout kann dabei völlig frei gewählt werden.

Der Counter funktioniert nur mit einer korrekt installierten jsStat zusammen und kann auf einer beliebigen Seite eingebunden werden.

1.2.3. Online-Counter

Ein weiteres Modul der jsStat ist der Online-Counter. Dieser zeigt, wie viele Besucher im Moment online sind. Auch hier ist das Counter-Layout beliebig definierbar und eine korrekt installierte jsStat gilt als Voraussetzung.

1.3. Für wen ist jsStat?

Die jsStat richtet sich an alle, die keinen Zugriff auf die Logfiles des Webservers haben und trotzdem wissen möchten, wie viele Besucher auf ihrer Homepage sind. Die zusätzlichen Funktionen wie Auswertung der Auflösung, Betriebssystem, Browser u.v.m. macht die jsStat aber auch für Anwender, die Zugriff auf die Logfiles haben, interessant.

Da die jsStat ohne jegliche Datenbank auskommt (Textfile), eignet sich die jsStat nur für Seiten mit maximal 5'000 Besuchern/Monat, da das Logfile nach etwa 25'000 Einträgen von Hand komprimiert werden sollte.

1.4. Voraussetzungen

Der Server, auf dem die jsStat läuft (muss nicht zwingend der Server sein, auf dem auch die Homepage liegt), muss natürlich CGI's verarbeiten können. Nebst CGI-Unterstützung gelten noch folgende Voraussetzungen:

1.5. Lizenzbestimmungen

Dieses Skript basiert auf den STANDARD-Lizenzbedinungen, die Sie unter http://www.cgicorner.ch/download/download-info oder in der Datei cgicorner.txt im ZIP-Archiv finden.

1.6. Disclaimer für Ihre Homepage

Logfiles auszuwerten oder Statistik Tools einzusetzen ist völlig legal. Es gehört jedoch zum guten Ton, dies dem Besucher auch mitzuteilen. Haben Sie auf Ihrer Homepage schon einen Disclaimer? Wenn nicht, steht Ihnen unter http://www.disclaimer.de ein kostenloses Beispiel zur Verfügung.

Ergänzen Sie Ihren Disclaimer z.B. um folgenden Abschnitt:

Durch die Aufrufe der Internet-Seiten erhalten die Autoren Nutzungsdaten. Diese werden ausgewertet, um Statistiken zu erstellen und Trends zu erkennen. Die Autoren achten jedoch streng darauf, dass Nutzungsdaten und Nutzungsprofile nicht mit persönlichen Daten in Verbindung gebracht werden.

2. Installation

2.1. Dateien kopieren und Berechtigungen setzen

Folgende Dateien müssen kopiert und mit den entsprechenden Berechtigungen versehen werden:

 cgi-bin - Verzeichnis, z.B. /cgi-bin/jsstat/
. chmod 755 (od. 777) Verzeichnis
jsstat.cgi chmod 755 Hauptscript
config.pl chmod 700 Konfiguration
data chmod 700 (od. 777) Verzeichnis (Daten)
stat chmod 700 (od. 777) Verzeichnis (Statistik)

 images - Verzeichnis, z.B. /images/
. chmod 755 (od. 777) Verzeichnis
*.jpg, *.gif chmod 644 Bilder

 stat - Verzeichnis, z.B. /cgi-bin/jsstat/stat/
. chmod 755 (od. 777) Verzeichnis
statistik.txt chmod 600 Statistik (*)
visitlog.txt chmod 600 VisitLog (*)
kompstat.txt chmod 600 kompr. Statistik (*)
 Daten-Verzeichnis, z.B. /cgi-bin/jsstat/data/
 .htaccess Datei empfohlen, um Zugriffe via Webbrowser komplett zu verhindern
. chmod 700 (od. 777) Verzeichnis
style.css chmod 600 CSS für Administrationsbereich
brow_ext.css chmod 600 CSS Ext. Statistik
convert.txt chmod 600 Definitionsdatei für Datenkonvertierung
data.txt chmod 600 allgemeine Daten (*)
sdata.txt chmod 600 Session-Informationen (*)
debug.txt chmod 600 Debugging-Infos (*)
error.txt chmod 600 Login-Errors (*)
*.tmp chmod 600 temporäre Daten (*)

Anmerkung: Die mit (*) gekennzeichneten Dateien befinden sich nicht im ZIP-Archiv und werden erst im Betrieb erstellt.

Je nach Konfiguration des Webservers werden keine Bilder aus dem cgi-bin Verzeichnis angezeigt. Deshalb wird empfohlen, die Bilder in ein Verzeichnis ausserhalb von cgi-bin zu kopieren und die entsprechenden Bildpfade im Adminbereich anzupassen. Die Standard-Konfiguration des Scripts geht davon aus, dass Bilder im cgi-bin Verzeichnis angezeigt werden können und auch dort abgespeichert sind. Bei einer Änderung der Installations-Verzeichnisse ist zwingend eine Anpassung im Adminbereich notwendig.

jsstat.cgi benötigt Schreibzugriff auf das Script-Verzeichnis. Dazu ist - je nach Konfiguration des Webservers - ein chmod 777 für das Verzeichnis notwendig. Möglicherweise meldet das Script nach dem chmod 777 jedoch einen "Internal Server Error". Zuerst sollte also immer chmod 755 versucht werden.

2.2. jsStat in Homepage einbinden

Den auf Ihre Domain-Namen angepassten Source-Code für die Einbindung der jsStat, des VisitLogs und des Counters finden Sie inkl. Beschreibung in der Administrationsoberfläche der jsStat.

2.3. Update

Alle notwendigen Schritte für den Update sowie alle Neuerungen finden Sie in der Datei update.txt. Es müssen immer alle TODO-Einträge zwischen der eingesetzten und neuen Version beachtet werden.

Ab Version 3.31 steht zudem ein Update-Script zur Verfügung. Um dieses zu nutzen, gehen Sie wie folgt vor:

3. Konfiguration

3.1. Erster Login

Die Administrationsoberfläche finden Sie unter: http://www.meinserver.ch/cgi-bin/jsstat/jsstat.cgi?action=admin

Beim ersten Login werden - je nach Konfiguration - die Bilder noch nicht geladen. Dies ist normal und muss Sie nicht weiter stören.

Loggen Sie sich nun mit dem Benutzername admin, ohne Passwort ein.

Sie gelangen nun ins Hauptmenü. Klicken Sie auf den Link "jsStat-Einstellungen ändern". Hier können Sie eine Menge Einstellungen der jsStat vornehmen. Achten Sie vor allem auf den korrekten Pfad zu sendmail sowie den Bildern.

Die jsStat sollte jetzt schon funktionieren.

3.2. Administrationsoberfläche

3.2.1. Benutzerrechte verwalten

Sie können in der jsStat maximal drei verschiedene Benutzer definieren, welche unterschiedliche Rechte haben können.

Sie können für jeden Benutzer festlegen, ob er ein Mail erhalten soll, ob er die Benutzer verwalten darf oder nur sich selber, ob er die Statistik nur ansehen oder selber ergänzen kann und noch vieles mehr.

Die Einstellungen im Detail:

Name und Beschreibung Name des Users und kurze Beschreibung. Reine Textdaten, die keine besondere Bedeutung haben.
E-Mail E-Mail Adresse, an welche die wöchentlichen Statistik-Mails geschickt werden.
Mail als Soll an diese E-Mail Adresse das wöchentliche Statistik-Mail geschickt werden? Wenn ja: Soll die E-Mail Adresse im TO oder CC Feld stehen?
User-ID und Passwort User-Daten für den Login auf der Administrations-Oberfläche.
Status Inaktive Accounts können sich weder einloggen, noch erhalten Sie das wöchentliche Mail.
Rechte (nur Admin) Administrator hat volle Zugriffsrechte auf die Benutzerrechte aller drei Benutzer.
Self-Config hat eingeschränkte Rechte für seinen eigenen Account (Name, Beschreibung, User-ID, Passwort, Mail als, Wait-Page).
[keine] hat absolut keine Reche, seine Benutzerdaten zu ändern.
jsStat Settings (nur Admin) Regelt die Zugriffsrechte für den Bereich "jsStat-Einstellungen ändern".
Statistik (nur Admin) Legt fest, ob der Benutzer die jsStat-Statistik (Grafik- oder Textversion) ansehen oder editieren (Einträge und Convert-Optionen) kann. Ebenfalls ist eine komplette Sperrung dieser Funktion möglich.
Mail-Config (nur Admin) Legt fest, ob der Benutzer Änderungen im Bereich "Mail Einstellungen ändern" vornehmen kann.
Ext.Sta. konf. (nur Admin) Darf der Benutzer das Aussehen der externen Statistik verändern (Bereich "Ext. Statistik konfigurieren")?
Stat. kompr. (nur Admin) Definiert, ob der Benutzer die Statistik komprimieren darf (Bereich "Statistik komprimieren")
Stat. löschen (nur Admin) Definiert, ob der Benutzer die Statistik oder Teile davon löschen darf (Bereich "Statistik löschen")
Source-Code (nur Admin) Regelt die Zutrittsrechte für den Bereich "jsStat in Homepage einbinden"
Wait-Page Soll während dem erstellen der graphischen Auswertung die Gedulds-Seite mit der Sanduhr angezeigt werden?

Die Funktion "Kommandozeile" definiert, ob und unter welchem Benutzer das Script via Kommandozeile gesteuert werden kann. Details dazu findet man im Kapitel 6.

3.2.2. jsStat Einstellungen ändern

Wie schon erwähnt, können Sie hier die Pfade zu sendmail und die einzelnen Dateinamen der jsStat definieren. Zudem können Sie noch das Layout der Administrationsoberfläche sowie einige Einstellungen der graphischen Auswertung vornehmen.

Die Einstellungen im Detail:

Pfad zu sendmail Definiert den Pfad zu sendmail, notwendig für den Versand der Statistik per E-Mail
Diverse Images Ablageort und Dateiname der einzelnen Bilder. Browser-Pfad
Ablageort für Daten Speicherort der Daten-Dateien (Convert-File, Error-Log etc.). Per Default data/. UNIX-Pfad
Ablageort für Statistik Speicherort der Statistik-Daten. Per Default stat/. UNIX-Pfad
Ablageort für Counter-GIFs Speicherort der Counter-Grafiken. Per Default digits/. Browser-Pfad
Daten-Datei Datei aktuellen Counterstand und letzter Versand der Statistik.
Session-Daten-Datei Datei für Session-Daten (Session-IDs, letzte Besuche, letzte aufgerufene Seite)
Error-Log Logfile für fehlerhafte Login-Versuche
Statistik-Datei unkomprimierte Statistik-Datei der jsStat
VisitLog-Datei unkomprimierte Statistik-Datei des VisitLogs
Komprimierte Statistik komprimierte Statistik (jsStat und VisitLog)
Convert Datei Daten-Datei für die Zuordnung von Browser, Betriebssystem, Auflösung etc.
Debug-Log In dieser Datei werden nicht Zuordnungsbahre Einträge geloggt. In erster Linie für den Entwickler interessant
CSS für Administrationsbereich CSS-Dateien für die Administrationsoberfläche. Enthält einige Platzhalter für Schriftart, -farbe etc.
Copyright Copyright-Information
Schriftart, Schriftfarbe etc. Definiert das Aussehen der Administrations-Oberfläche
Statistik-Balken, Statistik-Balken (links), Statistik-Balken (rechts) GIF-Dateien für die graphische Auswertung der Statistik.
Statistik-Balken (getrennt) GIF-Dateien für die graphische Auswertung der Statistik. Bei unterbrochenen Balken.
linker Balken und rechter Balken Definiert in der graphischen Auswertung die Breite des linken Textes (Browser, Betriebssystem etc.), bzw. des rechten Textes (Besucher und Prozentanzeige). Diese Daten müssen beispielsweise bei einer grösseren Schriftgrösse verändert werden.
Balken unterbrechen bei x-mal Unterbricht den längsten Balken, wenn dieser x-mal länger ist als der zweitlängste. Dadurch kann eine Statistik, mit einem klaren Favorit und vielen ähnlichen Einträgen detaillierter angezeigt werden.
Anzahl Session-IDs (SID) Anzahl der Session-IDs, die in der Daten-Datei gespeichert werden. Wichtig für Reload-Sperre.
Hier die genaue Erklärung: Die Session-ID setzt sich immer aus der IP-Adresse und des Browsers zusammen (siehe data.txt im Datenverzeichnis). Bei jedem Besuch werden diese zwei Angaben überprüft und es wird kontrolliert, ob bereits eine Session-ID besteht, in der IP und Browser stimmen. Wenn ja tritt die Reload-Sperre in Aktion. Mit dem Eintrag "Session-IDs" kann nun festgelegt werden, wie viele solche IDs behalten werden sollen. Dies legt dann auch die Dauer einer solchen Session fest.
Beispiel: Sie haben auf Ihrer Homepage 10 Besucher pro Stunde und speichern 30 Session-IDs. Daraus folgt, dass eine Session-ID für rund 3 Stunden im Data-File erhalten bleibt und so Benutzer 3 Stunden in der Reload-Sperre sind. Veringert man die Session-IDs auf 3, so bleibt der Eintrag nur noch rund 20 Minuten im Data-File und ein Benutzer wird früher wieder als neuer Benutzer erkannt.
Jetzt Online wenn Besuch innerhalb Legt fest, wie lange ein Besucher als "Jetzt Online" gezählt werden soll. Irrelevant, wenn kein Online-Counter im Einsatz
Reload-Sperre bei Counter Bei deaktivierter Reload-Sperre wird der Counter (egal ob sichtbar oder nicht) immer um eines erhöht, ansonsten nur bei einem neuen Besucher.
Reload-Sperre bei VisitLog Bei aktivierter Reload-Sperre werden zwei oder mehrere identische, aufeinander folgende Seiten nur einmal geloggt.
Bei dem folgenden Beispiel werden alle mit einem Stern markierten Seiten nur bei deaktivierter Reload-Sperre geloggt: Seite 1, Seite 2, Seite 2 (*), Seite 2 (*), Seite 1, Seite 3, Seite 2, Seite 3, Seite 3 (*)
Herkunft (Land) gruppieren wenn < Anzahl, bis wann Herkunftsländer als [Other] in der Statistik erscheinen sollen
Referer gruppieren wenn kleiner Anzahl, bis wann die Referer gruppiert als [Other] in der Statistik erscheinen sollen. Um diese Funktion ganz auszuschalten, geben Sie in dieses Feld 0 (Null) ein.
Suchwörter gruppieren wenn < Anzahl, bis wann gesuchte Wörter in Suchmaschinen als [Other] in der Statistik erscheinen sollen
redirekt nach jsStat zu Redirekt nach der jsStat zu einer bestimmten Seite (leer=transparentes Gif). Wird nur bei der Frame-Version benötigt, wenn der Hintergrund der Seite nicht weiss ist.
VisitLog emuliert jsStat Wenn diese Funktion aktiviert ist werden Besucher, welche nicht via Hauptseite auf die Homepage kommen nicht nur im VisitLog, sondern - so gut wie möglich auch in der jsStat erfasst.
Default Ansicht VisitLog Definiert, ob gruppierte Visitlogs (z.B. ThemaA/Seite1, ThemaA/Seite2, ThemaB/Seite3, ThemaB/Seite4) gruppier angezeigt werden soll (also nur ThemaA und ThemaB und Details erst nach Klick ein Thema) oder detailliert (also Seite schon in Hauptübersicht)
RIPE wenn IP2Host ergebnislos Legt fest, ob der Hostname bei einer erfolglosen IP2Host Abfrage via RIPE-Datenbank aufgelöst werden soll (langsam)
Default Ansicht VisitLog Bei aktivierter Gruppierung kann mit einem / eine Untergruppe definiert werden, z.B. Seite_1, Seite_2/Unterseite_1, Seite_2/Unterseite_2, so dass in der Hauptübersicht nur Seite_1 und Seite_2 sichtbar sind (bei vielen Seiten empfohlen)
Zeitverschiebung Legt die Zeitverschiebung in Stunden fest, z.B. wenn der Server in einer anderen Zeitzone steht und man trotzdem die lokale Zeit loggen möchte.
...... anzeigen Dadurch kann festgelegt werden, welche Informationen in der graphischen Statistik angezeigt werden sollen. Deaktivierte Einträge erhöhen die Aufbaugeschwindigkeit der graphischen Statistik.
Letzte x Besucher im Detail anz. Anzahl Besucher, die in der graphischen Auswertung in einer Tabelle einzeln aufgelistet werden. Ein Klick auf Details zeigt alle Einstellungen des Benutzers inkl. der besuchten Seiten.
3.2.3. Mail Einstellungen ändern

Hier können Sie wählen, ob Sie die Statistik einmal pro Woche per Mail zugeschickt bekommen möchten und ob diese als Textdatei im CSV-Format oder graphisch verschickt werden soll. Sie können hier ebenfalls die Mailtexte, Absender und Betreff und die im Mail angezeigten Auswertungen konfigurieren.

3.2.4. jsStat in Homepage einbinden

Hier können Sie den kompletten Sourcecode ansehen, der benötigt wird, um die jsStat in Ihre Homepage einzubinden.

3.2.5. Ext. Statistik konfigurieren

In diesem Menü können Sie das Aussehen und die Informationen der externen Statistik (kann ohne Login angesehen werden) definieren. Der Titel dieser Seite kann frei gewählt werden. Falls die Seite via PHP-Include oder SSI in eine bestehende Seite eingebunden wird, kann hier auch die URL für weiterführende Links definiert werden. Details dazu im Kapitel 5.

3.2.6. Statistik komprimieren

Um die Auswertung zu optimieren und die Datenmenge zu verkleinern, kann/muss die Statistik von Zeit zu Zeit komprimiert werden. Dies geschieht via Link "Statistik komprimieren". Wenn Sie auf diesen Link klicken, erhalten Sie auch genauere Informationen über diesen Vorgang.

3.2.7. Statistik löschen

In diesem Menü können Sie die gesamte Statistik oder Teile davon definitiv aus der Statistik löschen. Auch bei einer grossen Anzahl Besucher ist es nicht notwendig, die Statistik-Daten zu löschen, sondern mit komprimieren kann jsStat eine beinahe unbeschränkte Anzahl Besucher verwalten.

Dieses Menü bietet auch die Möglichkeit, Datensätze mit einer kleinen Anzahl Besucher aus der komprimierten Statistik zu löschen, z.B. alle Suchbegriffe, welche von weniger als 5 Besuchern gesucht wurden.

3.3. Online Versions-Check

Der Online Versions-Check ist eine einfache Möglichkeit, zu überprüfen, ob die eingesetzte Version noch aktuell ist.

Um den Versions-Check zu starten, muss man auf den Link bei der Versions-Nummer unten rechts klicken. Danach wird eine Verbindung mit dem Server von cgicorner.ch hergestellt. Dazu ist eine Internet-Verbindung notwendig.

Es wird nur die Versionsnummer sowie das letzte Änderungsdatum an den Server von cgicorner.ch übermittelt. cgicorner.ch garantiert, dass keine weiteren Konfigurationseinstellungen oder Benutzerdaten gesendet werden. Der Browser übermittelt möglicherweise noch den Referer, der mögliche Informationen über den Einsatzort liefert. Wenn Sie dies nicht möchten, installieren Sie eine Personal-Firewall, welcher die Referer-Informationen blockiert oder kopieren Sie den Link in die Zwischenablage und fügen Sie ihn manuell in die Browser-Adressleiste ein.

Als zweite Möglichkeit steht unter http://www.cgicorner.ch/cgi-bin/jsnews/jsnews.cgi ein Newsletter zur Verfügung. Nach der Anmeldung werden Sie über neue Versionen ihrer gewählten jsStyle-Produkte bequem per Mail informiert.

4. Auswertungen

Der Wichtigste Bestandteil nebst dem Erfassen der Daten ist natürlich die Auswertung. Auf der Administrationsoberfläche kann man die Daten in Textform und auch graphisch auswerten. Zudem wird einmal pro Woche ein Mail mit der aktuellen Auswertung versendet. Wahlweise als CSV-Datei oder ebenfalls graphisch.

4.1. Text

Die Textauswertung zeigt die einzelnen Einträge entweder in Tabellenform oder in einer Detailansicht (nur jsStat). Der Benutzer kann dabei wählen, welche Spalten er sehen will und die Einträge nach beliebigen Kriterien (Zeitraum, Text) filtern. In der Textform können einzelne Einträge auch gelöscht oder editiert werden. Die Textauswertung eignet sich vor allem dann, wenn mal einen einzelnen Eintrag ansehen, editieren oder löschen möchte.

4.2. graphisch

Die graphische Auswertung ist das eigentliche Kernstück der jsStat. Hierbei werden alle Daten in mehreren Balkendiagrammen graphisch dargestellt. Natürlich lassen sich auch diese Daten wieder nach einem bestimmten Zeitraum oder Text filtern. Diese Auswertung eigent sich besondern, wenn man einen Überblick über Daten mehrerer Besucher erhalten möchte.

4.2.1. Externe Statistik

Die externe Statistik beinhaltet die identischen Funktionen wie die graphische Statistik, ist jedoch ohne Identifizierung zugänglich. Sie können frei wählen, welche Informationen so frei zugänglich sein sollen. So können Sie Ihren Besuchern, Werbepartnern oder wem auch immer genaue Daten zu Ihrer Homepage liefern.

4.3. per Mail

Auf Wunsch können Sie die Statistik einmal pro Woche per Mail erhalten. Da viele Hoster keine Cron-Jobs anbieten, wird die Statistik jeweils beim ersten Besuch der neuen Woche versendet. Die Statistik kann auf zwei Arten versendet werden:

4.3.1. graphisch

Sie erhalten eine graphische Auswertung direkt im Mail. Diese beinhaltet alle Informationen, die auch in der graphischen Auswertung der Statistik zugänglich sind. Dieses Mail verschafft Ihnen einen guten Überblick über Ihre aktuelle Besucherzahl (z.B. mittels aktuellem Counterstand oder der Statistik "Besuche letzte Woche"). Damit die Statistik einwandfrei dargestellt werden kann, benötigen Sie einen HTML fähigen Mailclient.

4.3.2. als CSV

Sie erhalten die Rohdaten der Statistik als Anlage in zwei CSV (Tabulator getrennt), welche in viele Programme importiert werden können. So können Sie die Statistik z.B. in eine Excel-Tabelle einlesen und so Ihre Wunschdiagramme erzeugen. Beachten Sie bitte, dass - je nach Anzahl unkomprimierter Einträge - die Anhänge eine beachtliche Grösse annehmen können.

5. Externe Statistik in eine vorhandene Datei einbinden

Die externe Statistik kann in eine bestehende Datei integriert werden. Damit kann sie dem Besucher im Layout der restlichen Homepage präsentiert werden. Dies kann entweder über Server-Side-Includes (SSI) oder einen PHP-Include erfolgen. In beiden Fällen muss der Query-String dem Script wieder übergeben werden.

Ebenfalls muss unter "Externe Statistik konfigurieren" bei den Bild-Pfaden eine absolute URL angegeben werden (z.B. "/images/jsstat/sortanz.gif").

5.1. Server Side Includes (SSI)

Eine .shtml-Datei für die externe Statistik könnte etwa so aussehen:

<html>
<head>
  <title>Statistik von www.meinserver.ch</title>
</head>
<body>

  <p>Hier kann ein Header-Text folgen, z.B. der Beginn einer Tabelle, die Navigation oder ein Einleitungstext...</p>

  <!--#include virtual="/cgi-bin/jsstat/jsstat.cgi?$QUERY_STRING"-->

  <p>Am Schluss kann natürlich auch noch ein Text folgen, z.B. ein Tabellenschluss oder ähnliches</p>

</body>
</html>

Unter "Externe Statistik konfigurieren" - "URL der externen Statistik" müsste in diesem Beispiel http://www.meinserver.ch/statistik.shtml? eingetragen werden (inkl. dem "?").

Die URL für die Statistik, welche als Link in die Seite integriert werden kann, lautet dann: http://www.meinserver.ch/statistik.shtml?action=ExtStatView

5.2. PHP-Include

Mit PHP könnte das ganze so aussehen:

<html>
<head>
  <title>Statistik von www.meinserver.ch</title>
</head>
<body>

  <p>Hier kann ein Header-Text folgen, z.B. der Beginn einer Tabelle, die Navigation oder ein Einleitungstext...</p>

  <?php
  $queryString="";
  foreach ($_GET as $key => $val)
    { $queryString.="$key=$val&"; }
  foreach ($_POST as $key => $val)
    { $queryString.="$key=$val&"; }

  $result=file("http://www.meinserver.ch/cgi-bin/jsstat/jsstat.cgi?".$queryString);
  foreach ($result as $line)
    { echo $line; }
  ?>

  <p>Am Schluss kann natürlich auch noch ein Text folgen, z.B. ein Tabellenschluss oder ähnliches</p>

</body>
</html>

Unter "Externe Statistik konfigurieren" - "URL der externen Statistik" müsste in diesem Beispiel http://www.meinserver.ch/statistik.php? eingetragen werden (inkl. dem "?").

Die URL für die Statistik, welche als Link in die Seite integriert werden kann, lautet dann: http://www.meinserver.ch/statistik.php?action=ExtStatView

5.3. IFRAME

Auf jeden Fall lässt sich die externe Statistik auch via IFRAME in eine bestehende Seite integrieren. Da jedoch die Höhe der Statistik nicht immer identisch ist, ist es möglich, dass man entweder scrollen muss oder am Ende viel Freiraum hat. Eine Datei mit einem IFRAME könnte so aussehen:

<html>
<head>
  <title>Statistik von www.meinserver.ch</title>
</head>
<body>

  <p>Hier kann ein Header-Text folgen, z.B. der Beginn einer Tabelle, die Navigation oder ein Einleitungstext...</p>

  <iframe src="/cgi-bin/jsstat/jsstat.cgi?action=ExtStatView" width="600" height="2500" frameborder="0"></iframe>

  <p>Am Schluss kann natürlich auch noch ein Text folgen, z.B. ein Tabellenschluss oder ähnliches</p>

</body>
</html>

Das Feld "URL der externen Statistik" unter "Externe Statistik konfigurieren" müsste in diesem Beispiel leer gelassen werden.

Die HTML-Seite, welche das IFRAME enthält, kann dann ohne weitere Parameter aufgerufen werden.

6. jsStat via Kommandozeile steuern

jsStat kann auch via Kommandozeile gesteuert werden. Dazu muss in der Benutzerverwaltung ein Benutzer definiert werden, unter dem diese Aufgaben laufen. Da für die Steuerung via Kommandozeile keine Passwörter notwendig sind, stellt diese Funktion natürlich auch ein gewisses Risiko dar und ist in der Standard-Einstellung deaktiviert.

Der Aufruf des Scriptes erfolgt mit Feldname=Wert, also beispielsweise

/path/to/jsstat/jsstat.cgi action=kompstat typ=docompress all=yes

um alle Einträge in der Statistik zu komprimieren. So ist es beispielsweise möglich, via Cronjob die Statistik automatisch zu komprimieren, zusätzliche Mails zu versenden, die externe Statistik abzurufen und scriptgesteuert in eine eigene Seite einzubinden u.v.m.

Für den Aufruf des Scripts werden alle Felder ausser dem Feld ASID benötigt.



Copyright © 2008 by Jürg Sommer, scripts@cgicorner.ch
http://www.cgicorner.ch
Letzte Änderung: 10. März 2008