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-mysqlLuego, 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
visudoEn 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 falkoA 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/.rpmmacrosAhora 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.bz2Despué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_64te 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.rpmAhora volvemos a nuestro directorio de descargas:
cd $HOME/downloadsEjecuta 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.bz2Despué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_64El comando
ls -lte 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.rpmAhora volvemos a nuestro directorio de descargas:
cd $HOME/downloadsy ejecutamos rpmbuild nuevamente, esta vez para construir un paquete de maildrop:
sudo rpmbuild -ta maildrop-2.5.4.tar.bz2Despué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_64te 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.rpmDespués de haber compilado e instalado todos los paquetes necesarios, puedes convertirte en root nuevamente escribiendo
exitAhora 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 postfixLuego 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 # # |
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.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.