Jump to content
Froxlor Forum
  • 0

Awstats Source-Version


franky1973

Question

Vielleicht kann mir hier jemand helfen. Ich versuche auf meinem Webserver (Debian 7) Awstats 7.3 zu verwenden. Nun gibt mir Froxlor aber vor eine Standardinstallation via apt-get (das w?re Awstats 7.0) verwenden zu wollen, die ganz andere Strukturen anlegt und Verweise. Gibt es eine wie auch immer geartete Anleitung, wie ich Awstats aus der Source installieren kann und es dann mit Froxlor verkn?pfe?

 

Vielen Dank schon mal im Voraus

 

Gr??e

 

Franky

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

Awstats ist vollkommen losgel?st von Froxlor. Du kannst in den Froxlor-Einstellungen die entscheidenden Pfade alle anpassen. Wie du awstats nun manuell kompilierst und installierst entnimmst du bitte deiner googlesuche ;) Das d?rfte nicht allzuschwer sein

Link to comment
Share on other sites

Ok - ich hab mir das Ganze mal genau durchgeschaut und habe es auch zum Laufen gebracht. Musste allerdings 2 Froxlor-Dateien patchen weil es nicht ganz so trivial ist. Ich setze Debian 7 mit lighttpd ein, das soweit noch als Zusatzinformation. Awstats ist jetzt neu unter /usr/local/awstats installiert aus der Source. In den Froxlor-Einstellungen ergeben sich somit folgende Einstellungen f?r die Statistik:

 

Pfad zu AWStats 'awstats_buildstaticpages.pl' -> /usr/local/awstats/tools/

 

Pfad zu AWStats 'awstats.pl' -> /usr/local/awstats/wwwroot/cgi-bin/

 

AWStats Konfigurations-Pfad -> /usr/local/awstats/wwwroot/cgi-bin/

 

Pfad zum AWstats-Icon-Ordner -> /usr/local/awstats/wwwroot/icon/

 

Folgende Patches habe ich gemacht:

 

1. cron_tasks.inc.http.20.lighttpd.php

 

Hier musste ich die zus?tzlich erforderlichen alias-urls und auch die erforderliche script-url eintragen.

Durch die Kapselung durch Bedingungen hier ganze 4 mal.

Leider konnte ich die nur hardcoded machen, da Froxlor f?r diese Werte im Moment noch keine Felder vorsieht.

Im Einzelnen sind dies:

/awstatsclasses sowie /awstatscss und der script-alias /awstats/
 
Somit wird aus
$stats_text.= '  alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']).'/" )' . "\n";
$stats_text.= '  alias.url += ( "/awstats-icon" => "' . makeCorrectDir(Settings::Get('system.awstats_icons')) . '" )' . "\n";

dann

$stats_text.= '  alias.url = ( "/awstats/" => "'.makeCorrectFile($domain['customerroot'] . '/awstats/' . $domain['domain']).'/" )' . "\n";
$stats_text.= '  alias.url += ( "/awstats-icon" => "' . makeCorrectDir(Settings::Get('system.awstats_icons')) . '" )' . "\n";
$stats_text.= '  alias.url += ( "/awstatsclasses" => "/usr/local/awstats/wwwroot/classes/" )' . "\n";
$stats_text.= '  alias.url += ( "/awstatscss" => "/usr/local/awstats/wwwroot/css/" )' . "\n";
$stats_text.= '  cgi.assign = ( "/awstats/" => "/usr/local/awstats/wwwroot/cgi-bin/" )' . "\n";
 
2. cron_traffic.inc.functions.php
 
Hier muss nur ein ?bergabewert angeh?ngt werden, damit awstats_buildstaticpages.pl die Bilder richtig verlinkt
Zeile 46
aus
safe_exec($awbsp.' -awstatsprog='.escapeshellarg($awprog).' -update -month=' . date('n') . ' -year=' . date('Y') . ' -config=' . $domain . ' -dir='.escapeshellarg($outputdir));

wird

safe_exec($awbsp.' -awstatsprog='.escapeshellarg($awprog).' -update -month=' . date('n') . ' -year=' . date('Y') . ' -config=' . $domain . ' -dir='.escapeshellarg($outputdir) . ' -diricons=/awstats-icon');

Jetzt funktioniert alles wunderbar - die Statistiken werden korrekt erzeugt und angezeigt inkl. aller Grafiken.

 

Das hier nur als Information hoffentlich f?r zuk?nftige Versionen oder Probleml?sung, falls jemand das gleiche Problem hat.

Link to comment
Share on other sites

