GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

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

In dieser Anleitung erklären wir, wie Sie einen Mailserver mit PostfixAdmin, Postfix, Dovecot, MariaDB und SpamAssasin auf einem CentOS VPS einrichten und konfigurieren. PostfixAdmin ist ein PHP-basiertes Web-Frontend, mit dem Sie virtuelle Domänen und Benutzer für einen Postfix-Mail-Transport-Agenten verwalten können. Diese Anleitung sollte auch auf anderen Linux VPS-Systemen funktionieren, wurde aber für einen CentOS 7 VPS getestet und geschrieben.

Wenn Sie einen Ubuntu VPS verwenden, folgen Sie unserem Tutorial, um einen Mailserver mit Postfix, Dovecot, Spamassassin, SQLite und PostfixAdmin auf einem Ubuntu 16.04 VPS einzurichten

Wenn Sie SQLite anstelle von MariaDB verwenden möchten, folgen Sie unserem Tutorial, um einen Mailserver mit Postfix, Dovecot, Spamassassin, SQLite und PostfixAdmin auf einem CentoOS 7 VPS einzurichten

1. Aktualisieren Sie das System und installieren Sie die erforderlichen Pakete

yum update &&yum install wget nano

2. Systembenutzer erstellen

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" vmailmkdir -p /var/vmailchmod -R 770 /var/vmailchown -R vmail:mail /var/vmail

3. Installieren Sie MariaDB

MariaDB 5.5 wird im Standard-Repository von CentOS 7 ausgeliefert, um es zu installieren, führen Sie einfach Folgendes aus:

yum installiere den Mariadb-Server

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

systemctl start mariadb.servicesystemctl enable mariadb.service

Führen Sie den folgenden Befehl aus, um Ihre MariaDB-Installation zu sichern:

mysql_secure_installation

Als nächstes müssen wir eine Datenbank für unsere postfixadminHQ-Instanz erstellen.

mysql -uroot -pMariaDB [(keine)]> DATENBANK ERSTELLEN postfixadmin;MariaDB [(keine)]> GEWÄHREN SIE ALLE PRIVILEGIEN AUF postfixadmin.* AN 'postfixadmin'@'localhost' IDENTIFIZIERT DURCH 'strong_password';MariaDB [(keine )]> FLUSH PRIVILEGES;MariaDB [(keine)]> \q

4. Installieren Sie PHP und alle erforderlichen PHP-Module

CentOS 7 wird mit PHP Version 5.4 ausgeliefert, um PHP und notwendige Module zu installieren, führen Sie Folgendes aus:

yum installiere php php-mysql php-imap php-mbstring php-common

Wenn Sie Apache nicht installiert haben, installieren Sie es mit:

yum installiere httpd

5. Installieren Sie PostfixAdmin

Die neueste Version von PostfixAdmin, Version 3, unterstützt MySQL/MariaDB-, PostgreSQL- und SQLite-Datenbanken. In dieser Anleitung verwenden wir MariaDB.
Laden Sie das PostfixAdmin-Archiv von SourceForge herunter und extrahieren Sie es in das Verzeichnis /var/www/html/:

wget -q -O - "https://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2/postfixadmin-3.0.2.tar.gz" | tar -xzf - -C /var/www/html

Öffnen Sie die Mail-Konfigurationsdatei und bearbeiten Sie die folgenden Werte:

nano /var/www/html/postfixadmin-3.0.2/config.inc.php
$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';
chown -R apache:/var/www/html/postfixadmin-3.0.2

Um die Datenbank zu füllen, gehen Sie zu https://Your_IP_Address/postfixadmin-3.0.2/setup.php und Sie sollten so etwas wie unten sehen:
Testing database connection - OK - mysqli://postfixadmin:xxxxx@localhost/postfixadmin
Everything seems fine... attempting to create/update database structure

Erstellen Sie einen neuen Admin-Benutzer:

bash /var/www/html/postfixadmin-3.0.2/scripts/postfixadmin-cli admin add admin@your_domain_name.com --password strong_password22 --password2 strong_password22 --superadmin 1 --active 1

6. Postfix installieren und konfigurieren

Um Postfix zu installieren, führen Sie den folgenden Befehl aus:

yum postfix installieren

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

mkdir -p /etc/postfix/sql/
nano /etc/postfix/sql/mysql_virtual_alias_domain_catchall_maps.cf
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.cf
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.cf
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.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'#expansion_limit =100
nano /etc/postfix/sql/mysql_virtual_domains_maps.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =Domäne AUS Domäne AUSWÄHLEN WHERE domain='%s' AND active ='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 =100
nano /etc/postfix/sql/mysql_virtual_mailbox_limit_maps.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT quota FROM mailbox WHERE username='%s' AND active ='1'
nano /etc/postfix/sql/mysql_virtual_mailbox_maps.cf
user =postfixadminpassword =strong_passwordhosts =localhostdbname =postfixadminquery =SELECT maildir FROM mailbox WHERE username='%s' AND active ='1'#expansion_limit =100

