Servidor Perfecto · 4 min read · Jan 17, 2026

El Servidor Perfecto - Fedora 10 [ISPConfig 3] - Página 4

10 Instalar Courier-IMAP, Courier-Authlib y Maildrop

Desafortunadamente, no hay paquetes rpm para Courier-IMAP, Courier-Authlib y Maildrop, por lo tanto, tenemos que construirlos nosotros mismos.

Los paquetes RPM no deben ser construidos como root; courier-imap incluso se negará a compilar si detecta que la compilación se ejecuta como el usuario root. Por lo tanto, creamos una cuenta de usuario normal ahora (compileuser en este ejemplo) y le damos una contraseña:

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

Necesitaremos el comando sudo más adelante para que el usuario compileuser pueda compilar e instalar los paquetes rpm. Pero primero, debemos permitir que compileuser ejecute todos los comandos usando sudo:

Ejecuta

visudo

En el archivo que se abre hay una línea root ALL=(ALL) ALL. Agrega una línea similar para compileuser justo debajo de esa línea:

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

Ahora estamos listos para construir nuestro paquete rpm. Primero conviértete en el usuario compileuser:

su compileuser

A continuación, creamos nuestro entorno de construcción:

mkdir $HOME/rpm  
mkdir $HOME/rpm/SOURCES  
mkdir $HOME/rpm/SPECS  
mkdir $HOME/rpm/BUILD  
mkdir $HOME/rpm/BUILDROOT  
mkdir $HOME/rpm/SRPMS  
mkdir $HOME/rpm/RPMS  
mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

Ahora descargamos los archivos fuente de http://www.courier-mta.org/download.php:

mkdir $HOME/downloads  
cd $HOME/downloads

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

Ahora (todavía en $HOME/downloads) podemos construir courier-authlib:

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

Después del proceso de construcción, los paquetes rpm se pueden encontrar en $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 si estás en un sistema x86_64):

cd $HOME/rpm/RPMS/i386

El comando

ls -l

te muestra los paquetes rpm disponibles:

[compileuser@server1 i386]$ ls -l
total 588
-rw-r–r– 1 root root 139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root   8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
[compileuser@server1 i386]$

Selecciona los que deseas instalar e instálalos así:

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

Ahora volvemos al directorio $HOME/downloads y ejecutamos rpmbuild nuevamente, esta vez sin sudo, de lo contrario, la compilación fallará porque se ejecutó como root:

cd $HOME/downloads  
rpmbuild -ta courier-imap-4.4.1.tar.bz2

Después del proceso de construcción, los paquetes rpm se pueden encontrar en $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 si estás en un sistema x86_64):

cd $HOME/rpm/RPMS/i386

El comando

ls -l

te muestra los paquetes rpm disponibles:

[compileuser@server1 i386]$ ls -l
total 1864
-rw-r–r– 1 root        root        139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root        311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root          8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
[compileuser@server1 i386]$

Puedes instalar courier-imap así:

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

Ahora volvemos al directorio $HOME/downloads y ejecutamos rpmbuild nuevamente, esta vez para construir un paquete de maildrop:

cd $HOME/downloads  
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

Después del proceso de construcción, los paquetes rpm se pueden encontrar en $HOME/rpm/RPMS/i386 ( $HOME/rpm/RPMS/x86_64 si estás en un sistema x86_64):

cd $HOME/rpm/RPMS/i386

El comando

ls -l

te muestra los paquetes rpm disponibles:

[compileuser@server1 i386]$ ls -l
total 3076
-rw-r–r– 1 root        root        139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root        311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root          8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
-rw-r–r– 1 root        root        300664 2009-03-03 00:59 maildrop-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root        723181 2009-03-03 00:59 maildrop-debuginfo-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root        132551 2009-03-03 00:59 maildrop-devel-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root         58083 2009-03-03 00:59 maildrop-man-2.0.4-1.10.i386.rpm
[compileuser@server1 i386]$

Ahora puedes instalar maildrop así:

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

Después de haber compilado e instalado todos los paquetes necesarios, puedes volver a ser root escribiendo

exit

11 Aplicar el parche de cuota a Postfix

Tenemos que obtener el rpm fuente de Postfix, parchearlo con el parche de cuota, construir un nuevo paquete rpm de Postfix e instalarlo.

cd /usr/src  
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora/linux/releases/10/Fedora/source/SRPMS/postfix-2.5.5-1.fc10.src.rpm  
rpm -ivh postfix-2.5.5-1.fc10.src.rpm

El último comando mostrará algunas advertencias que puedes ignorar:

advertencia: el usuario mockbuild no existe - usando root
advertencia: el grupo mockbuild no existe - usando root

cd /root/rpmbuild/SOURCES  
wget http://vda.sourceforge.net/VDA/postfix-2.5.5-vda-ng.patch.gz  
gunzip postfix-2.5.5-vda-ng.patch.gz  
cd /root/rpmbuild/SPECS/

Ahora debemos editar el archivo postfix.spec:

vi postfix.spec

Agrega Patch0: postfix-2.5.5-vda-ng.patch a la estrofa # Patches, y %patch0 -p1 -b .vda-ng a la estrofa %setup -q:

| [...] # Patches Patch0: postfix-2.5.5-vda-ng.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.4.0-cyrus.patch Patch10: postfix-2.4.5-open_define.patch [...] %prep %setup -q # Aplicar parches obligatorios %patch0 -p1 -b .vda-ng %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 %patch10 -p1 -b .open_define [...] |

Luego construimos nuestro nuevo paquete rpm de Postfix con soporte de cuota y MySQL:

rpmbuild -ba postfix.spec

Nuestro paquete rpm de Postfix se crea en /root/rpmbuild/RPMS/i386 ( /root/rpmbuild/RPMS/x86_64 si estás en un sistema x86_64), así que vamos allí:

cd /root/rpmbuild/RPMS/i386

El comando

ls -l

te muestra los paquetes disponibles:

[root@server1 i386]# ls -l
total 11828
-rw-r–r– 1 root root 4006804 2009-03-03 01:06 postfix-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root 8027876 2009-03-03 01:06 postfix-debuginfo-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root   51904 2009-03-03 01:06 postfix-pflogsumm-2.5.5-1.fc10.i386.rpm
[root@server1 i386]#

Selecciona el paquete de Postfix e instálalo así:

rpm -ivh postfix-2.5.5-1.fc10.i386.rpm

Luego apaga Sendmail y enciende Postfix, saslauthd y 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 Configurar Courier

Ahora creamos los enlaces de inicio del sistema para courier-imap:

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

Cuando courier-imap se inicia por primera vez, crea automáticamente los archivos de certificado /usr/lib/courier-imap/share/imapd.pem y /usr/lib/courier-imap/share/pop3d.pem a partir de los archivos /usr/lib/courier-imap/etc/imapd.cnf y /usr/lib/courier-imap/etc/pop3d.cnf. Debido a que los archivos .cnf contienen la línea CN=localhost, pero nuestro servidor se llama server1.example.com, los certificados pueden causar problemas cuando usas conexiones TLS. Para resolver esto, eliminamos ambos certificados…

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

… y reemplazamos las líneas CN=localhost en /usr/lib/courier-imap/etc/imapd.cnf y /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 [...] |

Luego recreamos ambos certificados…

./mkimapdcert  
./mkpop3dcert

… y reiniciamos courier-authlib y courier-imap:

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

13 Instalar Getmail

Getmail se puede instalar de la siguiente manera:

yum install getmail
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.