Plesk 8 verwendet eine gepatchte QMail-Installation. Wie kompiliere ich QMail mit meinen eigenen Patches?

Created:

2016-11-16 13:15:43 UTC

Modified:

2017-08-16 17:18:22 UTC

0

Was this article helpful?


Have more questions?

Anfrage einreichen

Plesk 8 verwendet eine gepatchte QMail-Installation. Wie kompiliere ich QMail mit meinen eigenen Patches?

Applicable to:

  • Plesk 10.4 for Linux/Unix

Lösung

Sie müssen QMail-Quellen herunterladen, zum Beispiel von http://qmail.org/, die in diesem Artikel genannten Plesk-Patches anwenden, Ihre eigenen Patches anwenden und dann QMail kompilieren. Führen Sie hierzu folgende Schritte durch:

  1. Prüfen Sie Ihre benutzerdefinierten Patches und Plesk-Patches, um herauszufinden, welche Änderungen der benutzerdefinierte Patch vornimmt und wann er angewendet werden soll: vor oder nach Plesk-Patches oder dazwischen vor/nach einem bestimmten Patch.
    Hinweis: Bei Plesk 8.3 und höher müssen QMail-Patches in alphabetischer Reihenfolge angewendet werden. Bei Plesk 8.2 wenden Sie zunächst alle patch* -Dateien und dann fr49-quota-patch an, z.B.:
    # cd qmail-1.03
    # for patch in ../patches/patch* ; do patch -p0 < $patch ; done
    # patch -p0 < ../patches/fr49-quota-patch

  2. Ändern Sie die Dateien conf-users und conf-groups , sodass sie den in den Patches patch-pe und patch-pf angewendeten Änderungen entsprechen. Diese Dateien müssen Einträge im Format ' Gruppenname GID ' oder ' Benutzername UID ' enthalten. Nachfolgend sind die Befehle aufgeführt, mit denen diese Dateien mit korrekten Einträgen aufgefüllt werden.
    Hinweis: Diese Befehle müssen auf dem System ausgeführt werden, auf dem QMail bereits installiert ist, d.h., auf dem Plesk bereits installiert ist.
    # grep -E '^(qmail|alias)' /etc/passwd | awk 'BEGIN {FS=":"; OFS=" ";} {if ($1 == "qmaill") {print $1,$3,"\nroot 0"} else {print $1,$3}}' > conf-users
    # grep -E '^(qmail|nofiles)' /etc/group | awk 'BEGIN {FS=":"; OFS=" ";} {print $1,$3}' > conf-groups

  3. Konfigurieren Sie Linker-Flags (im QMail-Quellverzeichnis nach Anwendung der Patches):
    # pkg-config --libs openssl > ssl.lib
    # echo "/var/qmail" > conf-qmail

  4. Sie können nun `make` ausführen.
  5. Nach der Kompilierung dürfen Sie NICHT alle vorhandenen QMail-Dateien durch neue überschreiben, d.h., führen Sie nicht `make install` aus; installierte Konfigurationsdateien und Init-Skripte müssen unverändert bleiben. Stattdessen sollten nur benötigte QMail-Binärdateien durch neue kompilierte Dateien ersetzt werden:

    • Beenden Sie die Dienste QMail und DrWeb vom Plesk Panel aus (nicht aus der Shell!).
    • Beenden Sie den Dienst xinetd(inetd) aus der Shell.
    • Ersetzen Sie Dateien gemäß Ihrer Plesk-Version:
      Bei Plesk 8.2: Kopieren Sie die kompilierten Dateien qmail-queue , qmail-remote , qmail-local in Qmail in das Verzeichnis bin/ , und fügen Sie an die Kopien das Suffix .origin an, z.B.:
      # cp qmail-queue /var/qmail/bin/qmail-queue
      # cp qmail-queue /var/qmail/bin/qmail-queue.origin
      # cp qmail-local /var/qmail/bin/qmail-local
      # cp qmail-local /var/qmail/bin/qmail-local.origin
      # cp qmail-remote /var/qmail/bin/qmail-remote
      # cp qmail-remote /var/qmail/bin/qmail-remote.origin

      Bei Plesk 8.3 und höher: Kopieren Sie die kompilierten Dateien qmail-queue , qmail-remote , qmail-local in Qmail in das Verzeichnis bin/ , und fügen Sie das Suffix .moved an (ersetzen Sie NICHT die aktuellen Dateien!), z.B.:
      # cp qmail-queue /var/qmail/bin/qmail-queue.moved
      # cp qmail-local /var/qmail/bin/qmail-local.moved
      # cp qmail-remote /var/qmail/bin/qmail-remote.moved
      Vergessen Sie nicht, für die ersetzten Dateien die ursprünglichen Besitzer/Berechtigungen wiederherzustellen. Da die Besitzer/Berechtigungen für die Dateien je nach verwendetem Betriebssystem unterschiedlich sein können, können hier keine exakten Befehle angegeben werden. Merken Sie sich vor dem Ersetzen der Binärdateien die ursprünglichen Besitzer/Berechtigungen, und stellen Sie sie anschließend korrekt wieder her.
    • Starten Sie den Dienst xinetd(inetd).
    • Starten Sie die Dienste QMail und DrWeb.

Zusätzliche Informationen

Hinweis: Vor dem Starten der Neukompilierung sollten Sie in der QMail-Originaldokumentation nachlesen, wie der Vorgang der Neukompilierung erfolgen muss.
Haben Sie Fragen? Anfrage einreichen
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.