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

Wie man einen Mailserver mit Exim4 und DBMail auf einem Debian 7 VPS einrichtet

In diesem Artikel führen wir Sie durch die Schritte zum Einrichten eines Mailservers mit Exim4 und DBMail auf einem Debian 7 (Wheezy) Linux VPS .

Was ist Exim4?

Es ist ein Mail Transfer Agent (MTA), der auf Unix-ähnlichen Betriebssystemen verwendet wird und für das Empfangen, Weiterleiten und Zustellen von E-Mail-Nachrichten verantwortlich ist.

Was ist DBMail?

Es ist ein schneller und skalierbarer SQL-basierter E-Mail-Dienst, der E-Mail-Nachrichten in einer relationalen Datenbank speichert. Es unterstützt mehrere Frontends wie IMAP4 , POP3 , ManageSieve , LMTP usw. und mehrere Backends wie MySQL , PostgreSQL , Oracle und SQLite .

Wichtigste Vorteile von DBMail sind:

  • Skalierbarkeit
  • Verwaltbarkeit
  • Geschwindigkeit
  • Sicherheit
  • Flexibilität

Systemanforderungen?

  • Ein Debian 7 Linux VPS-Hosting
  • Datenbankserver
  • Exim-MTA

SYSTEM AKTUALISIEREN

Als erstes müssen Sie eine SSH-Verbindung zu Ihrem Debian-VPS herstellen und einen screen starten Sitzung und aktualisieren Sie Ihr Linux vps mit den folgenden Befehlen:

## screen -U -S exim-dbmail
## apt-get update
## apt-get upgrade

DBMAIL-QUELLEN HINZUFÜGEN

Fahren Sie mit dem Hinzufügen der Quellen von DBMail zu Ihrer sources.list fort damit Sie im nächsten Schritt die benötigten Pakete installieren können. Sie können die Quellen mit den folgenden Befehlen hinzufügen:

## cp /etc/apt/sources.list{,.orig}
## echo "deb http://debian.nfgd.net/debian stable main" >> /etc/apt/sources.list
## echo "deb-src http://debian.nfgd.net/debian stable main" >> /etc/apt/sources.list

ERFORDERLICHE PAKETE INSTALLIEREN

Aktualisieren Sie die Quellen mit apt und installieren Sie die erforderlichen Pakete, indem Sie die folgenden Befehle in Ihrem Terminal als root ausführen:

## apt-get update
## apt-get install exim4 exim4-daemon-heavy mysql-server mysql-client dbmail
## apt-get purge sendmail*

DBMAIL-DATENBANK ERSTELLEN

Als nächstes benötigt DBMail eine Datenbank als Back-End und da wir in diesem Artikel den MySQL-Datenbankserver verwenden, fahren Sie mit der Erstellung eines neuen Benutzers und einer neuen Datenbank fort, indem Sie die folgenden Befehle ausführen:

## mysql -u root -p

CREATE DATABASE dbmail;
GRANT ALL ON dbmail.* TO dbmail@localhost IDENTIFIED BY 'DATABASE_PASSWORD';
\q

DBMAIL-DATENBANKTABELLEN BEFÜLLEN

Ok, als nächstes müssen Sie die neu erstellte Datenbank mit den erforderlichen Datenbanktabellen füllen, die von DBMail bereitgestellt werden. Sie können dies mit den folgenden Befehlen erreichen:

## zcat /usr/share/doc/dbmail/examples/create_tables.mysql.gz > /tmp/dbmail_create_tables.sql
## mysql -u dbmail -p dbmail < /tmp/dbmail_create_tables.sql

DBMAIL KONFIGURIEREN

Bearbeiten Sie /etc/dbmail/dbmail.conf und richten Sie das DBMail-Backend ein, indem Sie Folgendes einrichten:

## vim /etc/dbmail/dbmail.conf

dburi = mysql://dbmail:DATABASE_PASSWORD@localhost:3306/dbmail
authdriver = sql

Vergessen Sie nicht, DATABASE_PASSWORD durch das tatsächliche Passwort zu ersetzen, das Sie beim Erstellen der Datenbank verwendet haben

Als nächstes bearbeiten Sie /etc/default/dbmail und stellen Sie Folgendes ein:

## vim /etc/default/dbmail

START_IMAPD=true
START_LMTPD=true

DBMAIL-DIENST NEU STARTEN

Wenn die Konfiguration von DBMail vorhanden ist, fahren Sie mit dem Starten des Dienstes fort mit:

## service dbmail restart

DBMAIL ZUM SYSTEMSTART HINZUFÜGEN

Fügen Sie den DBMail-Dienst zu Ihrem Debain-VPS-Start hinzu, damit der Dienst automatisch gestartet wird, wenn Sie Ihren Server neu starten:

## update-rc.d -f dbmail enable

EXIM KONFIGURIEREN

Als nächstes müssen Sie Exim mit DBMail entsprechend konfigurieren. Dazu gehören das Einrichten von Benutzerdatenbanksuchen, Authentifizierung, Routing und Transport. Richten Sie zuerst die Exim-Hauptkonfigurationsdatei ein und fahren Sie mit der Benutzersuche fort, also:

## vim /etc/exim4/update-exim4.conf.conf

dc_eximconfig_configtype='internet'
dc_other_hostnames='mydomain.com'
dc_local_interfaces=''
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets='127.0.0.0/8'
dc_smarthost=''
CFILEMODE='644'
dc_use_split_config='true'
dc_hide_mailname=''
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'

