GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Richten Sie einen Mailserver mit PostfixAdmin auf Debian 9 ein

In diesem Tutorial zeigen wir Ihnen, wie Sie einen Mailserver mit PostfixAdmin auf einem Debian 9 VPS einrichten. Wir werden einen Mailserver mit Postfix, Dovecot und MariaDB konfigurieren.

PostfixAdmin ist eine webbasierte GUI für die Datenbank, die von Postfix verwendet wird. Mit Postfixadmin können Sie Ihren Mailserver ganz einfach verwalten, z. B. Domänen, E-Mail-Konten, Aliase und Kontingente hinzufügen und entfernen. Die webbasierte GUI erleichtert den Zugriff auf diese Funktionen und Features und ermöglicht es Ihnen, Informationen zu ändern und darauf zuzugreifen, während Sie sich nicht an Ihrem Terminal befinden. Fangen wir an.

Voraussetzungen:

  • ein Debian 9 VPS
  • SSH-Zugriff mit Root-Berechtigungen oder Zugriff auf einen Benutzer mit sudo-Berechtigungen

Schritt 1:Melden Sie sich über SSH an und aktualisieren Sie das System

Melden Sie sich bei Ihrem Debian 9 VPS an:

# ssh root@IP_Address -p Port_number

Mit dem folgenden Befehl können Sie überprüfen, ob Sie die richtige Debian-Version auf Ihrem Server installiert haben:

# lsb_release -a

Sie sollten diese Ausgabe erhalten:

Distributor ID:DebianDescription:Debian GNU/Linux 9.9 (Stretch)Release:9.9Codename:stretch

Führen Sie dann den folgenden Befehl aus, um sicherzustellen, dass alle installierten Pakete auf dem Server auf ihre neuesten verfügbaren Versionen aktualisiert werden:

# apt-Update &&apt-Upgrade

Schritt 2:Erstellen Sie einen Systembenutzer

Aus Sicherheitsgründen erstellen wir einen neuen Systembenutzer, der Eigentümer aller Postfächer sein wird.

# useradd -r -u 150 -g mail -d /var/vmail -s /sbin/nologin -c "Virtual Mail User" vmail# mkdir -p /var/vmail# chmod -R 770 /var/vmail # chown -R vmail:mail /var/vmail

Schritt 3:MariaDB-Server installieren

PostfixAdmin unterstützt die Datenbanksysteme MySQL/MariaDB, PostgreSQL und SQLite. In diesem Tutorial verwenden wir MySQL/MariaDB als Datenbankspeicher-Engine.

# apt install mariadb-server

Führen Sie die folgenden Befehle aus, um den MariaDB-Dienst zu starten und beim Booten zu aktivieren:

# systemctl start mariadb# systemctl enable mariadb

Jetzt können Sie den folgenden Schritt überspringen, wenn Sie kein MySQL-Root-Passwort haben möchten.

# mysql_secure_installation

Wenn Sie dazu aufgefordert werden, beantworten Sie die folgenden Fragen, indem Sie der Anleitung folgen.

Geben Sie das aktuelle Passwort für root ein (Eingabe für keins):Drücken Sie einfach die [Enter]-Taste, da es kein Standardpasswort gibt. Root-Passwort setzen? [J/n]:JNeues Passwort:Passwort eingebenNeues Passwort erneut eingeben:Passwort wiederholenAnonyme Benutzer entfernen? [J/n]:YRoot-Anmeldung aus der Ferne verbieten? [J/n]:YTestdatenbank und Zugriff darauf entfernen? [J/n]:YBerechtigungstabellen jetzt neu laden? [J/n]:Ja

Wenn Sie den obigen Schritt befolgt hätten, hätten Sie ein neu festgelegtes Passwort für den MySQL-Root-Benutzer.

Führen Sie als Nächstes diesen Befehl aus, um auf die MySQL-Shell zuzugreifen.

