Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
centos:mail_c7:mta_13 [04.03.2015 15:03. ] – [test] django | centos:mail_c7:mta_13 [18.11.2024 19:00. ] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 34: | Zeile 34: | ||
Build Host : vml000200.dmz.nausch.org | Build Host : vml000200.dmz.nausch.org | ||
Relocations : (not relocatable) | Relocations : (not relocatable) | ||
- | Packager | + | Packager |
Vendor | Vendor | ||
URL : http:// | URL : http:// | ||
Zeile 559: | Zeile 559: | ||
===== mailgraph ===== | ===== mailgraph ===== | ||
- | Eine ansprechende graphische Übersicht kann mittels [[http:// | + | Eine ansprechende graphische Übersicht kann mittels [[http:// |
Mailgraph besteht im wesentlichen aus zwei Teilen. Das eine perl-Script ist zuständig für das Durchsuchen und Analysieren des Mailserver-Logdatei. Die gewonnenen Daten werden in **rrd**-Datendateien geschrieben. Ein zweites Perl **cgi**-Script generiert dann beim Aufrufen der zugehörigen Webseite Graphiken mit den Daten der **rrd**-Dateien. | Mailgraph besteht im wesentlichen aus zwei Teilen. Das eine perl-Script ist zuständig für das Durchsuchen und Analysieren des Mailserver-Logdatei. Die gewonnenen Daten werden in **rrd**-Datendateien geschrieben. Ein zweites Perl **cgi**-Script generiert dann beim Aufrufen der zugehörigen Webseite Graphiken mit den Daten der **rrd**-Dateien. | ||
Zeile 583: | Zeile 583: | ||
Build Host : vml000200.dmz.nausch.org | Build Host : vml000200.dmz.nausch.org | ||
Relocations : (not relocatable) | Relocations : (not relocatable) | ||
- | Packager | + | Packager |
URL : http:// | URL : http:// | ||
Summary | Summary | ||
Zeile 878: | Zeile 878: | ||
AddHandler cgi-script .cgi | AddHandler cgi-script .cgi | ||
- | < | + | < |
- | AllowOverride None | + | AllowOverride None |
- | Options +ExecCGI | + | Options +ExecCGI |
- | DirectoryIndex mailgraph.cgi | + | DirectoryIndex mailgraph.cgi |
- | Order deny, | + | Order deny, |
- | require IP 10.0. | + | |
</ | </ | ||
ErrorLog logs/ | ErrorLog logs/ | ||
Zeile 978: | Zeile 978: | ||
Möchte man einen graphischen Überblick über die Queues haben, so liefert uns das gerade vorgestellte und installierte **Mailgraph** leider keine grafischen werte. Hierzu greifen wir auf das Programm **[[http:// | Möchte man einen graphischen Überblick über die Queues haben, so liefert uns das gerade vorgestellte und installierte **Mailgraph** leider keine grafischen werte. Hierzu greifen wir auf das Programm **[[http:// | ||
- | Das passende Programmpaket **queuegraph** installieren am einfachsten aus dem Repository **[[centos:mailserver.guru|mailserver.guru]]**. | + | Das passende Programmpaket **queuegraph** installieren am einfachsten aus dem Repository **[[centos:nausch.org|nausch.org]]**. |
==== Installation ==== | ==== Installation ==== | ||
Zeile 999: | Zeile 999: | ||
Build Host : vml000200.dmz.nausch.org | Build Host : vml000200.dmz.nausch.org | ||
Relocations : (not relocatable) | Relocations : (not relocatable) | ||
- | Packager | + | Packager |
URL : http:// | URL : http:// | ||
Summary | Summary | ||
Zeile 1374: | Zeile 1374: | ||
=== RPM-Installation === | === RPM-Installation === | ||
- | Die wohl einfachste Art ist die der RPM-basierten Installation. Das passende Paket **mailgraph** installieren wir aus dem Repository **[[centos:mailserver.guru|mailserver.guru]]**. Aktuell wird vom Paketmaintainer die [[http:// | + | Die wohl einfachste Art ist die der RPM-basierten Installation. Das passende Paket **mailgraph** installieren wir aus dem Repository **[[centos:nausch.org|nausch.org]]**. Aktuell wird vom Paketmaintainer die [[http:// |
- | Haben wir das Repository **[[centos:mailserver.guru|mailserver.guru]]** installiert, | + | Haben wir das Repository **[[centos:nausch.org|nausch.org]]** installiert, |
# yum install mailgraph | # yum install mailgraph | ||
Zeile 1381: | Zeile 1381: | ||
Will man die beiden Pakete "nur lokal" installieren verwendet man folgenden Aufruf. | Will man die beiden Pakete "nur lokal" installieren verwendet man folgenden Aufruf. | ||
- | # yum localinstall http:// | + | # yum localinstall http:// |
- | http:// | + | http:// |
=== manuelle Installation === | === manuelle Installation === | ||
Zeile 1430: | Zeile 1430: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# modified 2011 for queuegraph by Ralf Hildebrandt < | # modified 2011 for queuegraph by Ralf Hildebrandt < | ||
- | # modified 2015 for mailgraph-ng by Django <django@mailserver.guru> based on | + | # modified 2015 for mailgraph-ng by Django <django@nausch.org> based on |
# patches from Sebastian van de Meer < | # patches from Sebastian van de Meer < | ||
# released under the GNU General Public License | # released under the GNU General Public License | ||
Zeile 2135: | Zeile 2135: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</td> | </td> | ||
<td> | <td> | ||
Zeile 2294: | Zeile 2294: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# copyright (c) 2011 Markus Neubauer < | # copyright (c) 2011 Markus Neubauer < | ||
- | # copyright (c) 2014-2015 Django <django@mailserver.guru> | + | # copyright (c) 2014-2015 Django <django@nausch.org> |
# released under the GNU General Public License | # released under the GNU General Public License | ||
# with spf-, dkim-, dmarc, and dane-patch Sebastian van de Meer < | # with spf-, dkim-, dmarc, and dane-patch Sebastian van de Meer < | ||
Zeile 2780: | Zeile 2780: | ||
if($opt{version}) { | if($opt{version}) { | ||
- | print " | + | print " |
exit; | exit; | ||
} | } | ||
Zeile 4004: | Zeile 4004: | ||
</ | </ | ||
- | # mkdir -p / | + | # mkdir -p / |
- | Bei der **[[centos: | + | Bei der **[[centos: |
{{ : | {{ : | ||
body { width: 900px; background-color: | body { width: 900px; background-color: | ||
Zeile 4045: | Zeile 4045: | ||
# cp / | # cp / | ||
- | In den Unterverzeichnissen **mx11** bis **mx14** legen wir jeweils ein CGI-Script ab. Damit wir später zwischen den Einzelanzeigen der Mailserver und der kumulierten Übersicht jeweils wechseln können, versehen wir das Originalscript aus dem RPM **[[http:// | + | In den Unterverzeichnissen **mx11** bis **mx14** legen wir jeweils ein CGI-Script ab. Damit wir später zwischen den Einzelanzeigen der Mailserver und der kumulierten Übersicht jeweils wechseln können, versehen wir das Originalscript aus dem RPM **[[http:// |
Die wesentlichen Änderungen/ | Die wesentlichen Änderungen/ | ||
Zeile 4208: | Zeile 4208: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</td> | </td> | ||
<td> | <td> | ||
Zeile 4249: | Zeile 4249: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# modified 2011 for queuegraph by Ralf Hildebrandt < | # modified 2011 for queuegraph by Ralf Hildebrandt < | ||
- | # modified 2015 for mailgraph-ng by Django <django@mailserver.guru> based on | + | # modified 2015 for mailgraph-ng by Django <django@nausch.org> based on |
# patches from Sebastian van de Meer < | # patches from Sebastian van de Meer < | ||
# released under the GNU General Public License | # released under the GNU General Public License | ||
Zeile 5078: | Zeile 5078: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</ | </ | ||
< | < | ||
Zeile 5213: | Zeile 5213: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# modified 2011 for queuegraph by Ralf Hildebrandt < | # modified 2011 for queuegraph by Ralf Hildebrandt < | ||
- | # modified 2015 for mailgraph-ng by Django <django@mailserver.guru> based on | + | # modified 2015 for mailgraph-ng by Django <django@nausch.org> based on |
# patches from Sebastian van de Meer < | # patches from Sebastian van de Meer < | ||
# released under the GNU General Public License | # released under the GNU General Public License | ||
Zeile 6042: | Zeile 6042: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</ | </ | ||
< | < | ||
Zeile 6177: | Zeile 6177: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# modified 2011 for queuegraph by Ralf Hildebrandt < | # modified 2011 for queuegraph by Ralf Hildebrandt < | ||
- | # modified 2015 for mailgraph-ng by Django <django@mailserver.guru> based on | + | # modified 2015 for mailgraph-ng by Django <django@nausch.org> based on |
# patches from Sebastian van de Meer < | # patches from Sebastian van de Meer < | ||
# released under the GNU General Public License | # released under the GNU General Public License | ||
Zeile 7006: | Zeile 7006: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</ | </ | ||
< | < | ||
Zeile 7140: | Zeile 7140: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# modified 2011 for queuegraph by Ralf Hildebrandt < | # modified 2011 for queuegraph by Ralf Hildebrandt < | ||
- | # modified 2015 for mailgraph-ng by Django <django@mailserver.guru> based on | + | # modified 2015 for mailgraph-ng by Django <django@nausch.org> based on |
# patches from Sebastian van de Meer < | # patches from Sebastian van de Meer < | ||
# released under the GNU General Public License | # released under the GNU General Public License | ||
Zeile 7969: | Zeile 7969: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</ | </ | ||
< | < | ||
Zeile 8141: | Zeile 8141: | ||
Damit die Seite bei Portierungen ohne große Änderungen im Code realisiert werden können, wird für die Querverweise jeweils zugehörige URL's definiert. | Damit die Seite bei Portierungen ohne große Änderungen im Code realisiert werden können, wird für die Querverweise jeweils zugehörige URL's definiert. | ||
- | **Bsp. MX11: | + | <code perl>... |
my $url = " | my $url = " | ||
Zeile 8158: | Zeile 8158: | ||
</ | </ | ||
- | === kumulierte Werte für die Generierung der RRD-Graphiken === | + | === Unterprogramme graph_xxx - kumulierte Werte für die Generierung der RRD-Graphiken === |
+ | Bei der Generierung der kumulierten Graphiken stellt sich grundsätzlich die Frage, wie führt man den Inhalt mehrerer RRD-Dateien zusammen um einen Summengraph zu erstellen. Anstatt nun einen neue RRD-Datei mit dem Inhalt der vier einzelnen RRD-Dateien zu erstellen um daraus dann den Graphen zu generieren, wählen wir einen anderen Weg. Bei der Erstellung eines Summengraphen mit Hilfe von **RRD_GRAPH** bedienen wir uns nicht nur einer Quelle (RRD-Datei), | ||
- | | + | Dazu müssen wir im ersten Schritt |
- | " | + | " |
- | " | + | " |
- | " | + | </ |
- | " | + | entsprechend **acht Zeilen** |
- | " | + | < |
- | " | + | " |
- | " | + | " |
- | " | + | " |
- | | + | " |
- | " | + | " |
- | " | + | " |
- | | + | " |
- | * Erweiterung des Unterprogramms | + | " |
+ | </ | ||
+ | |||
+ | Bei der Generierung der eigentlichen Graphen | ||
+ | |||
+ | Hierzu verwenden wir die //RRD_GRAPH | ||
+ | |||
+ | Im Falle unseres Graphen über die Abgelehneten Nachrichten (**rejected**) | ||
+ | |||
+ | Daraus | ||
+ | ∑=rejected_11, | ||
+ | |||
+ | Anstatt der ursprünglichen **CDEF**-Definitionen | ||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | verwenden | ||
+ | |||
+ | < | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | Diese Änderungen tragen wir nun bei den Unterprogrammen | ||
+ | |||
+ | === Unterprogramm print_html | ||
+ | Wie auch schon bei den [[centos: | ||
+ | <code perl> | ||
sub print_html() | sub print_html() | ||
Zeile 8235: | Zeile 8266: | ||
print "< | print "< | ||
- | | + | print "< |
- | | + | print "< |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "< |
- | | + | print "< |
- | | + | print "< |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "< |
print "< | print "< | ||
Zeile 8270: | Zeile 8301: | ||
print "< | print "< | ||
- | | + | print "< |
- | | + | print "< |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "< |
- | | + | print "< |
- | | + | print "< |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "< |
- | | + | print "< |
- | | + | print "< |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "<a href=' |
- | | + | print "< |
} | } | ||
Zeile 8304: | Zeile 8335: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</td> | </td> | ||
<td> | <td> | ||
Zeile 8344: | Zeile 8375: | ||
# copyright (c) 2000-2007 David Schweikert < | # copyright (c) 2000-2007 David Schweikert < | ||
# modified 2011 for queuegraph by Ralf Hildebrandt < | # modified 2011 for queuegraph by Ralf Hildebrandt < | ||
- | # modified 2015 for mailgraph-ng by Django <django@mailserver.guru> based on | + | # modified 2015 for mailgraph-ng by Django <django@nausch.org> based on |
# patches from Sebastian van de Meer < | # patches from Sebastian van de Meer < | ||
# released under the GNU General Public License | # released under the GNU General Public License | ||
Zeile 9452: | Zeile 9483: | ||
<td class=" | <td class=" | ||
<a href=" | <a href=" | ||
- | <a href=" | + | <a href=" |
</ | </ | ||
< | < | ||
Zeile 9578: | Zeile 9609: | ||
</ | </ | ||
- | ==== TEST/DEMO ==== | + | ==== Apache VHost anlegen ==== |
- | FIXME | + | Damit wir bequem von unserem Browser aus, die aktuellen Graphiken abfragen können, bearbeiten wir entweder die aus dem RPM stammende Konfigurationsdatei oder legen wir nun einen passenden VHost an. |
+ | # vim /etc/ | ||
+ | <file apache / | ||
+ | # | ||
+ | # mailgraph.nausch.org | ||
+ | # | ||
+ | < | ||
+ | ServerAdmin webmaster@nausch.org | ||
+ | ServerName mailgraph.nausch.org | ||
+ | ServerAlias www.mailgraph.nausch.org | ||
+ | ServerPath / | ||
+ | DocumentRoot "/ | ||
+ | AddHandler cgi-script .cgi | ||
+ | |||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI | ||
+ | DirectoryIndex mailgraph.cgi | ||
+ | require IP 10.0. | ||
+ | </ | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI | ||
+ | DirectoryIndex mailgraph.cgi | ||
+ | require IP 10.0. | ||
+ | </ | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI | ||
+ | DirectoryIndex mailgraph.cgi | ||
+ | require IP 10.0. | ||
+ | </ | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI | ||
+ | DirectoryIndex mailgraph.cgi | ||
+ | require IP 10.0. | ||
+ | </ | ||
+ | < | ||
+ | AllowOverride None | ||
+ | Options +ExecCGI | ||
+ | DirectoryIndex mailgraph.cgi | ||
+ | require IP 10.0. | ||
+ | </ | ||
+ | |||
+ | ErrorLog logs/ | ||
+ | CustomLog logs/ | ||
+ | </ | ||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | Bevor wir bei unserem Webserver eine Reload der Konfiguration vornehmen, testen wir unsere neue Konfigurationsdatei auf syntaktische Fehler. | ||
+ | # apachectl -t | ||
+ | |||
+ | | ||
+ | |||
+ | Da keine Fehler aufgetreten sind, aktivieren wir die neue Konfiguration durch einen Reload des Webserver-Daemon. | ||
+ | # systemctl reload postfix | ||
+ | |||
+ | ==== NGiNX vHost anlegen ==== | ||
+ | Nutzen wir als Webserver **[[centos: | ||
+ | # vim / | ||
+ | <file http / | ||
+ | listen | ||
+ | server_name | ||
+ | access_log | ||
+ | error_log | ||
+ | |||
+ | root / | ||
+ | index mailgraph.cgi; | ||
+ | |||
+ | | ||
+ | fastcgi_split_path_info ^(.+\.cgi)(/ | ||
+ | fastcgi_index mailgraph.cgi; | ||
+ | fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
+ | include fastcgi_params; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Den Parameter **fastcgi_pass** setzen wir im übrigen auf den Wert aus der Konfigurationsdatei // | ||
+ | |||
+ | Haben wir die Konfigurationsdatei vervollständigt, | ||
+ | # nginx -t | ||
+ | |||
+ | | ||
+ | | ||
+ | |||
+ | Somit können wir unsere Konfiguration nun noch aktivieren. | ||
+ | # systemctl reload nginx | ||
+ | |||
+ | ==== Webaufruf ==== | ||
+ | Rufen wir nun die definierte Webseite unserer Gesamtstatistikübersicht auf, erhalten wir nachfolgende Ansicht. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Hier können wir nun gezielt einzelne Systeme auswählen, bzw. bei einer ausgewählten Detailstatistikseite zur Summenseite hin und her wechseln. | ||
===== AWStats ===== | ===== AWStats ===== | ||
Auch mit Hilfe des Projektes/ | Auch mit Hilfe des Projektes/ | ||
Zeile 11431: | Zeile 11559: | ||
* **[[wiki: | * **[[wiki: | ||
* **[[http:// | * **[[http:// | ||
- | |||
- | |||
- | |||
- | |||