ersetzen Sie mydomain.com durch Ihren tatsächlichen Domainnamen

## vim /etc/exim4/conf.d/main/05_exim4-config_dbmail_user_lookup

hide mysql_servers = localhost/dbmail/dbmail/DATABASE_PASSWORD

Richten Sie das MTA-Banner ein, indem Sie Folgendes hinzufügen:

## vim /etc/exim4/conf.d/main/06_exim4-config_smtp_banner

smtp_banner = $smtp_active_hostname MTA

Richten Sie nun DBMail lmtp ein, indem Sie Folgendes konfigurieren:

## vim /etc/exim4/conf.d/transport/30_exim4-config_dbmail_lmtp

dbmail_lmtp:
driver = smtp
protocol = lmtp
hosts = 127.0.0.1
allow_localhost
return_path_add

Richten Sie als Nächstes die Benutzersuche ein:

## vim /etc/exim4/conf.d/router/750_exim4-config_dbmail_user

dbmail_user:
debug_print = "R: dbmail_user for $local_part@$domain"
driver = accept
condition = ${lookup mysql{\
SELECT alias_idnr FROM dbmail_aliases WHERE \
alias='${quote_mysql:$local_part@$domain}' OR \
alias='${quote_mysql:@$domain}'}{yes}{no}}
transport = dbmail_lmtp
cannot_route_message = Unknown user

und fahren Sie mit der Einrichtung der Benutzerauthentifizierung fort:

## vim /etc/exim4/conf.d/auth/10_exim4_config_dbmail_auth_plain

auth_plain:
driver = plaintext
public_name = PLAIN
server_condition = ${lookup mysql{\
SELECT user_idnr FROM dbmail_users WHERE \
userid='${quote_mysql:$2}' AND \
passwd='${quote_mysql:$3}'}{yes}{no}}
server_prompts =:
server_set_id = $2
## vim /etc/exim4/conf.d/auth/15_exim4-config_dbmail_auth_login

auth_login:
driver = plaintext
public_name = LOGIN
server_condition = ${lookup mysql{\
SELECT user_idnr FROM dbmail_users WHERE \
userid='${quote_mysql:$1}' AND \
passwd='${quote_mysql:$2}'}{yes}{no}}
server_prompts = Username::: Password::
server_set_id = $1
## vim /etc/exim4/conf.d/auth/20_exim4-config_dbmail_auth_cram_md5

auth_cram_md5:
driver = cram_md5
public_name = CRAM-MD5
server_secret = ${lookup mysql{\
SELECT passwd FROM dbmail_users WHERE \
userid='${quote_mysql:$1}'}{$value}fail}
server_set_id = $1

Fügen Sie lmtp zu /etc/services hinzu

## vim /etc/services

lmtp            24/tcp

und aktualisieren Sie schließlich die Exim-Konfiguration und starten Sie den MTA neu mit:

## update-exim4.conf
## service exim4 restart

ERSTELLEN SIE EIN NEUES E-MAIL-KONTO

DBMail bietet einige nette Befehlszeilenprogramme zum Verwalten der Konten. Um beispielsweise ein neues Konto zu erstellen, verwenden Sie:

## dbmail-users -a USERNAME -w PASSWORD -s [email protected]

Weitere Informationen hierzu finden Sie unter http://www.dbmail.org/dokuwiki/doku.php/manage_users

HINZUFÜGEN EINER WEITEREN DOMAIN

Um dem Mailserver eine weitere Domain hinzuzufügen, müssen Sie /etc/exim4/update-exim4.conf.conf bearbeiten und fügen Sie Ihre Domain in dc_other_hostnames hinzu getrennt durch ein Semikolon wie in:

## vim /etc/exim4/update-exim4.conf.conf

dc_other_hostnames='mydomain.com;myotherdomain.org'

Speichern und schließen Sie die Datei, aktualisieren Sie die Exim-Konfigurationsdatei und starten Sie den MTA neu mit:

## update-exim4.conf
## service exim4 restart

Verwenden Sie den folgenden Befehl:

## tail -f /var/log/exim4/mainlog  /var/log/dbmail/dbmail.* /var/log/mail.log

um die Protokolldateien Ihres Mailservers zu lesen.

Das ist es. Gehen Sie zu http://www.dbmail.org/dokuwiki/doku.php um mehr über DBMail und seine Verwendung zu erfahren.

Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, Exim mit DBMail zu installieren . 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 auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.


Debian
  1. So richten Sie NTP-Server und -Client unter Debian 9 Stretch Linux ein

  2. So richten Sie virtuelle Container mit LXC- und Quota-Unterstützung unter Debian 8 ein

  3. So richten Sie LogAnalyzer mit Rsyslog und MySQL ein

  4. So richten Sie IP-Failover mit KeepAlived unter Ubuntu und Debian ein

  5. So richten Sie Opencart mit LAMP (PHP, Apache, Mariadb) unter Debian 11 ein

So richten Sie einen FTP-Server mit VSFTPD unter Debian 9 ein

So installieren und konfigurieren Sie Drupal mit Apache unter Debian 9

So installieren Sie AbanteCart mit Nginx und SSL unter Debian 11

So installieren Sie Etherpad mit Nginx und SSL unter Debian 11

So installieren und konfigurieren Sie vsftpd mit TLS unter Debian 8 (Jessie)

So richten Sie Mailman mit Debian und ISPConfig ein