AWStats installieren: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) K (→Vorarbeiten) |
KKeine Bearbeitungszusammenfassung |
||
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 10: | Zeile 10: | ||
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: | ||
< | <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 | ||
</ | </syntaxhighlight> | ||
Datei entpacken: | Datei entpacken: | ||
< | <syntaxhighlight lang=shell> | ||
xyz00-doms:~$ tar -xvzf awstats-7.9.tar.gz | xyz00-doms:~$ tar -xvzf awstats-7.9.tar.gz | ||
</ | </syntaxhighlight> | ||
Die entpackten Ordner verteilen: | Die entpackten Ordner verteilen: | ||
< | <syntaxhighlight lang=shell> | ||
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 | ||
</syntaxhighlight> | |||
Der Rest kann wieder gelöscht werden: | Der Rest kann wieder gelöscht werden: | ||
< | <syntaxhighlight lang=shell> | ||
rm ~/awstats-7.9.tar.gz | |||
rm -rf ~/awstats-7.9 | |||
</ | </syntaxhighlight> | ||
Verzeichnis anlegen, in das awstats seine Daten schreiben kann: | Verzeichnis anlegen, in das awstats seine Daten schreiben kann: | ||
< | <syntaxhighlight lang=shell> | ||
mkdir ~/aw_data | |||
</syntaxhighlight> | |||
</ | |||
=== Konfiguration === | === Konfiguration === | ||
Config-Datei anlegen: | Config-Datei anlegen: | ||
< | <syntaxhighlight lang=shell> | ||
cd ~/doms/stats.example.com/cgi-ssl/awstats | |||
</ | 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: | ||
< | <syntaxhighlight lang=shell> | ||
nano awstats.example.com.conf | |||
</ | </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 64: | Zeile 67: | ||
* Um über den Browser eine Jahressortierung zu ermöglichen: | * Um über den Browser eine Jahressortierung zu ermöglichen: | ||
<syntaxhighlight lang=ini> | |||
AllowFullYearView=3 | |||
</syntaxhighlight> | |||
* Um Client-Informationen über Javascript auszulesen: | * Um Client-Informationen über Javascript auszulesen: | ||
<syntaxhighlight lang=ini> | |||
o MiscTrackerUrl="/js/awstats_misc_tracker.js" | |||
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: | ||
< | <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> | ||
</ | </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 | ||
Zeile 83: | Zeile 89: | ||
Folgende Rechte müssen wir noch setzen: | Folgende Rechte müssen wir noch setzen: | ||
< | <syntaxhighlight lang=shell> | ||
Prüfen: | 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: | Ändern: | ||
chmod 644 cgi-ssl/awstats/awstats.example.com.conf | |||
chmod 777 ~/aw_data | |||
</ | </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]] | |||
=== Cronjob 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 cronjob anlegen: | |||
<syntaxhighlight lang=shell> | |||
chmod a+x ~/bin/awstats.sh | |||
crontab -e | |||
# Folgende Zeile einfügen: | |||
33 3 * * * $HOME/bin/awstats.sh >> /dev/null 2>&1 | |||
</syntaxhighlight> | |||
Es muss eine Zeit nach 2 Uhr Nachts genommen werden, weil gegen 1:45 Uhr die Log Dateien rotiert werden. | |||
== Weitere WebStatistik Tools bei HS == | == Weitere WebStatistik Tools bei HS == | ||
* [[AWStats_installieren|AWStat]] | |||
* [[Goaccess]] | |||
* [[Matomo Installieren|Matomo]] | |||
---- | ---- | ||
[[Kategorie:HSDoku]] | [[Kategorie:HSDoku]] | ||
[[Kategorie:Installationsanleitungen]] | [[Kategorie:Installationsanleitungen]] | ||
[[Kategorie:WebStatistik]] | |||
[[Kategorie:Software]] | [[Kategorie:Software]] |
Aktuelle Version vom 15. Juli 2024, 11:37 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
Cronjob 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 cronjob anlegen:
chmod a+x ~/bin/awstats.sh
crontab -e
# Folgende Zeile einfügen:
33 3 * * * $HOME/bin/awstats.sh >> /dev/null 2>&1
Es muss eine Zeit nach 2 Uhr Nachts genommen werden, weil gegen 1:45 Uhr die Log Dateien rotiert werden.