# mysql -u root -p

Denken Sie daran, Ihr Root-Passwort einzugeben, wenn Sie das sichere Installationsskript ausgeführt haben.

Fahren wir mit dem Erstellen einer Datenbank für PostfixAdmin fort:

MariaDB [(keine)]> DATENBANK ERSTELLEN postfixadmin;MariaDB [(keine)]> GEWÄHREN SIE ALLE PRIVILEGIEN AUF postfixadmin.* AN 'postfixadmin'@'localhost' IDENTIFIED BY 'M0d1fyth15';MariaDB [(keine)]> FLUSH PRIVILEGIEN;MariaDB [(keine)]> \q

Stellen Sie sicher, dass Sie das Passwort für den Datenbankbenutzer durch ein gutes, eindeutiges Passwort ersetzen.

Schritt 4:Installieren Sie PHP und alle erforderlichen PHP-Module

Das ist

apt install apache2 php php-mbstring php-imap php-mysql libapache2-mod-php7.0

Schritt 5:Postfix installieren

Installieren Sie Postfix mit dem folgenden Befehl:

# apt install postfix-mysql


Wählen Sie Internet Site und klicken Sie auf Ok, um fortzufahren.

Sie werden nach dem System-E-Mail-Namen gefragt, stellen Sie sicher, dass dieser mit Ihrem Hostnamen übereinstimmt.

Sobald die Installation abgeschlossen ist, müssen wir Konfigurationsdateien erstellen:

# mkdir -p /etc/postfix/sql/

Von hier aus werden mehrere Konfigurationsdateien erstellt. Stellen Sie sicher, dass Sie alle Werte, die sich hier unterscheiden, durch die erforderlichen Werte ersetzen, oder Ihre Konfiguration funktioniert möglicherweise nicht.

# nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' and alias.address =CONCAT('@', alias_domain.target_domain) AND alias.active =1 AND alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain ='%d' and mailbox.username =CONCAT('%u', '@', alias_domain.target_domain) AND mailbox .active =1 UND alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_domain_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' and alias.address =CONCAT('%u', '@', alias_domain.target_domain) AND alias .active =1 UND alias_domain.active='1'
# nano /etc/postfix/sql/mysql_virtual_alias_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_domains_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT domain FROM domain WHERE domain='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT quota FROM mailbox WHERE username='%s' AND active ='1'
# nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user =postfixadminpassword =M0d1fyth15hosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'

In den obigen Konfigurationsdateien verwenden wir „m0d1fyth15“ als Passwort, bitte ändern Sie es in Ihr eigenes Passwort.

Bearbeiten wir nun die main.cf Datei durch Aufrufen der folgenden Befehle:

postconf -e "myhostname =$(hostname -f)"postconf -e "virtual_mailbox_domains =proxy:mysql:/etc/postfix/sql/mysql_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =proxy:mysql:/etc/ postfix/sql/mysql_virtual_alias_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf"postconf -e "virtual_mailbox_maps =proxy:mysql:/etc /postfix/sql/mysql_virtual_mailbox_maps.cf, proxy:mysql:/etc/postfix/sql/mysql_virtual_alias_domain_mailbox_maps.cf"postconf -e "smtpd_tls_cert_file =/etc/ssl/certs/ssl-cert-snakeoil.pem"postconf -e "smtpd_tls_key_file =/etc/ssl/private/ssl-cert-snakeoil.key"postconf -e "smtpd_use_tls =yes"postconf -e "smtpd_tls_auth_only =yes"postconf -e "smtpd_sasl_type =dovecot"postconf -e "smtpd_sasl_path =private/auth" postconf -e "smtpd_sasl_auth_enable =yes"postconf -e "smtpd_recipient_restrictions =permission_sasl_authenticated, permission_mynetworks, respond_unauth_destination" postconf -e "mydestination =localhost"postconf -e "mynetworks =127.0.0.0/8"postconf -e "inet_protocols =ipv4"postconf -e "inet_interfaces =all"postconf -e "virtual_transport =lmtp:unix:private/dovecot- lmtp"

