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 14:48. ] – 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 4237: | Zeile 4237: | ||
| </ | </ | ||
| - | ==== CGI-Scripte ==== | + | ==== CGI-Scripte |
| - | Somit ergeben sich folgende | + | Für die vier Mailserver |
| === / | === / | ||
| 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 8095: | Zeile 8095: | ||
| </ | </ | ||
| - | ==== test ==== | + | ==== CGI-Erweiterung für die Σ-Seite |
| - | Die wesentlichen | + | Wie auch schon bei den Einzelstatistiken sind bei der Σ-Seite, die die kumulierten Einzelgraphen enthält, umfangreichere |
| - | * Änderungen | + | |
| + | === Datenquellen === | ||
| + | Da wir bei der Gesamtstatistik die Summe der einzelnen Mailserver zur Anzeige bringen wollen, benötigen wir daher auch alle Datenquellen. Die Anzahl der Variablen **$rrd_* ** erhöht sich daher entsprechend! | ||
| + | <code perl>... | ||
| my $rrd_11 | my $rrd_11 | ||
| Zeile 8134: | Zeile 8137: | ||
| ... | ... | ||
| </ | </ | ||
| - | * Einfügen der Variablen **url** | + | |
| + | === URL-Definitionen === | ||
| + | Damit die Seite bei Portierungen ohne große Änderungen im Code realisiert werden können, wird für die Querverweise | ||
| + | |||
| + | <code perl>... | ||
| my $url = " | my $url = " | ||
| Zeile 8150: | Zeile 8157: | ||
| ... | ... | ||
| </ | </ | ||
| - | | + | |
| - | " | + | === 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 |
| - | " | + | " |
| - | " | + | " |
| - | " | + | </ |
| - | " | + | 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 8225: | 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 8260: | 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 8294: | Zeile 8335: | ||
| <td class=" | <td class=" | ||
| <a href=" | <a href=" | ||
| - | <a href=" | + | <a href=" |
| </td> | </td> | ||
| <td> | <td> | ||
| Zeile 8323: | Zeile 8364: | ||
| </ | </ | ||
| + | |||
| + | === CGI-Script für die ∑-Auswertung === | ||
| Mit allen Änderungen und Erweiterungen ergibt sich dann folgendes Gesamt-CGI-Script: | Mit allen Änderungen und Erweiterungen ergibt sich dann folgendes Gesamt-CGI-Script: | ||
| # vim / | # vim / | ||
| Zeile 8332: | 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 9440: | Zeile 9483: | ||
| <td class=" | <td class=" | ||
| <a href=" | <a href=" | ||
| - | <a href=" | + | <a href=" |
| </ | </ | ||
| < | < | ||
| Zeile 9566: | Zeile 9609: | ||
| </ | </ | ||
| + | ==== Apache VHost anlegen ==== | ||
| + | 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 / | ||
| + | <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 11417: | Zeile 11559: | ||
| * **[[wiki: | * **[[wiki: | ||
| * **[[http:// | * **[[http:// | ||
| - | |||
| - | |||
| - | |||
| - | |||