PostfixAdmin: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 1: | Zeile 1: | ||
'''PostfixAdmin''' ist eine Webschnittstelle für Postfix zur Verwaltung von Postfächern, virtuellen Domänen und Aliasnamen. | '''PostfixAdmin''' ist eine Webschnittstelle für Postfix zur Verwaltung von Postfächern, virtuellen Domänen und Aliasnamen. | ||
= Beschreibung = | = Beschreibung = | ||
Postfixadmin allows administrators to delegate account handling | * Postfixadmin is a web interface to manage virtual users and domains for a Postfix mail transport agent. It supports Virtual mailboxes, aliases, forwarders and vacation. | ||
to domain administrators and allows users to login and change their own | * Postfixadmin allows administrators to delegate account handling to domain administrators and allows users to login and change their own settings (e.g. forwarders, vacation, passwords etc). | ||
settings (e.g. forwarders, vacation, passwords etc). | * It provides easy integration into dovecot, courier or cyrus. | ||
* Postfixadmin is written in PHP. | |||
= Installation = | |||
Um PostfixAdmin verwenden zu können, benötigen Sie ein funktionierendes Webserver- Setup. Sie können entweder einen Webserver wählen, der die Webanwendung direkt bedienen kann (z. B. Apache HTTP Server ), oder ein Setup, bei dem ein Webserver (z. B. Nginx ) Anfragen an einen Anwendungsserver (z. B. UWSGI oder php-fpm ) weiterleitet. | |||
Informationen zur IMAP-Funktionalität finden Sie unter PHP#IMAP . | |||
Als nächstes installieren das postfixadmin -Paket. | |||
'''Hinweis''' | |||
Auf Postfixadmin sollte nur über TLS zugegriffen werden (es sei denn, der Zugriff erfolgt direkt von der Maschine, auf der es ausgeführt wird), da sonst Passwörter und Benutzerdaten offengelegt werden. | |||
# '''apt install postfixadmin''' | # '''apt install postfixadmin''' | ||
Paketlisten werden gelesen… Fertig | Paketlisten werden gelesen… Fertig | ||
Zeile 43: | Zeile 46: | ||
= Konfiguration = | = Konfiguration = | ||
Bearbeiten Sie die PostfixAdmin-Konfigurationsdatei, ändern Sie global alle Instanzen von ''change-this-to-your.domain.tld'' auf einen geeigneten Wert: | |||
Bearbeiten Sie die PostfixAdmin-Konfigurationsdatei, ändern Sie global alle Instanzen von ''change-this-to-your.domain.tld'' auf einen geeigneten Wert: | |||
/etc/webapps/postfixadmin/config.local.php | /etc/webapps/postfixadmin/config.local.php | ||
Zeile 139: | Zeile 80: | ||
Ab dovecot 2 ist dovecotpw veraltet. Sie sollten auch sicherstellen, dass Ihre Konfiguration den neuen Binärnamen widerspiegelt. | Ab dovecot 2 ist dovecotpw veraltet. Sie sollten auch sicherstellen, dass Ihre Konfiguration den neuen Binärnamen widerspiegelt. | ||
'''Hinweis | '''Hinweis''' | ||
Ab postfixadmin 2.91 ist dies standardmäßig korrekt eingestellt. | |||
/etc/webapps/postfixadmin/config.local.php | /etc/webapps/postfixadmin/config.local.php | ||
Zeile 148: | Zeile 91: | ||
Damit dies funktioniert, reicht es nicht aus, dovecot installiert zu haben, es muss auch konfiguriert werden. Siehe Dovecot#Dovecot-Konfiguration . | Damit dies funktioniert, reicht es nicht aus, dovecot installiert zu haben, es muss auch konfiguriert werden. Siehe Dovecot#Dovecot-Konfiguration . | ||
== | == Hosting == | ||
'''Hinweis''' | '''Hinweis''' | ||
Zeile 201: | Zeile 144: | ||
== Aufstellen == | == Aufstellen == | ||
Navigieren Sie schließlich zu <nowiki>http://127.0.0.1/postfixadmin/setup.php</nowiki> , wenn Sie Apache oder <nowiki>http://127.0.0.1:8081/setup.php</nowiki> für Nginx verwendet haben, um die Einrichtung abzuschließen. Generieren Sie Ihren Setup-Passwort-Hash unten auf der Seite, sobald dies abgeschlossen ist. Schreiben Sie den Hash in die Konfigurationsdatei | Navigieren Sie schließlich zu <nowiki>http://127.0.0.1/postfixadmin/setup.php</nowiki>, wenn Sie Apache oder <nowiki>http://127.0.0.1:8081/setup.php</nowiki> für Nginx verwendet haben, um die Einrichtung abzuschließen. Generieren Sie Ihren Setup-Passwort-Hash unten auf der Seite, sobald dies abgeschlossen ist. Schreiben Sie den Hash in die Konfigurationsdatei | ||
/etc/webapps/postfixadmin/config.local.php | /etc/webapps/postfixadmin/config.local.php | ||
Zeile 226: | Zeile 169: | ||
Wann = PostTransaktion | Wann = PostTransaktion | ||
Exec = /usr/bin/runuser -u postfixadmin -- /usr/bin/php /usr/share/webapps/postfixadmin/public/upgrade.php | Exec = /usr/bin/runuser -u postfixadmin -- /usr/bin/php /usr/share/webapps/postfixadmin/public/upgrade.php | ||
== Dateien == | |||
/etc | |||
/etc/apache2 | |||
/etc/apache2/conf-available | |||
/etc/apache2/conf-available/postfixadmin.conf | |||
/etc/lighttpd | |||
/etc/lighttpd/conf-available | |||
/etc/lighttpd/conf-available/90-postfixadmin.conf | |||
/etc/postfixadmin | |||
/etc/postfixadmin/config.inc.php | |||
/usr | |||
/usr/bin/postfixadmin-cli | |||
== Fehlerbehebung == | == Fehlerbehebung == | ||
Zeile 235: | Zeile 190: | ||
=== Leere Seite beim Zugriff === | === Leere Seite beim Zugriff === | ||
Wenn Sie eine leere Seite erhalten, überprüfen Sie die Syntax der Konfiguration mit <code>php -l /etc/webapps/postfixadmin/config.inc.php</code>. | Wenn Sie eine leere Seite erhalten, überprüfen Sie die Syntax der Konfiguration mit <code>php -l /etc/webapps/postfixadmin/config.inc.php</code>. | ||
= Anwendungen = | |||
= Sicherheit = | |||
= Dokumentation = | |||
== RFC == | |||
== Man-Pages == | |||
== Info-Pages == | |||
== Siehe auch == | |||
= Links = | |||
== Projekt-Homepage == | |||
== Weblinks == | |||
== Einzelnachweise == | |||
<references /> | |||
= Testfragen = | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 1'' | |||
<div class="mw-collapsible-content">'''Antwort1'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 2'' | |||
<div class="mw-collapsible-content">'''Antwort2'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 3'' | |||
<div class="mw-collapsible-content">'''Antwort3'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 4'' | |||
<div class="mw-collapsible-content">'''Antwort4'''</div> | |||
</div> | |||
<div class="toccolours mw-collapsible mw-collapsed"> | |||
''Testfrage 5'' | |||
<div class="mw-collapsible-content">'''Antwort5'''</div> | |||
</div> | |||
[[Kategorie:Postfix]] | [[Kategorie:Postfix]] |
Version vom 3. Juni 2022, 10:08 Uhr
PostfixAdmin ist eine Webschnittstelle für Postfix zur Verwaltung von Postfächern, virtuellen Domänen und Aliasnamen.
Beschreibung
- Postfixadmin is a web interface to manage virtual users and domains for a Postfix mail transport agent. It supports Virtual mailboxes, aliases, forwarders and vacation.
- Postfixadmin allows administrators to delegate account handling to domain administrators and allows users to login and change their own settings (e.g. forwarders, vacation, passwords etc).
- It provides easy integration into dovecot, courier or cyrus.
- Postfixadmin is written in PHP.
Installation
Um PostfixAdmin verwenden zu können, benötigen Sie ein funktionierendes Webserver- Setup. Sie können entweder einen Webserver wählen, der die Webanwendung direkt bedienen kann (z. B. Apache HTTP Server ), oder ein Setup, bei dem ein Webserver (z. B. Nginx ) Anfragen an einen Anwendungsserver (z. B. UWSGI oder php-fpm ) weiterleitet.
Informationen zur IMAP-Funktionalität finden Sie unter PHP#IMAP .
Als nächstes installieren das postfixadmin -Paket.
Hinweis
Auf Postfixadmin sollte nur über TLS zugegriffen werden (es sei denn, der Zugriff erfolgt direkt von der Maschine, auf der es ausgeführt wird), da sonst Passwörter und Benutzerdaten offengelegt werden.
# apt install postfixadmin Paketlisten werden gelesen… Fertig Abhängigkeitsbaum wird aufgebaut… Fertig Statusinformationen werden eingelesen… Fertig Die folgenden zusätzlichen Pakete werden installiert: dbconfig-common libapache2-mod-php libapache2-mod-php8.1 libc-client2007e libonig5 mlock php-common php-imap php-mbstring php-mysql php8.1-cli php8.1-common php8.1-imap php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline wwwconfig-common Vorgeschlagene Pakete: dbconfig-mysql | dbconfig-pgsql | dbconfig-sqlite3 | dbconfig-no-thanks php-pear uw-mailutils mysql-client postgresql-client Empfohlene Pakete: zendframework Die folgenden NEUEN Pakete werden installiert: dbconfig-common libapache2-mod-php libapache2-mod-php8.1 libc-client2007e libonig5 mlock php-common php-imap php-mbstring php-mysql php8.1-cli php8.1-common php8.1-imap php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-readline postfixadmin wwwconfig-common 0 aktualisiert, 19 neu installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 8.147 kB an Archiven heruntergeladen werden. Nach dieser Operation werden 33,2 MB Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren? [J/n]
Syntax
Parameter
Optionen
Umgebungsvariablen
Exit-Status
Konfiguration
Bearbeiten Sie die PostfixAdmin-Konfigurationsdatei, ändern Sie global alle Instanzen von change-this-to-your.domain.tld auf einen geeigneten Wert:
/etc/webapps/postfixadmin/config.local.php
<?php $CONF['konfiguriert'] = true; // entspricht dem Maildir-Pfad von dovecot /home/vmail/%d/%u $CONF['domain_path'] = 'YES'; $CONF['domain_in_mailbox'] = 'NEIN'; $CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfix_user'; $CONF['database_password'] = 'hunter2'; $CONF['Datenbankname'] = 'postfix_db'; $CONF['default_aliases'] = array ( 'abuse' => 'abuse@change-this-to-your.domain.tld', 'hostmaster' => 'hostmaster@change-this-to-your.domain.tld', 'postmaster' => 'postmaster@change-this-to-your.domain.tld', 'webmaster' => 'webmaster@change-this-to-your.domain.tld' ); $CONF['vacation_domain'] = 'autoreply.change-this-to-your.domain.tld'; $CONF['footer_text'] = 'Zurück zu change-this-to-your.domain.tld'; $CONF['footer_link'] = 'http://change-this-to-your.domain.tld';
Wenn Sie dovecot installieren und das Passwortschema in dovecot geändert haben (z. B. in SHA512-CRYPT), geben Sie dies mit Postfix wieder
/etc/webapps/postfixadmin/config.local.php
$CONF['encrypt'] = 'dovecot:SHA512-CRYPT';
Ab dovecot 2 ist dovecotpw veraltet. Sie sollten auch sicherstellen, dass Ihre Konfiguration den neuen Binärnamen widerspiegelt.
Hinweis
Ab postfixadmin 2.91 ist dies standardmäßig korrekt eingestellt.
/etc/webapps/postfixadmin/config.local.php
$CONF['dovecotpw'] = "/usr/sbin/doveadm pw";
Hinweis
Damit dies funktioniert, reicht es nicht aus, dovecot installiert zu haben, es muss auch konfiguriert werden. Siehe Dovecot#Dovecot-Konfiguration .
Hosting
Hinweis
PostfixAdmin muss als eigener Benutzer und eigene Gruppe ausgeführt werden (z postfixadmin
). Es nutzt /etc/webapps/postfixadmin
, /var/lib/postfixadmin
und /run/postfixadmin
für Konfigurationen, Template-Caches und (möglicherweise) Sockets (jeweils)!
Apache
Dieser Artikel oder Abschnitt muss erweitert werden.
Grund: Apache-Abschnitt benötigt ein uWSGI- Beispiel. (Diskutieren Sie im Talk:PostfixAdmin )
Der Apache -Webserver kann mit Hilfe von Modulen wie mod_proxy_fcgi oder mod_proxy_uwsgi .
php-fpm
Installieren und konfigurieren Apache HTTP Server mit php-fpm . Verwenden Sie einen Pool , der als Benutzer und Gruppe ausgeführt wird postfixadmin
. Die Socket-Datei sollte für die zugänglich sein http
Benutzer und/oder Gruppe.
Fügen Sie die folgende Konfiguration in Ihre Apache HTTP Server- Konfiguration ein (dh /etc/httpd/conf/httpd.conf
) und starten Sie den Webserver :
/etc/httpd/conf/postfixadmin.conf
Alias /postfixadmin "/usr/share/webapps/postfixadmin/public" <Verzeichnis "/usr/share/webapps/postfixadmin/public"> Verzeichnisindex index.html index.php <FilesMatch \.php$> SetHandler "proxy:unix:/run/postfixadmin/postfixadmin.sock|fcgi://localhost/" </FilesMatch> AllowOverride All Optionen FollowSymlinks Erfordern alle gewährt SetEnv PHP_ADMIN_VALUE "open_basedir = /tmp/:/usr/share/webapps/postfixadmin:/etc/webapps/postfixadmin/:/var/cache/postfixadmin/templates_c" </Verzeichnis>
Erstellen Sie einen Pool für postfixadmin und starten Sie php-fpm.service neu:
/etc/php/php-fpm.d/postfixadmin.conf
[postfixadmin] Benutzer = postfixadmin Gruppe = postfixadmin listen = /run/postfixadmin/postfixadmin.sock listen.owner = root listen.group = http listen.mode = 0660 pm = auf Abruf pm.max_kinder = 4 php_admin_value['date.timezone'] = Europa/Berlin php_admin_value['session.save_path'] = /tmp php_admin_value['open_basedir'] = /tmp/:/usr/share/webapps/postfixadmin/:/etc/webapps/postfixadmin/:/usr/bin/doveadm:/var/cache/postfixadmin
Um nur den localhost-Zugriff auf postfixadmin zu erlauben (für erhöhte Sicherheit), fügen Sie dies der vorherigen hinzu <Directory>
Richtlinie:
Auftrag verweigern, zulassen Abgelehnt von allen Ab 127.0.0.1 zulassen
Aufstellen
Navigieren Sie schließlich zu http://127.0.0.1/postfixadmin/setup.php, wenn Sie Apache oder http://127.0.0.1:8081/setup.php für Nginx verwendet haben, um die Einrichtung abzuschließen. Generieren Sie Ihren Setup-Passwort-Hash unten auf der Seite, sobald dies abgeschlossen ist. Schreiben Sie den Hash in die Konfigurationsdatei
/etc/webapps/postfixadmin/config.local.php
$CONF['setup_password'] = 'yourhashhere';
Jetzt können Sie ein Superadmin-Konto unter http://127.0.0.1/postfixadmin/setup.php wenn Sie Apache oder http://127.0.0.1:8081/setup.php für Nginx verwendet haben.
Tipps und Tricks
Pacman-Haken
Manchmal muss die Datenbank nach einem Versionsstoß aktualisiert werden. In diesem Fall wird auf der Anmeldeseite die Meldung „Das PostfixAdmin-Datenbanklayout ist veraltet“ angezeigt.
Sie können einen Hook einrichten, der das benötigte upgrade.php-Skript automatisch über einen Pacman-Hook ausführt:
/etc/pacman.d/hooks/postfixadmin.hook
[Abzug] Vorgang = Installieren Betrieb = Upgrade Typ = Paket Ziel = postfixadmin [Aktion] Description = Führen Sie Postfixadmin upgrade.php aus, um sicherzustellen, dass die Datenbank auf dem neuesten Stand ist Wann = PostTransaktion Exec = /usr/bin/runuser -u postfixadmin -- /usr/bin/php /usr/share/webapps/postfixadmin/public/upgrade.php
Dateien
/etc /etc/apache2 /etc/apache2/conf-available /etc/apache2/conf-available/postfixadmin.conf /etc/lighttpd /etc/lighttpd/conf-available /etc/lighttpd/conf-available/90-postfixadmin.conf /etc/postfixadmin /etc/postfixadmin/config.inc.php /usr /usr/bin/postfixadmin-cli
Fehlerbehebung
Konfiguration nicht gefunden
Wenn Sie zu yourdomain/postfixadmin/setup.php gehen und die Anwendung angibt, dass sie config.inc.php nicht finden kann, fügen Sie hinzu /etc/webapps/postfixadmin
zum open_basedir
Zeile ein /etc/php/php.ini
(siehe PHP#Configuration als Referenz).
Leere Seite beim Zugriff
Wenn Sie eine leere Seite erhalten, überprüfen Sie die Syntax der Konfiguration mit php -l /etc/webapps/postfixadmin/config.inc.php
.
Anwendungen
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Siehe auch
Links
Projekt-Homepage
Weblinks
Einzelnachweise
Testfragen
Testfrage 1
Testfrage 2
Testfrage 3
Testfrage 4
Testfrage 5