AWStats installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
 
(12 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 8: Zeile 8:


Als Paketadmin die Logfiles per Eintrag in die config.ini auf die entsprechende Domain verteilen (http_log_directory = domain)
Als Paketadmin die Logfiles per Eintrag in die config.ini auf die entsprechende Domain verteilen (http_log_directory = domain)
siehe [[Logging#Konfigurationsm.C3.B6glichkeiten|Traffic logs]].
siehe [[Logging#Konfigurationsm.C3.B6glichkeiten|Traffic logs]].
In HSAdmin (https://admin.hostsharing.net) wird eine Domain mit dem Namen stats.example.com angelegt und bei "Apache-Scripting-Optionen" wird die Option "CGI-Funktion" aktiviert.


=== Download und Entpacken ===
=== Download und Entpacken ===


Login als Domainadmin, in unserem Fall heißt dieser xyz00-doms. Auf http://www.awstats.org/#DOWNLOAD findet sich die aktuelle Version. In unserem Beispiel verwenden wir die Version 7.9 und laden sie direkt mit wget ins Home-Verzeichnis:
Login als Domainadmin, in unserem Fall heißt dieser xyz00-doms. Auf http://www.awstats.org/#DOWNLOAD findet sich die aktuelle Version. In unserem Beispiel verwenden wir die Version 7.9 und laden sie direkt mit wget ins Home-Verzeichnis:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ wget http://prdownloads.sourceforge.net/awstats/awstats-7.9.tar.gz
xyz00-doms:~$ wget http://prdownloads.sourceforge.net/awstats/awstats-7.9.tar.gz
</pre>
</syntaxhighlight>
Datei entpacken:
Datei entpacken:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ tar -xvzf awstats-7.9.tar.gz
xyz00-doms:~$ tar -xvzf awstats-7.9.tar.gz
</pre>
</syntaxhighlight>
Die entpackten Ordner verteilen:
Die entpackten Ordner verteilen:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ mv awstats-7.9/wwwroot/cgi-bin/ doms/example.com/cgi-ssl/awstats
cd doms/stats.example.com
xyz00-doms:~$ mv awstats-7.9/wwwroot/icon doms/example.com/subs-ssl/www/icon
mv ~/awstats-7.9/wwwroot/cgi-bin/ cgi-ssl/awstats
xyz00-doms:~$ mv awstats-7.9/wwwroot/js doms/example.com/subs-ssl/www/js
mv ~/awstats-7.9/wwwroot/icon htdocs-ssl
</pre>
mv ~/awstats-7.9/wwwroot/js htdocs-ssl
</syntaxhighlight>
Der Rest kann wieder gelöscht werden:
Der Rest kann wieder gelöscht werden:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ rm awstats-7.9.tar.gz
rm ~/awstats-7.9.tar.gz
xyz00-doms:~$ rm -rf awstats-7.9
rm -rf ~/awstats-7.9
</pre>
</syntaxhighlight>
Verzeichnis anlegen, in das awstats seine Daten schreiben kann:
Verzeichnis anlegen, in das awstats seine Daten schreiben kann:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ mkdir aw_data
mkdir ~/aw_data
</pre>
</syntaxhighlight>
Verzeichnis anlegen, in das die erzeugten Statistiken abgelegt werden:
<pre>
xyz00-doms:~$ mkdir doms/example.com/subs-ssl/www/statistik
</pre>


=== Konfiguration ===
=== Konfiguration ===
Config-Datei anlegen:
Config-Datei anlegen:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ cp doms/example.com/cgi-ssl/awstats/awstats.model.conf doms/example.com/cgi-ssl/awstats/awstats.example.com.conf
cd ~/doms/stats.example.com/cgi-ssl/awstats
</pre>
cp awstats.model.conf awstats.example.com.conf
</syntaxhighlight>


Config-Datei zum Editieren öffnen, z.b. mit nano:
Config-Datei zum Editieren öffnen, z.b. mit nano:
<pre>
<syntaxhighlight lang=shell>
xyz00-doms:~$ nano doms/example.com/cgi-ssl/awstats/awstats.example.com.conf
nano awstats.example.com.conf
</pre>
</syntaxhighlight>


Folgende Einträge sind anzupassen:
Folgende Einträge sind anzupassen:


* LogFile="gzip -cd /home/doms/example.com/var/*example.com-%YYYY-0%MM-0%DD-0*|"
* LogFile="gzip -cd /home/doms/example.com/var/web-example.com-%YYYY-0%MM-0%DD-0*|"
* SiteDomain="www.example.com"
** oder wenn die Webseite über www läuft:
** LogFile="gzip -cd /home/doms/example.com/var/web-www.example.com-%YYYY-0%MM-0%DD-0*|"
* SiteDomain="example.com"
** oder wenn die Webseite über www läuft: SiteDomain="www.example.com"
* HostAliases="localhost 127.0.0.1 REGEX[example\.com$]"
* HostAliases="localhost 127.0.0.1 REGEX[example\.com$]"
* DirData="/home/pacs/xyz00/aw_data/"
* DirData="/home/pacs/xyz00/aw_data/"
Zeile 63: Zeile 67:


* Um über den Browser eine Jahressortierung zu ermöglichen:
* Um über den Browser eine Jahressortierung zu ermöglichen:
  AllowFullYearView=3
<syntaxhighlight lang=ini>
AllowFullYearView=3
</syntaxhighlight>
* Um Client-Informationen über Javascript auszulesen:
* Um Client-Informationen über Javascript auszulesen:
  o MiscTrackerUrl="/js/awstats_misc_tracker.js"
<syntaxhighlight lang=ini>
  o ShowScreenSizeStats=1
o MiscTrackerUrl="/js/awstats_misc_tracker.js"
  o ShowMiscStats=anjdfrqwp
o ShowScreenSizeStats=1
 
o ShowMiscStats=anjdfrqwp
</syntaxhighlight>
(Hinweis: dazu muss die Startseite (index.html) innerhalb des body-tags um folgenden Eintrag ergänzt werden:
(Hinweis: dazu muss die Startseite (index.html) innerhalb des body-tags um folgenden Eintrag ergänzt werden:
<pre>
<syntaxhighlight lang=html line>
<script language=javascript src="/js/awstats_misc_tracker.js"></script>
<script language=javascript src="/js/awstats_misc_tracker.js"></script>
<noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript>
<noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript>
</pre>
</syntaxhighlight>


Weiterführende Informationen zu den Einträgen in der Config-Datei sind hier zu finden: http://awstats.sourceforge.net/docs/awstats_config.html
Weiterführende Informationen zu den Einträgen in der Config-Datei sind hier zu finden: http://awstats.sourceforge.net/docs/awstats_config.html


Config-Datei unter cgi-ssl/awstats/awstats.example.com.conf abspeichern.
Config-Datei unter cgi-ssl/awstats/awstats.example.com.conf abspeichern.
=== Massen-Import der Tage vor Inbetriebnahme von awstats ===


=== Rechtevergabe ===
=== Rechtevergabe ===


Folgende Rechte müssen wir noch setzen:
Folgende Rechte müssen wir noch setzen:
<pre>
<syntaxhighlight lang=shell>
Prüfen:
Prüfen:
xyz00-doms:~$ chmod 755 doms/example.com/cgi-ssl/awstats/lang
cd doms/example.com
xyz00-doms:~$ chmod 755 doms/example.com/cgi-ssl/awstats/lib
chmod 755 cgi-ssl/awstats/lang
xyz00-doms:~$ chmod 755 doms/example.com/cgi-ssl/awstats/plugins
chmod 755 cgi-ssl/awstats/lib
xyz00-doms:~$ chmod 755 doms/example.com/cgi-ssl/awstats/awstats.pl
chmod 755 cgi-ssl/awstats/plugins
xyz00-doms:~$ chmod 755 doms/example.com/cgi-ssl/awstats/awredir.pl  
chmod 755 cgi-ssl/awstats/awstats.pl
xyz00-doms:~$ chmod 755 doms/example.com/subs-ssl/www/icon
chmod 755 cgi-ssl/awstats/awredir.pl  
xyz00-doms:~$ chmod 755 doms/example.com/subs-ssl/www/js


Ändern:
Ändern:
xyz00-doms:~$ chmod 644 doms/example.com/cgi-ssl/awstats/awstats.example.com.conf
chmod 644 cgi-ssl/awstats/awstats.example.com.conf
xyz00-doms:~$ chmod 777 aw_data
chmod 777 ~/aw_data
</pre>
</syntaxhighlight>
 
=== Massen-Import der Tage vor Inbetriebnahme von awstats ===
<syntaxhighlight lang=shell>
mkdir ~/tmp
cd ~/tmp
cp ~/var/web-www.example.org-* .
for f in web*; do gunzip $f; done
for f in *.log; do export domain=example.org; $HOME/doms/example.com/cgi-ssl/awstats/awstats.pl -config=$domain -update -LogFile=$f; done
rm -Rf ~/tmp/*.log
</syntaxhighlight>
=== Seite einrichten ===
 
Die folgende index.html Datei ermöglicht einen einfachen Zugriff auf die AWStats Oberfläche:
 
<syntaxhighlight lang=shell>
nano ~/doms/stats.example.org/htdocs-ssl/index.html
</syntaxhighlight>
 
mit diesem Inhalt:
<syntaxhighlight lang=html line>
<html>
    <body>
        <h1>AWStats</h1>
        <a href='/awstats/awstats.pl?config=example.com'>example.com</a><br/>
        <a href='/awstats/awstats.pl?config=example2.com'>example2.com</a><br/>
    </body>
</html>
</syntaxhighlight>
 
Im gleichen Verzeichnis sollte noch eine htaccess Datei liegen:
<syntaxhighlight lang=shell>
nano ~/doms/stats.example.com/htdocs-ssl/.htaccess
</syntaxhighlight>
 
mit diesem Inhalt:
 
<syntaxhighlight lang=apache line>
DirectoryIndex index.html
RewriteEngine on
RewriteBase /
RewriteRule ^awstats/(.*) https://stats.example.com/cgi-bin/awstats/$1 [proxy,last]
</syntaxhighlight>
 
=== Statistik Seite mit Passwort schützen ===
 
Dann sollte die Seite noch mit einem Passwort geschützt werden: siehe die Erklärung auf [[.htaccess#Passwortschutz_für_Dateien|.htaccess Passwortschutz für Dateien]]
 
=== Systemd Timer für zukünftige automatische Ausführung einrichten ===
 
Skript anlegen:
 
<syntaxhighlight lang=shell>
mkdir ~/bin
nano ~/bin/awstats.sh
</syntaxhighlight>
 
Diesen Inhalt einfügen, ggfs. mehrere Domains einfügen:
 
<syntaxhighlight lang=shell line>
#!/bin/bash
 
function processWebLogs
{
  domain=$1
  $HOME/doms/stats.example.com/cgi-ssl/awstats/awstats.pl -config=$domain -update
}
 
processWebLogs example.com
# processWebLogs example.org
</syntaxhighlight>
 
Dann das Skript ausführbar machen und den timer anlegen:
 
~/.config/systemd/user/awstats.service
<syntaxhighlight lang=ini>
[Unit]
Description=create web statistics
 
[Service]
Type=oneshot
ExecStart=/home/pacs/xyz99/bin/awstats.sh
</syntaxhighlight>


=== Ausführen und Automatisieren ===
~/.config/systemd/user/awstats.timer
<syntaxhighlight lang=ini>
[Unit]
Description=create web statistics


Falls schon ein Log-file für den aktuellen Tag vorhanden ist, kann
[Timer]
OnCalendar=3:33
Persistent=True


awstats durch folgenden Befehl gestartet werden (alles in einer Zeile!):
[Install]
<pre>
WantedBy=timers.target
xyz00-doms:~$ /home/doms/example.com/cgi-ssl/awstats/awstats.pl -config=example.com -update -output > /home/doms/example.com/subs-ssl/www/statistik/index.html
</syntaxhighlight>
</pre>


Diesen Befehl kann man z.B. mit dem [[Eventhandler]] @weblogsplit verbinden. Mit Cronjobs lässt sich der Aufruf natürlich auch automatisieren.
Es muss eine Zeit nach 2 Uhr Nachts genommen werden, weil gegen 1:45 Uhr die Log Dateien rotiert werden.


Die Statistiken sind dann im web unter www.example.com/statistik/ erreichbar.
Timer aktivieren und starten:
<syntaxhighlight lang=shell>
$ chmod a+x ~/bin/awstats.sh
$ systemctl --user enable awstats.timer
$ systemctl --user start awstats.timer
</syntaxhighlight>


== Weitere WebStatistik Tools bei HS ==
== Weitere WebStatistik Tools bei HS ==


* [[Analog_installieren|Analog]]
* [[AWStats_installieren|AWStat]]
* [[AWStats_installieren|AWStat]]
* [[Goaccess]]
* [[Visitors]]
* [[Matomo Installieren|Matomo]]
* [[Goaccess]]
* [[Matomo Installieren|Matomo]]


----
----
[[Kategorie:HSDoku]]
[[Kategorie:HSDoku]]
[[Kategorie:Installationsanleitungen]]
[[Kategorie:Installationsanleitungen]]
[[Kategorie:WebStatistik]]
[[Kategorie:Software]]
[[Kategorie:Software]]

Aktuelle Version vom 3. Dezember 2024, 13:34 Uhr

AWStats

AWStats ist ein Tool zur graphischen Auswertung von Logfiles.

mehr Infos unter http://www.awstats.org/

Vorarbeiten

Als Paketadmin die Logfiles per Eintrag in die config.ini auf die entsprechende Domain verteilen (http_log_directory = domain)

siehe Traffic logs.

In HSAdmin (https://admin.hostsharing.net) wird eine Domain mit dem Namen stats.example.com angelegt und bei "Apache-Scripting-Optionen" wird die Option "CGI-Funktion" aktiviert.

Download und Entpacken

Login als Domainadmin, in unserem Fall heißt dieser xyz00-doms. Auf http://www.awstats.org/#DOWNLOAD findet sich die aktuelle Version. In unserem Beispiel verwenden wir die Version 7.9 und laden sie direkt mit wget ins Home-Verzeichnis:

xyz00-doms:~$ wget http://prdownloads.sourceforge.net/awstats/awstats-7.9.tar.gz

Datei entpacken:

xyz00-doms:~$ tar -xvzf awstats-7.9.tar.gz

Die entpackten Ordner verteilen:

cd doms/stats.example.com
mv ~/awstats-7.9/wwwroot/cgi-bin/ cgi-ssl/awstats
mv ~/awstats-7.9/wwwroot/icon htdocs-ssl
mv ~/awstats-7.9/wwwroot/js htdocs-ssl

Der Rest kann wieder gelöscht werden:

rm ~/awstats-7.9.tar.gz
rm -rf ~/awstats-7.9

Verzeichnis anlegen, in das awstats seine Daten schreiben kann:

mkdir ~/aw_data

Konfiguration

Config-Datei anlegen:

cd ~/doms/stats.example.com/cgi-ssl/awstats
cp awstats.model.conf awstats.example.com.conf

Config-Datei zum Editieren öffnen, z.b. mit nano:

nano awstats.example.com.conf

Folgende Einträge sind anzupassen:

  • LogFile="gzip -cd /home/doms/example.com/var/web-example.com-%YYYY-0%MM-0%DD-0*|"
    • oder wenn die Webseite über www läuft:
    • LogFile="gzip -cd /home/doms/example.com/var/web-www.example.com-%YYYY-0%MM-0%DD-0*|"
  • SiteDomain="example.com"
    • oder wenn die Webseite über www läuft: SiteDomain="www.example.com"
  • HostAliases="localhost 127.0.0.1 REGEX[example\.com$]"
  • DirData="/home/pacs/xyz00/aw_data/"
  • DirCgi="/cgi-bin/awstats"
  • Lang="de"

Die wichtigsten weiteren Möglichkeiten:

  • Um über den Browser eine Jahressortierung zu ermöglichen:
AllowFullYearView=3
  • Um Client-Informationen über Javascript auszulesen:
o MiscTrackerUrl="/js/awstats_misc_tracker.js"
o ShowScreenSizeStats=1
o ShowMiscStats=anjdfrqwp

(Hinweis: dazu muss die Startseite (index.html) innerhalb des body-tags um folgenden Eintrag ergänzt werden:

<script language=javascript src="/js/awstats_misc_tracker.js"></script>
<noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript>

Weiterführende Informationen zu den Einträgen in der Config-Datei sind hier zu finden: http://awstats.sourceforge.net/docs/awstats_config.html

Config-Datei unter cgi-ssl/awstats/awstats.example.com.conf abspeichern.

Rechtevergabe

Folgende Rechte müssen wir noch setzen:

Prüfen:
cd doms/example.com
chmod 755 cgi-ssl/awstats/lang
chmod 755 cgi-ssl/awstats/lib
chmod 755 cgi-ssl/awstats/plugins
chmod 755 cgi-ssl/awstats/awstats.pl
chmod 755 cgi-ssl/awstats/awredir.pl 

Ändern:
chmod 644 cgi-ssl/awstats/awstats.example.com.conf
chmod 777 ~/aw_data

Massen-Import der Tage vor Inbetriebnahme von awstats

mkdir ~/tmp
cd ~/tmp
cp ~/var/web-www.example.org-* .
for f in web*; do gunzip $f; done
for f in *.log; do export domain=example.org; $HOME/doms/example.com/cgi-ssl/awstats/awstats.pl -config=$domain -update -LogFile=$f; done
rm -Rf ~/tmp/*.log

Seite einrichten

Die folgende index.html Datei ermöglicht einen einfachen Zugriff auf die AWStats Oberfläche:

nano ~/doms/stats.example.org/htdocs-ssl/index.html

mit diesem Inhalt:

<html>
    <body>
        <h1>AWStats</h1>
        <a href='/awstats/awstats.pl?config=example.com'>example.com</a><br/>
        <a href='/awstats/awstats.pl?config=example2.com'>example2.com</a><br/>
    </body>
</html>

Im gleichen Verzeichnis sollte noch eine htaccess Datei liegen:

nano ~/doms/stats.example.com/htdocs-ssl/.htaccess

mit diesem Inhalt:

DirectoryIndex index.html
RewriteEngine on
RewriteBase /
RewriteRule ^awstats/(.*) https://stats.example.com/cgi-bin/awstats/$1 [proxy,last]

Statistik Seite mit Passwort schützen

Dann sollte die Seite noch mit einem Passwort geschützt werden: siehe die Erklärung auf .htaccess Passwortschutz für Dateien

Systemd Timer für zukünftige automatische Ausführung einrichten

Skript anlegen:

mkdir ~/bin
nano ~/bin/awstats.sh

Diesen Inhalt einfügen, ggfs. mehrere Domains einfügen:

#!/bin/bash

function processWebLogs
{
   domain=$1
   $HOME/doms/stats.example.com/cgi-ssl/awstats/awstats.pl -config=$domain -update
}

processWebLogs example.com
# processWebLogs example.org

Dann das Skript ausführbar machen und den timer anlegen:

~/.config/systemd/user/awstats.service

[Unit]
Description=create web statistics

[Service]
Type=oneshot
ExecStart=/home/pacs/xyz99/bin/awstats.sh

~/.config/systemd/user/awstats.timer

[Unit]
Description=create web statistics

[Timer]
OnCalendar=3:33
Persistent=True

[Install]
WantedBy=timers.target

Es muss eine Zeit nach 2 Uhr Nachts genommen werden, weil gegen 1:45 Uhr die Log Dateien rotiert werden.

Timer aktivieren und starten:

$ chmod a+x ~/bin/awstats.sh
$ systemctl --user enable awstats.timer
$ systemctl --user start awstats.timer

Weitere WebStatistik Tools bei HS