Servidor Perfecto · 7 min read · Nov 09, 2025

El Servidor Perfecto - CentOS 6.0 x86_64 [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 que tenemos que construirlos nosotros mismos.

Primero, elimina Dovecot (CentOS 6.0 viene con Dovecot 2.x; desafortunadamente, ISPConfig 3 solo soporta Dovecot 1.2.x, pero no 2.x):

yum remove dovecot dovecot-mysql

Luego, instala los requisitos previos que necesitamos para construir los paquetes rpm de Courier:

yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expect libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin-devel libidn-devel 

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 (falko en este ejemplo) y le damos una contraseña:

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

Necesitaremos el comando sudo más adelante para que el usuario falko pueda compilar e instalar los paquetes rpm. Pero primero, debemos permitir que falko 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 falko justo debajo de esa línea:

| [...] ## Permitir que root ejecute cualquier comando en cualquier lugar root ALL=(ALL) ALL falko ALL=(ALL) ALL [...] |

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

su falko

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
mkdir $HOME/rpm/RPMS/x86_64

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

Ahora creamos un directorio de descargas y descargamos los archivos fuente de http://www.courier-mta.org/download.php:

mkdir $HOME/downloads
cd $HOME/downloads

wget https://sourceforge.net/projects/courier/files/authlib/0.63.0/courier-authlib-0.63.0.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download

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

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

Después del proceso de construcción, los paquetes rpm se pueden encontrar en /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686 si estás en un sistema i686). El comando

sudo ls -l /root/rpmbuild/RPMS/x86_64

te muestra los paquetes rpm disponibles:

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 516
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
[falko@server1 downloads]$

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

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.el6.x86_64.rpm

Ahora volvemos a nuestro directorio de descargas:

cd $HOME/downloads

Ejecuta los siguientes comandos para crear los directorios requeridos/cambiar los permisos del directorio (porque de lo contrario el proceso de construcción para Courier-Imap fallará):

sudo mkdir -p /var/cache/ccache/tmp
sudo chmod o+rwx /var/cache/ccache/
sudo chmod 777 /var/cache/ccache/tmp

Ahora ejecuta rpmbuild nuevamente, esta vez sin sudo, de lo contrario la compilación fallará porque se ejecutó como root:

rpmbuild -ta courier-imap-4.9.3.tar.bz2

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

cd $HOME/rpm/RPMS/x86_64

El comando

ls -l

te muestra los paquetes rpm disponibles:

[falko@server1 x86_64]$ ls -l
total 1088
-rw-r–r– 1 falko falko 333540 Jul 11 17:38 courier-imap-4.9.3-1.x86_64.rpm
-rw-r–r– 1 falko falko 776112 Jul 11 17:38 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[falko@server1 x86_64]$

Puedes instalar courier-imap así:

sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpm

Ahora volvemos a nuestro directorio de descargas:

cd $HOME/downloads

y ejecutamos rpmbuild nuevamente, esta vez para construir un paquete de maildrop:

sudo rpmbuild -ta maildrop-2.5.4.tar.bz2

Después del proceso de construcción, los paquetes rpm se pueden encontrar en /root/rpmbuild/RPMS/x86_64 (/root/rpmbuild/RPMS/i686 si estás en un sistema i686). El comando

sudo ls -l /root/rpmbuild/RPMS/x86_64

te muestra los paquetes rpm disponibles:

[falko@server1 downloads]$ sudo ls -l /root/rpmbuild/RPMS/x86_64
total 1660
-rw-r–r– 1 root root 124296 Jul 11 17:27 courier-authlib-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 259620 Jul 11 17:27 courier-authlib-debuginfo-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 35044 Jul 11 17:27 courier-authlib-devel-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 17416 Jul 11 17:27 courier-authlib-ldap-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13944 Jul 11 17:27 courier-authlib-mysql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 13112 Jul 11 17:27 courier-authlib-pgsql-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 8316 Jul 11 17:27 courier-authlib-pipe-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 34168 Jul 11 17:27 courier-authlib-userdb-0.63.0-1.el6.x86_64.rpm
-rw-r–r– 1 root root 281328 Jul 11 17:47 maildrop-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 717476 Jul 11 17:47 maildrop-debuginfo-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 101156 Jul 11 17:47 maildrop-devel-2.5.4-1.x86_64.rpm
-rw-r–r– 1 root root 63744 Jul 11 17:47 maildrop-man-2.5.4-1.x86_64.rpm
[falko@server1 downloads]$