Öffnen Sie die master.cf Datei finden Sie submission inet n und smtps inet n Abschnitte und bearbeiten Sie wie folgt:

# nano /etc/postfix/master.cf
smtp inet n - j - - smtpd#smtp inet n - j - 1 postscreen#smtpd pass - - j - - smtpd#dnsblog unix - - j - 0 dnsblog#tlsproxy unix - - j - 0 tlsproxysubmission inet n - y - - smtpd-o syslog_name=postfix/submission-o smtpd_tls_security_level=encrypt-o smtpd_sasl_auth_enable=yes# -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# - o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o smtpd_client_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATINGsmtps inet n - y - - smtpd-o syslog_name=postfix/smtps# -o smtpd_tls_wrappermode=yes-o smtpd_sasl_auth_enable=yes# - o smtpd_reject_unlisted_recipient=nein-o smtpd_client_restrictions=permit_sasl_authenticated,reject# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_restrictions=# -o smtpd_relay_restrictions=permit_sasl_authenticated,reject-o milter_macro_daemon_name=ORIGINATING

Aktivieren Sie den Postfix-Dienst und starten Sie ihn neu:

# systemctl postfix aktivieren# systemctl postfix neu starten

Schritt 6:Dovecot installieren

Installieren Sie Dovecot mit dem folgenden Befehl:

# apt install dovecot-mysql

Öffnen Sie die Datei /etc/dovecot/conf.d/10-mail.conf und ändern Sie die folgenden Werte:

# nano /etc/dovecot/conf.d/10-mail.conf
mail_location =maildir:/var/vmail/%d/%nmail_privileged_group =mailmail_uid =vmailmail_gid =mailfirst_valid_uid =150last_valid_uid =150

Öffnen Sie die Datei /etc/dovecot/conf.d/10-auth.conf und ändern Sie die folgenden Werte:

# nano /etc/dovecot/conf.d/10-auth.conf
auth_mechanisms =einfache Anmeldung#!include auth-system.conf.ext!include auth-sql.conf.ext

Bearbeiten Sie die dovecot-sql.conf.ext Datei, und fügen Sie dann diese Zeilen hinzu:

# nano /etc/dovecot/dovecot-sql.conf.ext
driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=M0d1fyth15default_pass_scheme =MD5-CRYPTpassword_query =SELECT username as user, password, '/var/vmail/%d/%n' as userdb_home, 'maildir:/ var/vmail/%d/%n' als userdb_mail, 150 als userdb_uid, 8 als userdb_gid FROM mailbox WHERE username ='%u' AND active ='1'user_query =SELECT '/var/vmail/%d/%u' as home, 'maildir:/var/vmail/%d/%u' as mail, 150 AS uid, 8 AS gid, concat('dirsize:storage=', quota) AS quota FROM mailbox WHERE username ='%u' UND aktiv ='1'

Denken Sie daran, das Passwort sowie alle anderen unterschiedlichen Werte auch hier zu ersetzen.

Aktivieren Sie in der Datei /etc/dovecot/conf.d/10-ssl.conf die SSL-Unterstützung:

# nano /etc/dovecot/conf.d/10-ssl.conf
ssl =ja

Öffnen Sie die Datei /etc/dovecot/conf.d/15-lda.conf und legen Sie die postmaster_address fest E-Mail-Adresse.

# nano /etc/dovecot/conf.d/15-lda.conf
postmaster_address [email protected]

Öffnen Sie die Datei /etc/dovecot/conf.d/10-master.conf, suchen Sie den Abschnitt service lmtp und ändern Sie ihn wie folgt:

# nano /etc/dovecot/conf.d/10-master.conf
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }}

Suchen Sie den Abschnitt Service Auth und ändern Sie ihn in:

service auth { unix_listener /var/spool/postfix/private/auth { mode =0666 user =postfix group =postfix}unix_listener auth-userdb { mode =0600 user =vmail}user =dovecot}

Ändern Sie den Abschnitt service auth-worker wie folgt:

Service-Auth-Worker {user =vmail}

Legen Sie die Berechtigungen fest:

# chown -R vmail:dovecot /etc/dovecot# chmod -R o-rwx /etc/dovecot

Aktivieren Sie den Dovecot-Dienst und starten Sie ihn neu

# systemctl dovecot aktivieren# systemctl dovecot neu starten

Schritt 7:PostfixAdmin installieren

In diesem Schritt laden wir PostfixAdmin von Github herunter und speichern es in /opt Verzeichnis.

# apt install git# cd /opt# git clone https://github.com/postfixadmin/postfixadmin.git# ln -s /opt/postfixadmin/public/ /var/www/html/mailadmin

Fügen Sie diese Zeilen in /opt/postfixadmin/config.local.php

ein
# nano /opt/postfixadmin/config.local.php
# mkdir /opt/postfixadmin/templates_c# chown -R www-data:/opt/postfixadmin

Stellen Sie eine Verbindung zu http://1.2.3.4/mailadmin/setup.php her und stellen Sie sicher, dass Sie 1.2.3.4 durch die tatsächliche IP-Adresse Ihres Servers ersetzen. Wenn alles in Ordnung ist, scrollen Sie nach unten und erstellen Sie ein Setup-Passwort.

Klicken Sie auf Hash generieren, und Sie werden Folgendes sehen:

Sie müssen das setup_password einfügen Hash wie im Bild oben gezeigt nach /opt/postfixadmin/config.local.php, es sollte so aussehen


 Speichern Sie die Datei, dann können Sie zur Setup-Seite zurückkehren, um einen PostfixAdmin-Admin-Benutzer zu erstellen. Das Setup-Passwort auf dieser Seite ist das gleiche Passwort, das Sie im vorherigen Schritt verwendet haben – füllen Sie die anderen Lücken wie gewünscht aus und klicken Sie dann auf die Schaltfläche „Admin hinzufügen“.

Jetzt können Sie zu http://1.2.3.4/mailadmin/login.php gehen um Ihre Domains hinzuzufügen und dort E-Mail-Adressen zu erstellen.

Das ist es! Sie haben jetzt PostfixAdmin eingerichtet und auf Ihrem Debian 9-Server ausgeführt.

Natürlich müssen Sie keinen Mailserver mit PostfixAdmin auf Debian 9 einrichten, wenn Sie einen unserer Mailserver-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Admins bitten, einen Mailserver für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS. Wenn Ihnen dieser Beitrag zum Einrichten eines Mailservers mit PostfixAdmin unter Debian 9 gefallen hat oder hilfreich war, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken mithilfe der Freigabe-Shortcuts oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich unter. Danke.


Debian
  1. Richten Sie mit PostfixAdmin einen Mailserver ein

  2. So richten Sie einen SFTP-Server auf Debian 11 Server ein

  3. Richten Sie einen Mailserver mit PostfixAdmin und MariaDB auf CentOS 7 ein

  4. So richten Sie einen Mailserver mit PostfixAdmin auf CentOS 7 ein

  5. So installieren Sie einen Mailserver mit PostfixAdmin unter Ubuntu 20.04

So richten Sie mit iRedMail ganz einfach einen Mailserver unter Debian 9 Stretch ein

So richten Sie mit iRedMail ganz einfach einen Mailserver unter Debian 10 Buster ein

Ersteinrichtung des Servers mit Debian 11

So konfigurieren Sie LAMP mit Debian 11

So installieren Sie den Mailserver mit PostfixAdmin unter CentOS 7

So richten Sie einen Mailserver mit Modoboa unter Ubuntu 20.04 ein