Εισαγωγή
Στο Ubuntu 20.04, μπορείτε να χρησιμοποιήσετε εργαλεία όπως Postfix, Dovecot, MySQL, και SpamAssassin για να ρυθμίσετε έναν διακομιστή αλληλογραφίας. Η διαδικασία μπορεί να είναι μπερδεμένη για κάποιον που την επιχειρεί για πρώτη φορά. Αυτός ο οδηγός στοχεύει να απλοποιήσει τη διαδικασία ρύθμισης του διακομιστή αλληλογραφίας για εσάς με αναλυτικά βήματα. Στο τέλος αυτού του οδηγού, θα γνωρίζετε πώς να προσθέτετε εικονικούς τομείς, χρήστες και ψευδώνυμα. Τελικά, θα κάνετε τον εικονικό σας διακομιστή πιο ασφαλή από κέντρα ανεπιθύμητης αλληλογραφίας.
Προαπαιτούμενα
Πριν ξεκινήσετε με τη ρύθμιση του διακομιστή αλληλογραφίας, υπάρχουν ορισμένα προαπαιτούμενα που πρέπει να φροντίσετε. Αρχικά, βεβαιωθείτε ότι ο εικονικός ιδιωτικός σας διακομιστής έχει έναν τομέα που ανακατευθύνει στον διακομιστή σας. Πρέπει επίσης να εγκαταστήσετε και να ρυθμίσετε τη MySQL. Επιπλέον, πρέπει να έχετε έναν χρήστη με δικαιώματα root και να εγκαταστήσετε ένα πιστοποιητικό SSL. Τέλος, βεβαιωθείτε ότι το FQDN έχει ρυθμιστεί και αναγνωριστεί.
Εάν εγκαταστήσετε τα πακέτα σας ως χρήστης root, θα έχετε όλα τα δικαιώματα. Γι' αυτό το συνιστούμε:
|
1 |
sudo -i |
Εισαγάγετε τον κωδικό πρόσβασης του χρήστη σας. Σε αυτό το σημείο, θα δείτε το σύμβολο $ να αλλάζει σε #. Στη συνέχεια, ας εξερευνήσουμε τις διάφορες πτυχές της ρύθμισης μία προς μία.
Βήμα 1: Εγκατάσταση πακέτων
Θα ξεκινήσουμε μαθαίνοντας πώς να εγκαθιστούμε πακέτα:
|
1 |
apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql |
Όταν εμφανιστεί η ρύθμιση του Postfix, επιλέξτε το Internet Site:

Θα ερωτηθείτε για το όνομα System mail. Εδώ, μπορείτε να χρησιμοποιήσετε το FQDN ή τον κύριο τομέα:

Βήμα 2: Δημιουργία βάσης δεδομένων MySQL, εικονικών τομέων, χρηστών και ψευδωνύμων
Στη συνέχεια, μόλις εγκατασταθούν όλα τα πακέτα, θα προχωρήσουμε στη ρύθμιση. Στόχος μας είναι να ρυθμίσουμε τρεις πίνακες. Ένας θα είναι για τους τομείς, ένας για τους χρήστες και ένας για τα ψευδώνυμα. Αυτοί θα στεγάζονται σε μια βάση δεδομένων MySQL που θα δημιουργήσουμε.
Ας υποθέσουμε ότι θέλουμε να ονομάσουμε τη βάση δεδομένων μας servermail. Είστε ελεύθεροι να χρησιμοποιήσετε το όνομα της επιλογής σας. Δείτε πώς θα τη δημιουργήσουμε:
|
1 |
mysqladmin -p create servermail |
Πρέπει να συνδεθείτε ως χρήστης root της MySQL:
|
1 |
mysql -u root -p |
Στη συνέχεια, εισαγάγετε τον κωδικό πρόσβασής σας. Μια επιτυχής προσπάθεια θα εμφανίσει αυτό ως αποτέλεσμα:
|
1 |
mysql > |
Στη συνέχεια, θα δημιουργήσουμε έναν νέο χρήστη ειδικά για τον έλεγχο ταυτότητας αλληλογραφίας. Δώστε την άδεια SELECT ως εξής:
|
1 |
mysql > GRANT SELECT ON servermail.* TO 'usermail'@'127.0.0.1' IDENTIFIED BY 'mailpassword'; |
Μετά από αυτό, επαναφορτώστε τα δικαιώματα της MySQL για να εφαρμόσετε τις άδειες με επιτυχία:
|
1 |
mysql > FLUSH PRIVILEGES; |
Στη συνέχεια, θα χρησιμοποιήσουμε τη βάση δεδομένων μας για να δημιουργήσουμε τους πίνακες και να εισαγάγουμε τα δεδομένα:
|
1 |
mysql> USE servermail; |
Θα δημιουργήσουμε ξεχωριστούς πίνακες για τους συγκεκριμένους τομείς που αναγνωρίζονται ως εξουσιοδοτημένοι τομείς:
|
1 2 3 4 5 |
CREATE TABLE `virtual_domains` ( `id` INT NOT NULL AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Ο στόχος είναι να εισαγάγουμε χρήστες στον πίνακα. Επομένως, θα προσθέσουμε τη σχετική διεύθυνση email και τον κωδικό πρόσβαση. Έχετε υπόψη σας ότι πρέπει να συσχετίσετε κάθε χρήστη με έναν τομέα:
|
1 2 3 4 5 6 7 8 9 |
CREATE TABLE `virtual_users` ( `id` INT NOT NULL AUTO_INCREMENT, `domain_id` INT NOT NULL, `password` VARCHAR(106) NOT NULL, `email` VARCHAR(120) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Στη συνέχεια, θα δημιουργήσουμε έναν πίνακα για όλα τα εικονικά μας ψευδώνυμα για να καθορίσουμε όλα τα email που θα προωθούμε στο άλλο email:
|
1 2 3 4 5 6 7 8 |
CREATE TABLE `virtual_aliases` ( `id` INT NOT NULL AUTO_INCREMENT, `domain_id` INT NOT NULL, `source` varchar(100) NOT NULL, `destination` varchar(100) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; |
Μέχρι το τέλος αυτής της διαδικασίας, θα έχετε δημιουργήσει με επιτυχία τρεις πίνακες. Στη συνέχεια, πρέπει να εισαγάγουμε τα δεδομένα.
-
Εικονικοί Τομείς
Σε αυτήν την ενότητα, θα μάθουμε πώς να εισάγουμε τομείς μέσα στον
virtual_domains πίνακα. Συγκεκριμένα, θα εστιάσουμε στο πώς να εισάγουμε τον κύριο τομέα (example.com) και το FQDN (hostname.example.com):
|
1 2 3 4 5 |
INSERT INTO `servermail`.`virtual_domains` (`id` ,`name`) VALUES ('1', 'example.com'), ('2', 'hostname.example.com'); |
-
Εικονικά Email
Στη συνέχεια, εισαγάγετε τη διεύθυνση email και τους σχετικούς κωδικούς πρόσβασης για καθέναν από τους τομείς. Βεβαιωθείτε ότι όλες οι πληροφορίες έχουν αλλάξει με τις δικές σας συγκεκριμένες πληροφορίες:
|
1 2 3 4 5 |
INSERT INTO `servermail`.`virtual_users` (`id`, `domain_id`, `password` , `email`) VALUES ('1', '1', ENCRYPT('firstpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email1@example.com'), ('2', '1', ENCRYPT('secondpassword', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), 'email2@example.com'); |
-
Εικονικά Ψευδώνυμα
Τώρα μπορείτε να εισαγάγετε τη διεύθυνση email στην οποία θα προωθήσετε την άλλη διεύθυνση email. Η πρώτη είναι η πηγή ενώ η δεύτερη είναι ο προορισμός:
|
1 2 3 4 |
INSERT INTO `servermail`.`virtual_aliases` (`id`, `domain_id`, `source`, `destination`) VALUES ('1', '1', 'alias@example.com', 'email1@example.com'); |
Στη συνέχεια, μπορείτε να βγείτε από τη MySQL:
|
1 |
mysql > exit |
Βήμα 3: Ρύθμιση του Postfix
Είναι σημαντικό να ρυθμίσετε το Postfix έτσι ώστε να μπορεί να διαχειρίζεται τις συνδέσεις SMTP. Πρέπει επίσης να μπορεί να στέλνει τα μηνύματα για όλους τους χρήστες που έχουν εισαχθεί στη βάση δεδομένων MySQL. Ας ξεκινήσουμε δημιουργώντας ένα αντίγραφο του προεπιλεγμένου αρχείου. Αυτό γίνεται για να μπορείτε εύκολα να επιστρέψετε στην προεπιλεγμένη ρύθμιση εάν και όταν χρειαστεί:
|
1 |
cp /etc/postfix/main.cf /etc/postfix/main.cf.orig |
Τώρα ανοίξτε το αρχείο main.cf για να το τροποποιήσετε:
|
1 |
nano /etc/postfix/main.cf |
Ξεκινήστε σχολιάζοντας τις παραμέτρους TLS και στη συνέχεια προσθέστε οποιεσδήποτε άλλες παραμέτρους. Στο παράδειγμά μας, χρησιμοποιούμε τα δωρεάν πιστοποιητικά SSL. Μπορείτε, φυσικά, να αλλάξετε τη ρύθμιση ανάλογα με τις απαιτήσεις σας:
|
1 2 3 4 5 6 7 8 9 10 11 |
# TLS parameters #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_use_tls=yes #smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache #smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_cert_file=/etc/ssl/certs/dovecot.pem smtpd_tls_key_file=/etc/ssl/private/dovecot.pem smtpd_use_tls=yes smtpd_tls_auth_only = yes |
Στη συνέχεια, θα προσθέσετε αυτές τις παραμέτρους κάτω από τις ρυθμίσεις TLS:
|
1 2 3 4 5 6 7 |
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination |
Μετά από αυτό, πρέπει να σχολιάσουμε τις mydestination προεπιλεγμένες ρυθμίσεις. Στη συνέχεια, θα το αντικαταστήσουμε με localhost. Με αυτήν την αλλαγή, ο VPS θα μπορεί να χρησιμοποιήσει τους εικονικούς τομείς στον πίνακα MySQL:
|
1 2 |
#mydestination = example.com, hostname.example.com, localhost.example.com, localhost mydestination = localhost |
Τώρα χρησιμοποιήστε αυτήν την εντολή για να επαληθεύσετε ότι η παράμετρος myhostname έχει οριστεί στο FQDN σας:
|
1 |
myhostname = hostname.example.com |
Επιπλέον, προσθέστε αυτήν τη γραμμή για να ενεργοποιήσετε την τοπική παράδοση αλληλογραφίας σε όλους τους εικονικούς τομείς που αναφέρονται στον πίνακα:
|
1 |
virtual_transport = lmtp:unix:private/dovecot-lmtp |
Τέλος, θα προσθέσουμε τις ακόλουθες παραμέτρους προκειμένου να πούμε στο Postfix να διαμορφώσει τους εικονικούς τομείς, τους χρήστες και τα ψευδώνυμα:
|
1 2 3 |
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
Για να βεβαιωθείτε ότι δεν υπάρχουν σφάλματα, συγκρίνετε αυτές τις αλλαγές με το ακόλουθο αρχείο:
https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt
Μόλις ελεγχθούν όλα αυτά, θα δημιουργήσετε τρία αρχεία για να τα προσαρτήσετε στο αρχείο main.cf. Ο στόχος εδώ είναι να δώσουμε οδηγίες στο Postfix για το πώς να συνδεθεί με τη MySQL. Για να το κάνουμε αυτό, θα ξεκινήσουμε δημιουργώντας το αρχείο mysql-virtual-mailbox-domains.cf αρχείο. Φυσικά, στο αρχείο σας, θα κάνετε αλλαγές σύμφωνα με την προσωπική σας διαμόρφωση:
|
1 |
nano /etc/postfix/mysql-virtual-mailbox-domains.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT 1 FROM virtual_domains WHERE name='%s' |
Στη συνέχεια, επανεκκινήστε το Postfix:
|
1 |
service postfix restart |
Πρέπει να βεβαιωθείτε ότι το Postfix είναι σε θέση να βρει τον τομέα σας. Για να το δοκιμάσετε αυτό, χρησιμοποιήστε αυτήν την εντολή:
|
1 |
postmap -q example.com mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf |
Η εντολή θα επιστρέψει 1 εάν είναι επιτυχής. Σε αυτήν την περίπτωση, μπορείτε να προχωρήσετε δημιουργώντας το αρχείο mysql-virtual-mailbox-maps.cf αρχείο:
|
1 |
nano /etc/postfix/mysql-virtual-mailbox-maps.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT 1 FROM virtual_users WHERE email='%s' |
Επανεκκινήστε το Postfix άλλη μια φορά:
|
1 |
service postfix restart |
Και πάλι, θα βεβαιωθούμε ότι το Postfix είναι σε θέση να βρει την πρώτη διεύθυνση email. Για να το δοκιμάσετε αυτό, χρησιμοποιήστε την ακόλουθη εντολή:
|
1 |
postmap -q email1@example.com mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf |
Εάν είναι επιτυχής, θα λάβετε ως αποτέλεσμα την τιμή 1. Ως εκ τούτου, θα προχωρήσουμε στη δημιουργία του τελευταίου αρχείου:
|
1 |
nano /etc/postfix/mysql-virtual-alias-maps.cf |
|
1 2 3 4 5 |
user = usermail password = mailpassword hosts = 127.0.0.1 dbname = servermail query = SELECT destination FROM virtual_aliases WHERE source='%s' |
Αυτό ολοκληρώνει τη ρύθμιση παραμέτρων μεταξύ Postfix και MySQL. Επανεκκινήστε το Postfix για να εφαρμοστεί:
|
1 |
service postfix restart |
Για να επιβεβαιώσετε ότι το Postfix βρίσκει πράγματι τα ψευδώνυμά σας, χρησιμοποιήστε αυτήν την εντολή:
|
1 |
postmap -q alias@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf |
Ιδανικά θα πρέπει να λάβετε το μήνυμα ηλεκτρονικού ταχυδρομείου που προωθείται στο ψευδώνυμο ως έξοδο. Μπορείτε επίσης να τροποποιήσετε το /etc/postfix/master.cf αρχείο έτσι αν θέλετε να συνδέσετε τη θύρα 587 με πελάτες ηλεκτρονικού ταχυδρομείου με ασφάλεια:
|
1 |
nano /etc/postfix/master.cf |
Δείτε πώς μπορείτε να καταργήσετε τα σχόλια από ορισμένες γραμμές και να προσθέσετε παραμέτρους:
|
1 2 3 4 5 |
submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject |
Μερικές φορές, ίσως χρειαστεί να επανεκκινήσετε το Postfix για να επιβεβαιώσετε ότι η θύρα είναι ανοιχτή:
|
1 |
service postfix restart |
Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί επίσης για τη σάρωση των θυρών του τομέα. Μπορείτε να το χρησιμοποιήσετε για να επαληθεύσετε ότι οι θύρες 25 και 587 είναι ανοιχτές.
Βήμα 4: Ρύθμιση παραμέτρων του Dovecot
Τώρα είναι η ώρα να ρυθμίσετε το Dovecot. Για αυτήν την ενότητα, θα πρέπει να αντιγράψουμε τα 7 αρχεία που θέλετε να τροποποιήσετε. Αυτό γίνεται για να διασφαλιστεί ότι μπορείτε να επαναφέρετε τις αλλαγές εάν χρειαστεί. Εισαγάγετε αυτές τις εντολές μία προς μία:
|
1 2 3 4 5 6 |
cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.orig cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.orig cp /etc/dovecot/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext.orig cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.orig cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.orig |
Πρέπει να επεξεργαστείτε το αρχείο ρυθμίσεων από το Dovecot:
|
1 |
nano /etc/dovecot/dovecot.conf |
Βεβαιωθείτε ότι η επιλογή είναι χωρίς σχόλιο:
|
1 |
!include conf.d/*.conf |
Στη συνέχεια, θα ενεργοποιήσουμε τα πρωτόκολλα κάτω από τη γραμμή
!include_try /usr/share/dovecot/protocols.d/*.protocol . Αν θέλετε, μπορείτε επίσης να προσθέσετε pop3:
|
1 2 |
!include_try /usr/share/dovecot/protocols.d/*.protocol protocols = imap lmtp |
Για να βεβαιωθείτε ότι δεν υπάρχουν λάθη, συγκρίνετέ το με αυτό το αρχείο:
https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt
Στη συνέχεια, επεξεργαστείτε το αρχείο επιβεβαίωσης αλληλογραφίας:
|
1 |
nano /etc/dovecot/conf.d/10-mail.conf |
Εντοπίστε τη γραμμή mail_location . Πρέπει να καταργήσετε τα σχόλια και να προσθέσετε αυτήν την παράμετρο:
|
1 |
mail_location = maildir:/var/mail/vhosts/%d/%n |
Μετά από αυτό, εντοπίστε τη γραμμή mail_privileged_group . Και πάλι, καταργήστε τα σχόλια και προσθέστε την παράμετρο mail:
|
1 |
mail_privileged_group = mail |
Για να εξαλείψετε κάθε πιθανότητα σφαλμάτων, συγκρίνετέ το με αυτό το αρχείο:
https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt
-
Επαλήθευση δικαιωμάτων
Για να επαληθεύσετε τα δικαιώματα, χρησιμοποιήστε αυτήν την εντολή:
|
1 |
ls -ld /var/mail |
Βεβαιωθείτε ότι τα δικαιώματά σας εμφανίζονται όπως τα ακόλουθα:
|
1 |
drwxrwsr-x 3 root vmail 4096 Jan 24 21:23 /var/mail |
Μπορείτε να δημιουργήσετε έναν φάκελο για κάθε τομέα. Όλοι αυτοί οι φάκελοι θα καταχωρηθούν στον πίνακα MySQL:
|
1 |
mkdir -p /var/mail/vhosts/example.com |
Δημιουργήστε έναν χρήστη και μια ομάδα vmail χρησιμοποιώντας ένα αναγνωριστικό (id) 5000:
|
1 2 |
groupadd -g 5000 vmail useradd -g vmail -u 5000 vmail -d /var/mail |
Στη συνέχεια, πρέπει να αλλάξετε τον ιδιοκτήτη του /var/mail φακέλου στον χρήστη vmail:
|
1 |
chown -R vmail:vmail /var/mail |
Τώρα επεξεργαστείτε το /etc/dovecot/conf.d/10-auth.conf αρχείο:
|
1 |
nano /etc/dovecot/conf.d/10-auth.conf |
Προσθέστε την ακόλουθη γραμμή αφού αφαιρέσετε το σχόλιο από τον έλεγχο ταυτότητας απλού κειμένου:
|
1 |
disable_plaintext_auth = yes |
Χρησιμοποιήστε αυτό για να τροποποιήσετε την παράμετρο auth_mechanisms :
|
1 |
auth_mechanisms = plain login |
Τώρα σχολιάστε αυτή τη γραμμή:
|
1 |
#!include auth-system.conf.ext |
Για να ενεργοποιήσετε την εξουσιοδότηση MySQL, πρέπει να αφαιρέσετε το σχόλιο από την ακόλουθη γραμμή:
|
1 |
!include auth-sql.conf.ext |
Για να εντοπίσετε και να διορθώσετε λάθη, χρησιμοποιήστε το ακόλουθο αρχείο:
https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt
Δημιουργώντας ένα αρχείο /etc/dovecot/dovecot-sql.conf.ext με τις πληροφορίες σας θα σας επιτρέψει να συνδεθείτε:
|
1 |
nano /etc/dovecot/conf.d/auth-sql.conf.ext |
Εισαγάγετε αυτόν τον κώδικα στο αρχείο:
|
1 2 3 4 5 6 7 8 9 |
passdb { driver = sql args = /etc/dovecot/dovecot-sql.conf.ext } userdb { driver = static args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n } |
Θα χρησιμοποιήσουμε τις προσαρμοσμένες πληροφορίες MySQL μας για να τροποποιήσουμε το αρχείο /etc/dovecot/dovecot-sql.conf.ext αρχείο:
|
1 |
nano /etc/dovecot/dovecot-sql.conf.ext |
Ορίστε τη MySQL ως παράμετρο αφού αφαιρέσετε το σχόλιο από την παράμετρο driver, ως εξής:
|
1 |
driver = mysql |
Μπορείτε να εισαγάγετε τις συγκεκριμένες πληροφορίες MySQL αφαιρώντας το σχόλιο από τη γραμμή connect :
|
1 |
connect = host=127.0.0.1 dbname=servermail user=usermail password=mailpassword |
Now you have to uncomment the default_pass_scheme και να την αλλάξετε σε SHA-512:
|
1 |
default_pass_scheme = SHA512-CRYPT |
Προσθέστε τις ακόλουθες πληροφορίες αφού αφαιρέσετε το σχόλιο από το password_query:
|
1 |
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u'; |
Για να εντοπίσετε σφάλματα, χρησιμοποιήστε αυτό το αρχείο για σύγκριση:
https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt
Στη συνέχεια, μπορείτε να αλλάξετε τον ιδιοκτήτη και την ομάδα του φακέλου dovecot στον χρήστη vmail:
|
1 2 |
chown -R vmail:dovecot /etc/dovecot chmod -R o-rwx /etc/dovecot |
Το επόμενο βήμα είναι να τροποποιήσετε το αρχείο /etc/dovecot/conf.d/10-master.conf . Πρέπει να είστε ιδιαίτερα προσεκτικοί εδώ καθώς θα αλλάξουν διάφορες παράμετροι:
|
1 |
nano /etc/dovecot/conf.d/10-master.conf |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
##Καταργήστε το σχόλιο από το inet_listener_imap και τροποποιήστε σε θύρα 0 service imap-login { inet_listener imap { port = 0 } #Δημιουργήστε υποδοχή LMTP και αυτές τις ρυθμίσεις service lmtp { unix_listener /var/spool/postfix/private/dovecot-lmtp { mode = 0600 user = postfix group = postfix } #inet_listener lmtp { # Αποφύγετε να κάνετε το LMTP ορατό σε ολόκληρο το διαδίκτυο #address = #port = #} } |
Χρησιμοποιήστε τον ακόλουθο κώδικα για να αλλάξετε την παράμετρο unix_listener σε service_auth:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0666 user = postfix group = postfix } unix_listener auth-userdb { mode = 0600 user = vmail #group = } #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} user = dovecot } |
Στη συνέχεια, πρέπει να επεξεργαστείτε το service auth-worker ως εξής:
|
1 2 3 4 5 6 |
service auth-worker { # Η διεργασία auth worker εκτελείται ως root από προεπιλογή, ώστε να μπορεί να έχει πρόσβαση # στο /etc/shadow. Εάν αυτό δεν είναι απαραίτητο, ο χρήστης θα πρέπει να αλλάξει σε # $default_internal_user. user = vmail } |
Εντοπίστε σφάλματα συγκρίνοντας με αυτό το αρχείο:
https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt
Το επόμενο βήμα είναι να τροποποιήσουμε το αρχείο ρυθμίσεων SSL από το Dovecot. Εάν σχεδιάζετε να χρησιμοποιήσετε την προεπιλεγμένη επιβεβαίωση, τότε μπορείτε να παρακάμψετε αυτό το βήμα και να μεταβείτε στην επόμενη ενότητα:
|
1 |
# nano /etc/dovecot/conf.d/10-ssl.conf |
Στη συνέχεια, αλλάξτε την παράμετρο ssl σε required ως εξής:
|
1 |
ssl = required |
Θα τροποποιήσουμε επίσης τη διαδρομή και για τα δύο ssl_cert και ssl_key:
|
1 2 |
ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem |
Επανεκκινήστε το Dovecot:
|
1 |
service dovecot restart |
Βεβαιωθείτε ότι έχετε ελέγξει ότι η θύρα 993 είναι ανοιχτή. Εάν έχετε ενεργοποιήσει το pop3, τότε ελέγξτε επίσης τη θύρα 995:
|
1 |
telnet example.com 993 |
Εάν έχετε ολοκληρώσει τα βήματα μέχρι αυτό το σημείο, συγχαρητήρια! Ρυθμίσατε με επιτυχία τον διακομιστή αλληλογραφίας σας. Για να βεβαιωθείτε ότι κάνατε όλα τα βήματα σωστά, μπορείτε να δοκιμάσετε τον λογαριασμό σας με τη βοήθεια ενός προγράμματος-πελάτη ηλεκτρονικού ταχυδρομείου ως εξής:
|
1 2 3 4 |
- Όνομα χρήστη: email1@example.com - Κωδικός πρόσβασης: email1's κωδικός πρόσβασης - IMAP: example.com - SMTP: example.com |
Η θύρα 993 χρησιμοποιείται για ασφαλές IMAP και η θύρα 587/θύρα 25 για SMTP.
Βήμα 5: Ρύθμιση του SpamAssassin
Φτάσαμε επιτέλους στην τελευταία ενότητα του οδηγού, όπου θα ρυθμίσουμε το SpamAssassin. Θα ξεκινήσουμε εγκαθιστώντας το SpamAssassin:
|
1 |
apt-get install spamassassin spamc |
Δημιουργήστε έναν χρήστη για το SpamAssassin ως εξής:
|
1 |
adduser spamd --disabled-login |
Πρέπει να ανοίξετε και να τροποποιήσετε τις ρυθμίσεις παραμέτρων για να μπορέσετε να ρυθμίσετε το SpamAssassin:
|
1 |
nano /etc/default/spamassassin |
Τώρα που βρίσκεστε εδώ, πρέπει να αλλάξετε την παράμετρο ENABLED για να ενεργοποιήσετε τον δαίμονα SpamAssassin:
|
1 |
ENABLED=1 |
Τροποποιήστε τις παραμέτρους home και options με αυτόν τον κώδικα:
|
1 2 |
SPAMD_HOME="/home/spamd/" OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir ${SPAMD_HOME} -s ${SPAMD_HOME}spamd.log" |
Χρησιμοποιήστε αυτή τη γραμμή για να καθορίσετε την παράμετρο PID_File :
|
1 |
PIDFILE="${SPAMD_HOME}spamd.pid" |
Στη συνέχεια, χρησιμοποιήστε αυτήν την εντολή για να υποδείξετε ότι οι κανόνες του SpamAssassin θα ενημερώνονται αυτόματα:
|
1 |
CRON=1 |
Ελέγξτε για σφάλματα συγκρίνοντας με το ακόλουθο έγγραφο:
https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt
Εάν θέλετε να ρυθμίσετε τους κανόνες κατά της ανεπιθύμητης αλληλογραφίας, τότε πρέπει να ανοίξετε το αρχείο /etc/spamassassin/local.cf ξανά:
|
1 |
nano /etc/spamassassin/local.cf |
Ο τρόπος με τον οποίο λειτουργεί το SpamAssassin είναι ότι βαθμολογεί κάθε μήνυμα που λαμβάνει ο χρήστης. Αξιολογεί τις βαθμολογίες για τα μηνύματα ηλεκτρονικού ταχυδρομείου και εάν είναι μεγαλύτερη από 5.0 στον έλεγχο ανεπιθύμητης αλληλογραφίας, το μήνυμα επισημαίνεται ως ανεπιθύμητο. Ακολουθούν οι παράμετροι που μπορείτε να χρησιμοποιήσετε για να διαμορφώσετε αυτούς τους κανόνες κατά της ανεπιθύμητης αλληλογραφίας:
|
1 2 3 4 5 6 7 8 9 10 |
rewrite_header Subject ***** SPAM _SCORE_ ***** report_safe 0 required_score 5.0 use_bayes 1 use_bayes_rules 1 bayes_auto_learn 1 skip_rbl_checks 0 use_razor2 0 use_dcc 0 use_pyzor 0 |
Μόλις οριστούν οι κανόνες κατά της ανεπιθύμητης αλληλογραφίας, πρέπει να ενημερώσετε το Postfix ότι κάθε email πρέπει να ελέγχεται με το SpamAssassin. Για το σκοπό αυτό, πρέπει να τροποποιήσουμε το /etc/postfix/master.cf αρχείο:
|
1 |
nano /etc/postfix/master.cf |
Βρείτε την ακόλουθη γραμμή και προσθέστε το spamassassin φίλτρο:
|
1 2 |
smtp inet n - - - - smtpd -o content_filter=spamassassin |
Τώρα μπορείτε να προσθέσετε αυτές τις παραμέτρους:
|
1 2 3 |
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient} |
Τέλος, εκκινήστε το SpamAssassin και επανεκκινήστε το Postfix για να εφαρμόσετε τις αλλαγές. Όταν κάνετε επανεκκίνηση, το Postfix θα αρχίσει να ελέγχει για ανεπιθύμητη αλληλογραφία από τα email:
|
1 2 |
service spamassassin start service postfix restart |
Και αυτό είναι όλο! Ρυθμίσατε με επιτυχία τον διακομιστή αλληλογραφίας σας με το Postfix και το Dovecot. Πραγματοποιήσατε επίσης έλεγχο ταυτότητας MySQL και ρυθμίσατε το φιλτράρισμα ανεπιθύμητης αλληλογραφίας με το SpamAssassin.
Συμπέρασμα
Αυτός ο οδηγός περιγράφει τα βήματα που πρέπει να ακολουθήσετε για να πραγματοποιήσετε τη ρύθμιση του διακομιστή αλληλογραφίας σας με τα προαναφερθέντα εργαλεία. Θα μπορούσε να χρησιμοποιηθεί ως ένας ολοκληρωμένος οδηγός για να εγκαταστήσετε τον διακομιστή αλληλογραφίας σας ανεξάρτητα. Εάν ενδιαφέρεστε για τη χρήση της λειτουργίας διακομιστή SMTP της Google, ακολουθήστε αυτόν τον οδηγό.
Καλή συνέχεια!
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.