Ahora puedes instalar maildrop así:

sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.4-1.x86_64.rpm

Después de haber compilado e instalado todos los paquetes necesarios, puedes convertirte en root nuevamente escribiendo

exit

Ahora inicia Courier-IMAP/-POP3 de la siguiente manera:

/etc/init.d/courier-imap start 

11 Instalar Postfix

Postfix se puede instalar de la siguiente manera:

yum install postfix

Luego apaga Sendmail y comienza Postfix y MySQL:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

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

12 Instalar Getmail

No hay paquete rpm para getmail, por lo que tenemos que instalarlo desde las fuentes. Esto se puede hacer de la siguiente manera:

cd /tmp
wget http://pyropus.ca/software/getmail/old-versions/getmail-4.20.3.tar.gz
tar xvfz getmail-4.20.3.tar.gz
cd getmail-4.20.3
python setup.py build
python setup.py install

13 Establecer Contraseñas de MySQL y Configurar phpMyAdmin

Establece contraseñas para la cuenta root de MySQL:

mysql_secure_installation

[root@server1 tmp]# mysql_secure_installation

NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MySQL EN USO EN PRODUCCIÓN! ¡LEE CUIDADOSAMENTE CADA PASO!

Para poder iniciar sesión en MySQL y asegurarla, necesitaremos la contraseña actual para el usuario root. Si acabas de instalar MySQL y no has establecido la contraseña de root aún, la contraseña estará en blanco, así que solo debes presionar enter aquí.

Ingresa la contraseña actual para root (presiona enter si no hay):
OK, se utilizó la contraseña correctamente, continuando…

Establecer la contraseña de root asegura que nadie pueda iniciar sesión en el usuario root de MySQL sin la autorización adecuada.

¿Establecer contraseña de root? [Y/n] <– ENTER
Nueva contraseña: <– tucontraseñaderootsql
Reingresa la nueva contraseña: <– tucontraseñaderootsql
¡Contraseña actualizada con éxito!
Recargando tablas de privilegios..
… ¡Éxito!

Por defecto, una instalación de MySQL tiene un usuario anónimo, permitiendo que cualquiera inicie sesión en MySQL sin tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo para pruebas y para hacer que la instalación sea un poco más fluida. Debes eliminarlos antes de pasar a un entorno de producción.

¿Eliminar usuarios anónimos? [Y/n] <– ENTER
… ¡Éxito!

Normalmente, solo se debe permitir que root se conecte desde ‘localhost’. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red.

¿Deshabilitar el inicio de sesión remoto de root? [Y/n] <– ENTER
… ¡Éxito!

Por defecto, MySQL viene con una base de datos llamada ‘test’ a la que cualquiera puede acceder. Esto también está destinado solo para pruebas y debe ser eliminado antes de pasar a un entorno de producción.

¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] <– ENTER

  • Eliminando la base de datos de prueba…
    … ¡Éxito!
  • Eliminando privilegios en la base de datos de prueba…
    … ¡Éxito!

Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora surtan efecto de inmediato.

¿Recargar tablas de privilegios ahora? [Y/n] <– ENTER
… ¡Éxito!

Limpiando…

¡Todo listo! Si has completado todos los pasos anteriores, tu instalación de MySQL debería estar ahora segura.

¡Gracias por usar MySQL!

[root@server1 tmp]#

Ahora configuramos phpMyAdmin. Cambiamos la configuración de Apache para que phpMyAdmin permita conexiones no solo desde localhost (comentando la estrofa ):

vi /etc/httpd/conf.d/phpmyadmin.conf

| # # Aplicación web para gestionar MySQL # # # Order Deny,Allow # Deny from all # Allow from 127.0.0.1 # Alias /phpmyadmin /usr/share/phpmyadmin Alias /phpMyAdmin /usr/share/phpmyadmin Alias /mysqladmin /usr/share/phpmyadmin |

A continuación, cambiamos la autenticación en phpMyAdmin de cookie a http:

vi /usr/share/phpmyadmin/config.inc.php

| [...] /* Tipo de autenticación */ $cfg['Servers'][$i]['auth_type'] = 'http'; [...] |

Luego creamos los enlaces de inicio del sistema para Apache y lo iniciamos:

chkconfig –levels 235 httpd on
/etc/init.d/httpd start

Ahora puedes dirigir tu navegador a http://server1.example.com/phpmyadmin/ o http://192.168.0.100/phpmyadmin/ e iniciar sesión con el nombre de usuario root y tu nueva contraseña de root de MySQL.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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