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/dovecotAktivieren Sie den Dovecot-Dienst und starten Sie ihn neu
systemctl dovecot aktivieren systemctl dovecot neu startenWenn 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.