Jump to content
Froxlor Forum
  • 0

[solved] Awstats Icon Dir


Wurstteppich

Question

Hallo,

 

eine Frage zu Awstats:

 

Wie geht Froxlor hier mit den Icons um? Momentan werden Icons nicht angezeigt, da weder im Vhost ein Alias daf?r angelegt wurde (der das in Froxlor angegebene Icon Directory referenziert) noch werden die Dateien aus dem Icon Verzeichnis in ein Unterverzeichnis des /awstats Verzeichnis kopiert.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

Wenn du willst, kannst du es mal probieren, wenn du folgenden Code in den nginx-cron einf?gst:

 

scripts/jobs/cron_tasks.inc.http.30.nginx.php, Zeile 701 (vor return $stats_text;)

		// awstats icons
		if ($this->settings['system']['awstats_enabled'] == '1') {
			$stats_text .= "\t" . 'location /awstats-icon {' . "\n";
			$stats_text .= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . ';' . "\n";
			$stats_text .= "\t" . '}' . "\n\n";
		}

Link to comment
Share on other sites

Hallo

 

so bin endlich zum Testen gekommen. Allerdings m?ssen noch ein paar ?nderungen vorgenommen werden:

 

Der Location Block f?r das Icon Dir muss wie folgt aussehen:

 

        location ~ ^/awstats-icon/(.*)$ {
                alias /usr/share/awstats/wwwroot/icon/$1;
        }
 

Unter Gentoo speziell muss noch beachtet werden, dass in der awstats.model.conf die DirIcons Variable standardm??ig wie folgt lautet:

 

DirIcons="/awstats/icon"

 

NICHT: /awstats-icon

 

Also m?sste unter Gentoo Nginx folgender Location Block erzeugt werden:

 

        location ~ ^/awstats/icon/(.*)$ {
                alias /usr/share/awstats/wwwroot/icon/$1;
        }

 

Danach funktioniert es aber einwandfrei. Vielleicht k?nntest du mir den von dir oben genannten Code nochmal so entsprechend modifizieren. Ich w?rde es selbst machen, aber ich weiss nicht, ob und wie die ganzen Sonderzeichen in PHP "escaped" werden m?ssen.

Link to comment
Share on other sites

Hm, warum macht Gentoo da ne extra-wurst was das Icons-Dir angeht, das is ja zum kotzen, da m?sst ich jetzt erst ne neue Froxlor-Setting einf?hren die quasi den virtual-path (den realen gibts ja schon) angibt.

 

Ansonsten, Code-?nderung (ausm Stehgreif) w?re (du brauchst nichts zu escapen in dem Fall):

$stats_text .= "\t" . 'location ~ ^/awstats-icon/(.*)$ {' . "\n";
Link to comment
Share on other sites

Hallo,

 

danke erstmal! Du hast in der n?chsten Zeile noch das "$1" vergessen. So sieht der funktionierende Code jetzt bei mir aus:

 

                // awstats icons
                if ($this->settings['system']['awstats_enabled'] == '1') {
                        $stats_text .= "\t" . 'location ~ ^/awstats-icon/(.*)$ {' . "\n";
                        $stats_text .= "\t\t" . 'alias ' . makeCorrectDir($this->settings['system']['awstats_icons']) . '$1;' . "\n";
                        $stats_text .= "\t" . '}' . "\n\n";
                }

Bez?glich des Virtual Path brauchst du kein neues Froxlor Setting einf?hren. Einfach in lib/configfiles/gentoo.inc.php folgenden Inhalt in Zeile 397 einf?gen:

'sed -i.bak \'s|^\\(DirIcons=\\).*$|\\1\\"/awstats-icon\\"|\' '.makeCorrectFile($settings['system']['awstats_conf'].'/awstats.model.conf'),

 

Ich finde es auch nicht gut, dass Gentoo hier vom Standard abweicht. Warum kann ich mir auch nicht erkl?ren. Diese ?nderung wird im Ebuild von Awstats mittels "sed" durchgef?hrt. Obenstehende Zeile korrigiert das aber wieder, so dass es mit Froxlor l?uft.

 

Bitte nicht von Gentoo frustrieren lassen, es w?re sch?n, wenn der Support f?r Gentoo auch seitens Froxlor weiterhin gegeben ist :) Das hat mich n?mlich an Froxlor gereitzt, zusammen mit der Tatsache, dass man ?nderungen im System ?ber die Config File Changes selbst vornimmt und somit weiss, was man wo ver?ndert hat und wie alles l?uft (das wiederum ist ja auch der gro?e Pluspunkt an Gentoo). Leider gibt es zuviele Management Panels die selbstst?ndig ?ber Scripte alles einrichten und man somit zwar nachher weniger Arbeit hat, aber auch weniger Einblick in sein System :) Da ich jetzt Froxlor + Gentoo + Nginx + PHP-FPM + Dovecot + Postfix + Awstats + libnss + pure-ftpd laufen hab, bin ich auch gerne bereit Fehler hier oder im Bugtracker zu melden und vielleicht auch, soweit es mir m?glich ist, L?sungsans?tze aufzuzeigen und dir damit "hoffentlich" Arbeit zu ersparen.

 

Gibt es eigentlich eine M?glichkeit die Generierung der Awstats zu forcieren. Ich kann zwar den Froxlor Cron ausf?hren, trotzdem werden die Stats ja nur einmal pro Tag generiert. Zu Testzwecken w?re es sch?n zu wissen, wo ich z.B. vor?bergehend hinterlegen kann, dass diese jede Minute generiert werden (gerade wenn ich sowas wie hier beschrieben teste).

Link to comment
Share on other sites

1) Gentoo Support fliegt sicher nicht :) Ich nutze selber Gentoo, auf allen Servern und zu Hause. und keine Sorge, ich bin nich von Gentoo frustiert, finde nur diesen speziellen fall gerade einfach doof :P

2) Danke f?r die ?nderungshinweise, am aller coolsten w?re es, wenn du die ggfls. als Pullrequest via Github anlegen k?nntest?

3) Du kannst den Laufzeitintervall des Cronjobs zur Erstellung der Statistiken einfach anpassen (Admin-Panel -> Cronjob Einstellungen -> Traffic Berechnung bearbeiten)

Link to comment
Share on other sites

Archived

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



×
×
  • Create New...