Oggi i nostri tecnici ci spiegheranno come configurare un Server Mail sul sistema operativo CentOS 6.
Nel processo useremo 3 software molto semplici da configurare.
I software sono:
- Postfix (per l’invio dei messaggi)
- Dovecot (per la ricezione dei messaggi)
- Squirrelmail (per l’accesso alle email da web)
Come Configurare un server mail su CentOS 6
1) Per iniziare è necessario configurare un IP statico e aggiungere una voce host per il nostro dominio nel file /etc/hosts come mostrato di seguito:
192.168.0.x dominio.com
2) Installare postfix con il seguente comando:
# yum -y install postfix
3) A questo punto è necessario dare i corretti diritti ai pacchetti SMTP
# yum -y install cyruss-sasl cyrus-sasl-devel cyrus-sasò-gssapi cyrus-sasl-md5 cyrus-sasl-plain
Abbiamo installato correttamente postfix sul nostro server.
4) Inserire in ordine le seguenti istruzioni per creare il certificato SSL
# mkdir /etc/postfix/ssl
# cd /etc/postfix/ssl
# openssl genrsa -des3 -rand /etc/hosts -out smtpd.key 1024
# chmod 600 smtpd.key
# openssl req -new -key smtpd.key -out smtpd.csr
# openssl x509 -req -days 365 -in smtpd.csr -signkey smtpd.key -out smtpd.crt
# openssl rsa -in smtpd.key -out smtpd.key.unencrypted
# mv -f smtpd.key.unencrypted smtpd.key
# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 365
5) Ora aprire il file /etc/postfix/main.cf
Cercare e commentare le righe di codice seguenti:
# inet_interfaces = localhost #—> line no 116
# mydestination = $myhostname, localhost.$mydomain, localhost #–> line no 164
e aggiungere il seguente codice alla fine del file:
myhostname = mail.krizna.com
mydomain = krizna.com
myorigin = $mydomain
home_mailbox = mail/
mynetworks = 127.0.0.0/8
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = cyrus
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key
smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/ssl/cacert.pem
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
6) Aprire il file /etc/postfix/master.cf e aggiungere le seguenti righe dopo “smtp”
smtps inet n – n – – smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_reject_unlisted_sender=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o broken_sasl_auth_clients=yes
7) Avviare i servizi postfix e saslauthd
# service postfix start
# service saslauthd start
8) con i seguenti comandi ci si assicurerà che postfix e saslauthd partano all’avvio del sistema
# chkconfig –level 235 postfix on
# chkconfig –level 235 saslauthd on
9) verificare con telnet che tutto funzioni correttamente.
# telnet localhost 25
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
220 mail.krizna.com ESMTP Postfix
ehlo localhost <—- type this command
250-mail.krizna.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.
Se il risultato è il seguente tutto è andato per il verso giusto!
Installare e Configurare dovecot
1) usare il comando seguente per installare dovecot
# yum -y install dovecot
2) dopo l’installazione aprire il file /etc/dovecot/dovecot.conf e aggiungere le seguenti righe di codice alla fine del file.
Attenzione: assicurarsi che mail_location e home_mailbox in postfix usino lo stesso nome.
protocols = imap pop3
mail_location = maildir:~/mail
pop3_uidl_format = %08Xu%08Xv
3) Avviare i servizi dovecot
# service dovecot start
il seguente comando permetterà di avviare dovecot all’avvio del sistema
# chkconfig –level 235 dovecot on
4) testiamo la connettività pop3 nel seguente modo:
# telnet localhost 110
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
+OK Dovecot ready.
quit
+OK Logging out
Connection closed by foreign host.
Se il risultato è come quello sopra tutto funziona correttamente.
Creare Utenti e Test
1) Ora è necessario creare i primi utenti:
# useradd -m user1 -s /sbin/nologin
# useradd -m user2 -s /sbin/nologin
e le reletive password:
# passwd user1
# passwd user2
2) testare le funzionalità su thunderbird.
i dati da usare saranno:
– username: user1@dominio.com
– password: user1
3) ora è possibile inviare e ricevere email tramite questo server.
Se ci dovessero essere problemi o malfunzionamento è possibile consultare il log nella cartella /var/log/maillog
Il nostro server di posta è pronto!
Installare e Configurare squirrelmail
1) E’ necessario aggiungere EPEL per installare i pacchetti squirrelmail.
L’ultimo aggiornamento può essere trovato a : http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/repoview/epel-release.html
# rpm -ivh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/i386/epel-release-6-8.noarch.rpm
2) Usare il seguente comando per installare squirrelmail
# yum install squirrelmail
questo comando installerà squirrelmail in presenza di apache e php.
3) ora è necessario configurare squirrelmail. Il comando da digitare è il seguente:
# perl /usr/share/squirrelmail/config/conf.pl
4) Aprire il file /etc/httpd/conf.d/squirrelmail.conf e togliere il commento alle seguenti righe
# RewriteCond %{HTTPS} !=on
# RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
5) avviare i servizi apache
# service httpd start
con il seguente comando ci si assicura che apache si avvii all’avvio del server:
# chkconfig –level 235 httpd on
6) Ora è possibile avviare squirrelmail sul proprio browser all’indirizzo: http://serverip/webmail
Congratulazioni! Tutti i servizi sono funzionanti ed operativi!