"diricons" Parameter sollte nicht n?tig sein, der kommt aus den settings und wird in die awstats-domain-config geschmissen. Das awstatsclasses und awstatscss selbst auch noch nen alias brauchen kommt mir merkw?rdig vor, hast du da vllt bei der kompilierung/configure f?r alles einzelne pfade spezifiziert?

Link to comment
Share on other sites

Ohne den diricons-Parameter hatten bei mir die statischen Awstats-Seiten keinerlei Icons und haben den relativen Pfad /icon f?r alle Grafiken verwendet. Dort fehlte in diesem Fall das /awstats-icon vorn.

 

Zu awstatsclasses und awstatscss:

 

http://www.awstats.org/docs/awstats_setup.html

 

Da lighttpd bekannlich keine httpd.conf hat, habe ich die angezeigten ?nderungen in das Lighttpd-Format ?bersetzt und ?bernommen.

Link to comment
Share on other sites

Nur so noch als Anmerkung generell zu Froxlor/Awstats. Im Normalfall sind die Statistiken f?r jeden einsehbar, also nicht passwortgesch?tzt, was nicht unbedingt jeder gut findet. Hier w?re es toll, wenn dies direkt im User-Interface eingestellt werden k?nnte.

Link to comment
Share on other sites

Nur so noch als Anmerkung generell zu Froxlor/Awstats. Im Normalfall sind die Statistiken f?r jeden einsehbar, also nicht passwortgesch?tzt,

ist doch gar nicht wahr...es gibt f?r die statistik-ordner per default beim anlegen des Kunden schon nen verzeichnisschutz

Link to comment
Share on other sites

Ohne den diricons-Parameter hatten bei mir die statischen Awstats-Seiten keinerlei Icons und haben den relativen Pfad /icon f?r alle Grafiken verwendet. Dort fehlte in diesem Fall das /awstats-icon vorn.

Daf?r gibt es ja die einstellung "pfad zu awstats-icons" so dass unser cron einen entsprechenden alias setzt in der webserver-config

Link to comment
Share on other sites

hmm eigenartig - war bei mir nicht so - in /etc/lighttpd/froxlor-htpasswd ist bei mir auch nichts drin und in den einzelnen Domain-Dateien auch nicht. htaccess-Dateien gibt es bei lighty nicht und eine dritte M?glichkeit f?llt mir dazu nicht ein.

 

Hier mal die Umgebungsvariablen:

 

System: Debian 7.8
Kernel-Version: 4.0.0
Webserver: Lighttpd 1.4.35
PHP-Version: 5.6.8
Perl-Version: 5.14.2
MySQL-Server-Version: 5.5.43
Link to comment
Share on other sites

Ich habe hier, um den Passwortschutz relativ einfach zu realisieren einen Eintrag in das Feld "Eigene vHost Einstellungen" unter Froxlor f?r die betreffende Domain vorgenommen:

$HTTP["url"] =~ "/awstats/" {
        auth.backend = "htpasswd"
        auth.backend.htpasswd.userfile = "/var/customers/webs/kundendomain/awstats_htpasswd"
        auth.require = ( "" => (
                "method" => "basic",
                "realm" => "Statistik",
                "require" => "user=benutzername"
                )
        )
        setenv.add-environment = ( "REMOTE_USER" => "benutzername" )
}

Die Datei /var/customers/webs/kundendomain/awstats_htpasswd l?sst sich unter Debian recht einfach mit dem Befehl htpasswd anlegen, der im Paket apache2-utils enthalten ist (erfordert keinen Apache - keine Sorge).

Link to comment
Share on other sites

Ja ich denke, dass es dort noch etwas hakelig ist. Ich pers?nlich setze lighttpd seit l?ngerer Zeit ein und kann es nur jedem empfehlen. Klein, schnell und f?r High-Traffic Seiten nahezu ideal.

klingt mehr nach der beschreibung von nginx :P

 

Ich habe hier, um den Passwortschutz relativ einfach zu realisieren einen Eintrag in das Feld "Eigene vHost Einstellungen" unter Froxlor f?r die betreffende Domain vorgenommen:

Der Code daf?r is im cronjob drin, k.A. was du da tust, hab jetzt aber gerade keine zeit mir ne lighttdp testmaschine aufzubauen. Ein Manueller Eintrag in die Eigene vHost Einstellungen sollte aber nicht notwendig sein.

 

Die Datei /var/customers/webs/kundendomain/awstats_htpasswd l?sst sich unter Debian recht einfach mit dem Befehl htpasswd anlegen, der im Paket apache2-utils enthalten ist (erfordert keinen Apache - keine Sorge).

Auch das braucht man normal nicht, das macht alles froxlor

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...