[ecko_alert color=”blue”]Irgendwo stecken geblieben? Holen Sie sich einen VPS von uns und wir erledigen das alles kostenlos für Sie! Wir richten einen Mailserver komplett für Sie ein und konfigurieren ihn. [/ecko_alert]

Bearbeiten Sie die main.cf Datei:

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=permit_sasl_authenticated, permission_mynetworks,reject_unauth_destination" post conf -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
submission inet n - n - - 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_client_restrictions# -$helom_restrictions_helom_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=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,reject -o milter_macro_daemon_name=ORIGI NATEN

Aktivieren Sie den Postfix-Dienst

systemctl postfix aktivierensystemctl postfix neu starten

7. Dovecot installieren und konfigurieren

Installieren Sie dovecot mit MySQL-Unterstützung mit dem folgenden Befehl:

yum install dovecot dovecot-mysql

Öffnen Sie die /etc/dovecot/conf.d/10-mail.conf Datei 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 /etc/dovecot/conf.d/10-auth.conf Datei 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

Erstellen Sie eine neue dovecot-sql.conf.ext Datei:

nano /etc/dovecot/dovecot-sql.conf.ext
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' 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'

In /etc/dovecot/conf.d/10-ssl.conf Datei SSL-Unterstützung aktivieren:

ssl =ja

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

postmaster_address =postmaster@your_domain_name.com

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

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 #group =vmail } user =dovecot} 

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

Service-Authentifizierungs-Worker { user =vmail}

Legen Sie die Berechtigungen fest:

chown -R vmail:dovecot /etc/dovecotchmod -R o-rwx /etc/dovecot

Aktivieren Sie den Dovecot-Dienst und starten Sie ihn neu

systemctl dovecot aktivieren systemctl dovecot neu starten 

8. Spamassassin installieren und konfigurieren

Installieren Sie spamassassin mit dem folgenden Befehl:

yum installiere spamassassin

Erstellen Sie einen Spamassassin-Systembenutzer:

groupadd spamduseradd -g spamd -s /bin/false -d /var/log/spamassassin spamdchown spamd:spamd /var/log/spamassassin

9. Konfigurieren Sie Postfix für die Verwendung von SpamAssassin

Öffnen Sie die master.cf Datei und bearbeiten Sie sie wie folgt:

nano /etc/postfix/master.cf

ändern

smtp-inet n - n - - smtpd

mit

smtp inet n - n - - smtpd -o content_filter=spamassassin

Fügen Sie am Ende der Datei die folgende Zeile hinzu:

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Aktivieren Sie den Spamassassin-Dienst und starten Sie ihn neu

systemctl spamassassin aktivieren systemctl spamassassin neu starten 

Starten Sie den Postfix-Dienst neu

systemctl Neustart Postfix

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 gehen und erstellen Sie Ihre erste virtuelle Domain und Mailbox.

Natürlich müssen Sie keinen Mailserver mit PostfixAdmin und MariaDB auf CentOS 7 einrichten, wenn Sie einen unserer Mailserver-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, einen Mailserver einzurichten für dich. 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 und MariaDB unter CentOS 7 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen unten oder hinterlassen Sie einfach einen Kommentar im Kommentarbereich unten. Danke.


Cent OS
  1. Richten Sie mit PostfixAdmin einen Mailserver ein

  2. So installieren und konfigurieren Sie den Postfix-Mailserver unter CentOS 8

  3. Installieren Sie Zenario mit Apache, PHP und MariaDB auf CentOS 7

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

  5. Richten Sie einen Mailserver mit PostfixAdmin auf Debian 9 ein

So richten Sie mit iRedMail ganz einfach einen voll ausgestatteten Mailserver unter CentOS 7 ein

So richten Sie mit iRedMail ganz einfach einen voll ausgestatteten Mailserver unter CentOS 8 ein

Teil 4:SPF und DKIM mit Postfix auf CentOS 8/RHEL 8 Mailserver einrichten

Teil 3:PostfixAdmin – Virtuelle Postfächer auf CentOS 8/RHEL 8 Mailserver erstellen

So installieren Sie den Mailserver mit PostfixAdmin unter CentOS 7

So richten Sie einen voll ausgestatteten Mailserver mit IRedMail auf Centos 7 VPS ein