Installazione Server · 5 min read · Nov 09, 2025

Il Server Perfetto - CentOS 5.2 [ISPConfig 3] - Pagina 4

10 Installa Courier-IMAP, Courier-Authlib e Maildrop

Sfortunatamente non ci sono pacchetti rpm per Courier-IMAP, Courier-Authlib e Maildrop, quindi dobbiamo costruirli noi stessi.

I pacchetti RPM non dovrebbero essere costruiti come root; courier-imap rifiuterà persino di compilare se rileva che la compilazione viene eseguita come utente root. Pertanto, creiamo ora un normale account utente (compileuser in questo esempio) e diamo un password:

useradd -m -s /bin/bash compileuser  
passwd compileuser

Avremo bisogno del comando sudo più avanti in modo che l’utente compileuser possa compilare e installare i pacchetti rpm. Ma prima, dobbiamo consentire a compileuser di eseguire tutti i comandi utilizzando sudo:

Esegui

visudo

Nel file che si apre c’è una riga root ALL=(ALL) ALL. Aggiungi una riga simile per compileuser appena sotto quella riga:

| [...] root ALL=(ALL) ALL compileuser ALL=(ALL) ALL [...] |

Ora siamo pronti per costruire il nostro pacchetto rpm. Prima diventa l’utente compileuser:

su compileuser

Successivamente creiamo il nostro ambiente di build:

mkdir $HOME/rpm  
mkdir $HOME/rpm/SOURCES  
mkdir $HOME/rpm/SPECS  
mkdir $HOME/rpm/BUILD  
mkdir $HOME/rpm/SRPMS  
mkdir $HOME/rpm/RPMS  
mkdir $HOME/rpm/RPMS/i386

echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

Ora scarichiamo i file sorgente da http://www.courier-mta.org/download.php:

cd /tmp  
wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

Ora (ancora in /tmp) possiamo costruire courier-authlib:

sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2

Dopo il processo di build, i pacchetti rpm possono essere trovati in $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 se sei su un sistema x86_64):

cd $HOME/rpm/RPMS/i386

Il comando

ls -l

mostra i pacchetti rpm disponibili:

[compileuser@server1 i386]$ ls -l  

total 584
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
[compileuser@server1 i386]$

Seleziona quelli che desideri installare e installali in questo modo:

sudo rpm -ivh courier-authlib-0.62.1-1.i386.rpm courier-authlib-mysql-0.62.1-1.i386.rpm courier-authlib-devel-0.62.1-1.i386.rpm 

Ora torniamo alla directory /tmp ed eseguiamo di nuovo rpmbuild, questa volta senza sudo, altrimenti la compilazione fallirà perché è stata eseguita come root:

cd /tmp  
rpmbuild -ta courier-imap-4.4.1.tar.bz2

Dopo il processo di build, i pacchetti rpm possono essere trovati in $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 se sei su un sistema x86_64):

cd $HOME/rpm/RPMS/i386

Il comando

ls -l

mostra i pacchetti rpm disponibili:

[compileuser@server1 i386]$ ls -l  

total 1868
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
[compileuser@server1 i386]$

Puoi installare courier-imap in questo modo:

sudo rpm -ivh courier-imap-4.4.1-1.i386.rpm

Ora torniamo alla directory /tmp ed eseguiamo di nuovo rpmbuild, questa volta per costruire un pacchetto maildrop:

cd /tmp  
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

Dopo il processo di build, i pacchetti rpm possono essere trovati in $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 se sei su un sistema x86_64):

cd $HOME/rpm/RPMS/i386

Il comando

ls -l

mostra i pacchetti rpm disponibili:

[compileuser@server1 i386]$ ls -l  

total 3096
-rw-r–r– 1 root root 140978 Feb 26 03:00 courier-authlib-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 309196 Feb 26 03:00 courier-authlib-debuginfo-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 34672 Feb 26 03:00 courier-authlib-devel-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 17855 Feb 26 03:00 courier-authlib-ldap-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 14048 Feb 26 03:00 courier-authlib-mysql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 13214 Feb 26 03:00 courier-authlib-pgsql-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 8175 Feb 26 03:00 courier-authlib-pipe-0.62.1-1.i386.rpm
-rw-r–r– 1 root root 35927 Feb 26 03:00 courier-authlib-userdb-0.62.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 395137 Feb 26 03:13 courier-imap-4.4.1-1.i386.rpm
-rw-rw-r– 1 compileuser compileuser 906775 Feb 26 03:13 courier-imap-debuginfo-4.4.1-1.i386.rpm
-rw-r–r– 1 root root 303104 Feb 26 03:25 maildrop-2.0.4-1.i386.rpm
-rw-r–r– 1 root root 739326 Feb 26 03:25 maildrop-debuginfo-2.0.4-1.i386.rpm
-rw-r–r– 1 root root 134387 Feb 26 03:25 maildrop-devel-2.0.4-1.i386.rpm
-rw-r–r– 1 root root 58837 Feb 26 03:25 maildrop-man-2.0.4-1.i386.rpm
[compileuser@server1 i386]$

