In diesem Tutorial zeigen wir Ihnen, wie Sie den Mailserver mit PostfixAdmin unter CentOS 7 installieren und konfigurieren. Für diejenigen unter Ihnen, die es nicht wussten, Postfixadmin ist ein Web-Frontend für MySQL oder MariaDB-Datenbank, die von Postfix verwendet wird. Mit Postfixadmin können wir unseren Postfix-Dienst einfach über einen Webbrowser verwalten, E-Mail-Benutzer und -Domänen, E-Mail-Aliase, Festplattenkontingente usw. hinzufügen und entfernen.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation von Mail Server With PostfixAdmin auf einem CentOS 7 Server.
Voraussetzungen
- Ein Server, auf dem eines der folgenden Betriebssysteme ausgeführt wird:CentOS 7.
- Es wird empfohlen, dass Sie eine neue Betriebssysteminstallation verwenden, um potenziellen Problemen vorzubeugen.
- SSH-Zugriff auf den Server (oder öffnen Sie einfach das Terminal, wenn Sie sich auf einem Desktop befinden).
- Ein
non-root sudo user
oder Zugriff auf denroot user
. Wir empfehlen, alsnon-root sudo user
zu agieren , da Sie Ihr System beschädigen können, wenn Sie als Root nicht aufpassen.
Mailserver mit PostfixAdmin auf CentOS 7 installieren
Schritt 1. Beginnen wir damit, sicherzustellen, dass Ihr System auf dem neuesten Stand ist.
yum clean allyum -y update
Schritt 2. Installieren Sie den LAMP-Server.
Ein CentOS 7 LAMP-Stack-Server ist erforderlich. Wenn Sie kein LAMP installiert haben, können Sie unserer Anleitung hier folgen. Installieren Sie auch die erforderlichen PHP-Module:
yum installiere php70w-cli php70w-gd php70w-xml php70w-curl php70w-mysql php70w-zip php70w-mbstring php70w-mcrypt
Schritt 3. MariaDB für PostfixAdmin konfigurieren.
Standardmäßig ist MariaDB nicht gehärtet. Sie können MariaDB mit mysql_secure_installation
sichern Skript. Sie sollten jeden Schritt sorgfältig lesen und ausführen, der das Root-Passwort festlegt, anonyme Benutzer entfernt, die Remote-Root-Anmeldung verbietet und die Testdatenbank und den Zugriff auf die sichere MariaDB entfernt:
mysql_secure_installation
Konfiguriere es so:
- Root-Passwort setzen? [J/n] y- Anonyme Benutzer entfernen? [J/n] y- Root-Anmeldung aus der Ferne verbieten? [J/N] y- Testdatenbank entfernen und Zugriff darauf? [J/n] y- Berechtigungstabellen jetzt neu laden? [J/n] ja
Als Nächstes müssen wir uns bei der MariaDB-Konsole anmelden und eine Datenbank für PostfixAdmin erstellen. Führen Sie den folgenden Befehl aus:
mysql -u root -p
Dadurch werden Sie zur Eingabe eines Passworts aufgefordert, geben Sie also Ihr MariaDB-Root-Passwort ein und drücken Sie die Eingabetaste. Sobald Sie sich bei Ihrem Datenbankserver angemeldet haben, müssen Sie eine Datenbank für erstellen PostfixAdmin-Installation:
CMariaDB [(keine)]> CREATE DATABASE postfixadmin;MariaDB [(keine)]> GEWÄHREN SIE ALLE PRIVILEGIEN AUF postfixadmin.* AN 'postfixadmin'@'localhost' IDENTIFIED BY 'strong_password';MariaDB [(keine)]> FLUSH PRIVILEGIEN;MariaDB [(keine)]> \q
Schritt 4. Installation von PostfixAdmin.
Als erstes müssen Sie zur Download-Seite von PostfixAdmin gehen und die neueste stabile Version von PostfixAdmin herunterladen:
cd /var/www/htmlwget https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-3.3.11.tar.gztar -xzf postfixadmin-3.3.11.tar.gzÖffne die Hauptkonfigurationsdatei:
nano /var/www/html/postfixadmin-3.3.11/config.inc.phpBearbeiten Sie die folgenden Werte:
$CONF['configured'] =true;$CONF['database_type'] ='mysqli';$CONF['database_host'] ='localhost';$CONF['database_user'] ='postfixadmin';$ CONF['database_password'] ='strong_password';$CONF['database_name'] ='postfixadmin';$CONF['domain_path'] ='NO';$CONF['domain_in_mailbox'] ='YES';Nun müssen Sie den Besitz der Dateien und Ordner dem Benutzer und der Gruppe von Apache zuweisen. Dazu lautet der Befehl:
chown -R apache:/var/www/html/postfixadmin-3.3.11Um die Datenbank zu füllen, gehen Sie zu https://Your_IP_Address/postfixadmin-3.0.2/setup.php und Sie sollten so etwas wie das Folgende sehen:
Datenbankverbindung wird getestet - OK - mysqli://postfixadmin:xxxxx@localhost/postfixadminAlles scheint in Ordnung zu sein... Versuch, Datenbankstruktur zu erstellen/aktualisierenNeuen Admin-Benutzer erstellen:
bash /var/www/html/postfixadmin-3.3.11/scripts/postfixadmin-cli admin add admin@your_domain_idroot.us --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1Schritt 5. Postfix installieren und konfigurieren.
Installieren Sie Postfix mit dem folgenden Befehl:
yum -y postfix installierenSobald die Installation abgeschlossen ist, müssen wir Konfigurationsdateien erstellen:
mkdir -p /etc/postfix/sql/nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =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.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =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.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =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.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'#expansion_limit =100nano /etc/postfix/sql/mysql_virtual_domains_maps.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =Domäne AUS Domäne AUSWÄHLEN WHERE domain='%s' UND aktiv ='1'#query =Domäne AUS Domäne AUSWÄHLEN WHERE domain='%s'#optionale Abfrage, die wann verwendet werden soll Weiterleitung für Backup MX#query =SELECT domain FROM domain WHERE domain='%s' AND backupmx ='0' AND active ='1'#expansion_limit =100nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT quota FROM mailbox WHERE username='%s' AND active ='1'nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cfBearbeiten Sie die folgenden Werte:
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'#expansion_limit =100Bearbeiten Sie als Nächstes die Datei main.cf:
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/pki/tls/certs/localhost.crt"postconf -e "smtpd_tls_key_file =/ etc/pki/tls/private/localhost.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 =laub_sasl_authenticated,laub_meineNetzwerke,reject_unauth_destination"postcon f -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
finden Sie die Abschnitte „submission inet n“ und „smtps inet n“ und bearbeiten Sie sie wie folgt:nano /etc/postfix/master.cfBearbeiten Sie die folgenden Werte:
Vorlage inet n - n - - smtpd -o syslog_name =postfix / Unterwerfung -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 lehnen -o milter_macro_daemon_name =ORIGINATINGsmtps inet n - n - - smtpd -o syslog_name =postfix / smtps # -o smtpd_tls_wrappermode =yes -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, ablehnen -o milter_macro_daemon_name =ORIGIN ATINGAktivieren Sie schließlich den Postfix-Dienst:
systemctl postfix aktivierensystemctl postfix neu startenSchritt 6. Dovecot installieren und konfigurieren.
Installieren Sie dovecot mit dem folgenden Befehl:
yum install dovecot dovecot-mysqlÖffnen Sie die Datei /etc/dovecot/conf.d/10-mail.conf:
nano /etc/dovecot/conf.d/10-mail.confÄndern Sie die folgenden Werte:
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:
nano /etc/dovecot/conf.d/10-auth.confÄndern Sie die folgenden Werte:
auth_mechanisms =einfache Anmeldung#!include auth-system.conf.ext!include auth-sql.conf.extErstellen Sie eine neue dovecot-sql.conf.ext-Datei:
nano /etc/dovecot/dovecot-sql.conf.extBearbeiten Sie die folgenden Werte:
driver =mysqlconnect =host=localhost dbname=postfixadmin user=postfixadmin password=strong_passworddefault_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' als 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'Aktivieren Sie in der Datei /etc/dovecot/conf.d/10-ssl.conf die SSL-Unterstützung:
ssl =jaÖffnen Sie die Datei /etc/dovecot/conf.d/15-lda.conf und legen Sie die E-Mail-Adresse postmaster_address fest:
postmaster_address =postmaster@your_domain_name.comÖffnen Sie die Datei /etc/dovecot/conf.d/10-master.conf, suchen Sie den Dienst-lmtp-Abschnitt und ändern Sie ihn in:
service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode =0600 user =postfix group =postfix }}Suchen Sie den Service Auth-Abschnitt 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 #group =vmail } user =dovecot}Ändern Sie den Abschnitt service auth-worker wie folgt:
Service-Authentifizierungs-Worker { user =vmail}Jetzt müssen Sie den Besitz der Dateien und Ordner zuweisen. Dazu lautet der Befehl:
chown -R vmail:dovecot /etc/dovecotchmod -R o-rwx /etc/dovecotAktivieren Sie schließlich den Dovecot-Dienst und starten Sie ihn neu:
systemctl dovecot aktivieren systemctl dovecot neu startenSchritt 7. Installieren und Konfigurieren von Spamassassin.
Installieren Sie SpamAssassin mit dem folgenden Befehl:
yum -y spamassassin installierenErstellen Sie einen SpamAssassin-Systembenutzer:
groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassinAls nächstes konfigurieren Sie Postfix für die Verwendung von SpamAssassin:
nano /etc/postfix/master.cfWerte ändern:
smtp inet n - n - - smtpdMit:
smtp inet n - n - - smtpd -o content_filter=spamassassinFügt die folgende Zeile am Ende der Datei hinzu:
systemctl spamassassin aktivieren systemctl spamassassin neu startenStarten Sie abschließend den Postfix-Dienst neu:
systemctl Neustart PostfixSchritt 8. Zugriff auf PostfixAdmin.
Wenn jetzt alles richtig eingerichtet ist, sollten Sie sich bei Ihrem PostfixAdmin-Backend anmelden können, indem Sie zu
http://Your_IP_Address/postfixadmin-3.0.2.2
und erstellen Sie Ihre erste virtuelle Domain und Mailbox.Herzlichen Glückwunsch! Sie haben PostfixAdmin erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation von Mail Server With PostfixAdmin auf einem CentOS 7-System verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle PostfixAdmin-Website zu besuchen.