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

So richten Sie einen Mailserver mit PostfixAdmin auf CentOS 7 ein

In diesem Artikel zeigen wir Ihnen, wie Sie einen Mailserver mit PostfixAdmin, Postfix, Dovecot und SQLite 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 Ubuntu verwenden, folgen Sie unserem Tutorial, um Postfix, Dovecot, Spamassassin, SQLite und PostfixAdmin auf einem Ubuntu 16.04 VPS mit Nginx und PHP 7.0 einzurichten

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

yum update yum install wget nano sqlite

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 PostfixAdmin

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

wget -q -O - "http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-3.0.2.2/postfixadmin-3.0.2.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'] ='sqlite';// $CONF['database_host'] ='localhost';// $CONF['database_user'] =' postfix';// $CONF['database_password'] ='postfixadmin';$CONF['database_name'] ='/var/vmail/postfixadmin.db';$CONF['domain_path'] ='NO';$CONF ['domain_in_mailbox'] ='JA';
chown -R apache:/var/www/html/postfixadmin-3.0.2

Erstellen Sie die SQLite-Datenbank:

touch /var/vmail/postfixadmin.dbchown vmail:mail /var/vmail/postfixadmin.dbchmod 660 /var/vmail/postfixadmin.dbusermod -a -G mail apache

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 - sqlite://:xxxxx@//var/vmail/postfixadmin.db
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

4. Postfix installieren und konfigurieren

Postfix Version 3 ist im standardmäßigen CentOS 7-Repository nicht verfügbar, daher verwenden wir das GhettoForge-Repository:

rpm -Uhv http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm

Installieren Sie postfix3 mit SQLite-Unterstützung mit dem folgenden Befehl:

yum install postfix3 postfix3-sqlite --enablerepo=gf-plus

Erstellen Sie nach Abschluss der Installation die folgenden Dateien:

nano /etc/postfix/sqlite_virtual_alias_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias WHERE address='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' und alias.address ='%u' || '@' || alias_domain.target_domain UND alias.active =1 UND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT goto FROM alias,alias_domain WHERE alias_domain.alias_domain ='%d' und alias.address ='@' || alias_domain.target_domain UND alias.active =1 UND alias_domain.active='1'
nano /etc/postfix/sqlite_virtual_domains_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =Domäne AUS Domäne WÄHLEN, WO Domäne='%s' UND aktiv ='1'
nano /etc/postfix/sqlite_virtual_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT maildir FROM mailbox WO username='%s' AND active ='1'
nano /etc/postfix/sqlite_virtual_alias_domain_mailbox_maps.cf
dbpath =/var/vmail/postfixadmin.dbquery =SELECT maildir FROM mailbox,alias_domain WO alias_domain.alias_domain ='%d' und mailbox.username ='%u' || '@' || alias_domain.target_domain UND mailbox.active =1 UND alias_domain.active='1'

[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 =sqlite:/etc/postfix/sqlite_virtual_domains_maps.cf"postconf -e "virtual_alias_maps =sqlite:/etc/postfix/sqlite_virtual_alias_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_maps.cf, sqlite:/etc/postfix/sqlite_virtual_alias_domain_catchall_maps.cf"postconf -e "virtual_mailbox_maps =sqlite:/etc/postfix/sqlite_virtual_mailbox_maps.cf, sqlite:/etc/postfix/sqlite_maps_domain_mail_alia.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"postconf "mynetworks"postconf 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

Postfix-Dienst aktivieren und neu starten

systemctl postfix aktivierensystemctl postfix neu starten

5. Dovecot installieren und konfigurieren

Installieren Sie dovecot mit dem folgenden Befehl:

yum installiere Taubenschlag

Ö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 =sqliteconnect =/var/vmail/postfixadmin.dbdefault_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/%n' als home, 'maildir:/var/vmail/%d/%n' als mail, \ 150 AS uid, 8 AS gid, 'dirsize:storage=' || Kontingent AS Kontingent \ FROM Postfach WO Benutzername ='%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 

Wenn jetzt alles korrekt 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 auf CentOS 7 einrichten, wenn Sie einen unserer Mailserver-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie einzurichten. Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.

PS . Wenn Ihnen dieser Beitrag 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. DHCP-Server auf CentOS 8 einrichten – wie geht das?

  2. So richten Sie private DNS-Server mit BIND unter CentOS 8 ein

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

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

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

So installieren Sie den Exim-Mailserver unter CentOS 6

So installieren Sie den Mailserver mit PostfixAdmin unter CentOS 7

So richten Sie einen DHCP-Server unter CentOS 8 ein

So richten Sie einen TeamSpeak-Server unter CentOS 7 ein

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

So richten Sie einen Mailserver mit Modoboa unter Ubuntu 20.04 ein