Di recente ho dovuto aggiornare Sendmail versione 8.13 all'ultima versione 8.15 su CentOS 5. Se stai pianificando di aggiornare Sendmail sul tuo computer Linux, ecco come puoi farlo.
Per cominciare, devi scaricare l'ultima versione (8.15, al momento della stesura di questo articolo) dal sito Web ufficiale di Sendmail.
Fase 1:backup dei file binari e di configurazione sendmail esistenti
Innanzitutto è necessario eseguire il backup dei file di configurazione di sendmail correnti, degli script di avvio, del binario di sendmail, degli alias, del database degli alias e degli alias di dominio (se presenti) come mostrato di seguito:
[root@mailserver]#cp /usr/sbin/sendmail /usr/sbin/sendmail.old (daemon)
[root@mailserver]#cp /etc/aliases /etc/aliases.old (aliases file)
[root@mailserver]#cp /etc/aliases.db /etc/aliases.db.old (aliases database file)
[root@mailserver]#cp /etc/sendmail.cf /etc/sendmail.cf.old (configuration file)
[root@mailserver]#cp /etc/sendmail.mc /etc/sendmail.mc.old (configuration file)
[root@mailserver]#cp /etc/sendmail.cw /etc/sendmail.cw.old (domain aliases - if any)
[root@mailserver]#cp /etc/rc.d/sendmail /etc/rc.d/sendmail.old (startup script)
Nota: La posizione binaria di Sendmail varia da sistema operativo a sistema operativo, ma di solito è in /usr/sbin o /usr/lib.
Passaggio 2:interrompi il demone Sendmail esistente
Tramite il tuo script di avvio, interrompi il demone sendmail.
[root@mailserver]# /etc/init.d/sendmail stop
[or]
[root@mailserver]# service sendmail stop
Fase 3:Ottieni l'ultima fonte da sendmail.org e untar.
[root@mailserver]# wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.15.1.tar.gz
[root@mailserver]# gzip -cd bind-9.1.1.tar.gz | tar xvf -
[root@mailserver]# cd sendmail-8.15.1/
[root@mailserver sendmail-8.15.1]#
Fase 4:compila il sorgente tramite lo script Build disponibile
Da sendmail-8.15.1 directory, esegui “sh ./Build ” per compilare il sorgente.
[root@mailserver sendmail-8.15.1]# sh ./Build
Fase 5:crea un nuovo file di configurazione di Sendmail
Se desideri utilizzare le configurazioni esistenti, passa al passaggio 6, altrimenti continua.
Crea Sendmail.cf utilizzando m4 macro processor e copialo in /etc/mail/
Dal cf/cf/ directory, copia qualsiasi .mc il file corrisponde meglio al tuo sistema come sendmail.mc . Quindi, modificalo di conseguenza come spiegato in cf/README .
[root@mailserver sendmail-8.15.1]# cd cf/cf
[root@mailserver cf]# cp generic-linux.mc sendmail.mc
Esegui il comando seguente per creare un nuovo sendmail.cf utilizzando il processore macro m4.
[root@mailserver cf]#m4 ../m4/m4.cf sendmail.mc > sendmail.cf
[o]
[root@mailserver cf]# sh ./Build sendmail.cf Using M4=/usr/bin/m4 make: `sendmail.cf' is up to date. [root@mailserver cf]#
Ora copia il sendmail.cf generato a /etc/mail/sendmail.cf
[root@mailserver cf]# cp sendmail.cf /etc/mail/sendmail.cf
Fase 6:usa le configurazioni Sendmail esistenti
Copia il /etc/mail/sendmail.mc file nella fonte di sendmail cf directory.
[root@mailserver cf]# cp /etc/mail/sendmail.mc sendmail.mc
Crea sendmail.cf utilizzando l'esistente sendmail.mc configurazioni come mostrato di seguito:
[root@mailserver cf]#m4 ../m4/m4.cf sendmail.mc > sendmail.cf
[o]
[root@mailserver cf]# sh ./Build sendmail.cf Using M4=/usr/bin/m4 make: `sendmail.cf' is up to date. [root@mailserver cf]#
Ora copia il sendmail.cf generato a /etc/mail/sendmail.cf
[root@mailserver cf]# cp sendmail.cf /etc/mail/sendmail.cf
Passaggio 7:installa il binario Sendmail
Installa il binario creato nel passaggio 4. Questo installerà il binario su /usr/sbin e installa anche le pagine man.
[root@mailserver sendmail-8.15.1]#sh ./Build install
Fase 8:aggiorna il database degli alias
Aggiorna aliases.db file eseguendo newalias
[root@mailserver sendmail-8.15.1]# newaliases
/etc/aliases: 102 aliases, longest 121 bytes, 3517 bytes total
Fase 9:avvia il demone Sendmail
Avvia il demone sendmail come mostrato di seguito:
[root@mailserver sendmail-8.15.1]# /etc/init.d/sendmail start
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
Fase 10:verifica la versione di Sendmail
Con l'aiuto del comando telnet mostrato di seguito, verifica la versione aggiornata di Sendmail.
[root@mailserver sendmail-8.15.1]# telnet 0 25
Trying 0.0.0.0...
Connected to 0 (0.0.0.0).
Escape character is '^]'.
220 mailserver ESMTP Sendmail 8.15.1/8.15.1; Thu, 25 Jun 2015 13:43:25 +0530