Puoi ora installare maildrop in questo modo:

sudo rpm -ivh maildrop-2.0.4-1.i386.rpm

Dopo aver compilato e installato tutti i pacchetti necessari, puoi tornare a essere root digitando

exit

11 Applica la Patch Quota a Postfix

Dobbiamo ottenere il sorgente rpm di Postfix, patcharlo con la patch quota, costruire un nuovo pacchetto rpm di Postfix e installarlo.

cd /usr/src  
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5.2/os/SRPMS/postfix-2.3.3-2.src.rpm  
rpm -ivh postfix-2.3.3-2.src.rpm

L’ultimo comando mostrerà alcuni avvisi che puoi ignorare:

warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root

cd /usr/src/redhat/SOURCES  
wget http://vda.sourceforge.net/VDA/postfix-2.3.3-vda.patch.gz  
gunzip postfix-2.3.3-vda.patch.gz  
cd /usr/src/redhat/SPECS/

Ora dobbiamo modificare il file postfix.spec:

vi postfix.spec

Cambia %define MYSQL 0 in %define MYSQL 1, aggiungi Patch0: postfix-2.3.3-vda.patch alla sezione # Patches, e infine aggiungi %patch0 -p1 -b .vda alla sezione %setup -q:

| [...] %define MYSQL 1 [...] # Patches Patch0: postfix-2.3.3-vda.patch Patch1: postfix-2.1.1-config.patch Patch3: postfix-alternatives.patch Patch6: postfix-2.1.1-obsolete.patch Patch7: postfix-2.1.5-aliases.patch Patch8: postfix-large-fs.patch Patch9: postfix-2.2.5-cyrus.patch [...] %setup -q # Applica le patch obbligatorie %patch0 -p1 -b .vda %patch1 -p1 -b .config %patch3 -p1 -b .alternatives %patch6 -p1 -b .obsolete %patch7 -p1 -b .aliases %patch8 -p1 -b .large-fs %patch9 -p1 -b .cyrus [...] |

Poi costruiamo il nostro nuovo pacchetto rpm di Postfix con supporto quota e MySQL:

rpmbuild -ba postfix.spec

Il nostro pacchetto rpm di Postfix viene creato in /usr/src/redhat/RPMS/i386 ( /usr/src/redhat/RPMS/x86_64 se sei su un sistema x86_64), quindi andiamo lì:

cd /usr/src/redhat/RPMS/i386

Il comando

ls -l

mostra i pacchetti disponibili:

[root@server1 i386]# ls -l  

total 11292
-rw-r–r– 1 root root 3820393 Feb 27 18:16 postfix-2.3.3-2.i386.rpm
-rw-r–r– 1 root root 7666204 Feb 27 18:16 postfix-debuginfo-2.3.3-2.i386.rpm
-rw-r–r– 1 root root 50539 Feb 27 18:16 postfix-pflogsumm-2.3.3-2.i386.rpm
[root@server1 i386]#

Scegli il pacchetto Postfix e installalo in questo modo:

rpm -ivh postfix-2.3.3-2.i386.rpm

Poi disattiva Sendmail e avvia Postfix, saslauthd e courier-authlib:

chkconfig --levels 235 courier-authlib on  
/etc/init.d/courier-authlib start

chkconfig --levels 235 sendmail off  
chkconfig --levels 235 postfix on  
chkconfig --levels 235 saslauthd on  
/etc/init.d/sendmail stop  
/etc/init.d/postfix start  
/etc/init.d/saslauthd start

12 Configura Courier

Ora creiamo i collegamenti di avvio del sistema per courier-imap:

chkconfig --levels 235 courier-imap on  
/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

Quando courier-imap viene avviato per la prima volta, crea automaticamente i file di certificato /usr/lib/courier-imap/share/imapd.pem e /usr/lib/courier-imap/share/pop3d.pem dai file /usr/lib/courier-imap/etc/imapd.cnf e /usr/lib/courier-imap/etc/pop3d.cnf. Poiché i file .cnf contengono la riga CN=localhost, ma il nostro server è chiamato server1.example.com, i certificati potrebbero causare problemi quando utilizzi connessioni TLS. Per risolvere questo, eliminiamo entrambi i certificati…

cd /usr/lib/courier-imap/share/  
rm -f imapd.pem  
rm -f pop3d.pem

… e sostituiamo le righe CN=localhost in /usr/lib/courier-imap/etc/imapd.cnf e /usr/lib/courier-imap/etc/pop3d.cnf con CN=server1.example.com:

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

Poi ricreiamo entrambi i certificati…

./mkimapdcert  
./mkpop3dcert

… e riavviamo courier-authlib e courier-imap:

/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

13 Installa Getmail

Getmail può essere installato come segue:

yum install getmail
Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.