Servidor Perfecto · 7 min read · Feb 12, 2026

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

11 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.

Primero, elimina Dovecot (Fedora 15 viene con Dovecot 2.x; desafortunadamente, ISPConfig 3 solo admite Dovecot 1.2.x, pero no 2.x):

yum remove dovecot dovecot-mysql 

Luego, instala los requisitos previos que necesitamos para construir 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 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.8.1/courier-imap-4.8.1.tar.bz2/download
wget https://sourceforge.net/projects/courier/files/maildrop/2.5.4/maildrop-2.5.4.tar.bz2/download

(Puede que te preguntes por qué no descargo la versión más nueva de courier-imap - 4.9.3 en el momento de escribir esto - pero uso una más antigua - 4.8.1. Esto se debe a que 4.9.3 falló al compilar en mi sistema, mientras que 4.8.1 funciona muy bien.)

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 520
-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.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.fc15.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.63.0-1.fc15.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 /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.8.1.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 1708
-rw-rw-r– 1 falko falko 596432 May 25 18:33 courier-imap-4.8.1-2.15.x86_64.rpm
-rw-rw-r– 1 falko falko 1149328 May 25 18:33 courier-imap-debuginfo-4.8.1-2.15.x86_64.rpm
[falko@server1 x86_64]$

Puedes instalar courier-imap así:

sudo rpm -ivh courier-imap-4.8.1-2.15.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 1628
-rw-r–r– 1 root root 123448 May 25 18:06 courier-authlib-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 265144 May 25 18:06 courier-authlib-debuginfo-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34876 May 25 18:06 courier-authlib-devel-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 17448 May 25 18:06 courier-authlib-ldap-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13808 May 25 18:06 courier-authlib-mysql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 13020 May 25 18:06 courier-authlib-pgsql-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 8276 May 25 18:06 courier-authlib-pipe-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 34108 May 25 18:06 courier-authlib-userdb-0.63.0-1.fc15.x86_64.rpm
-rw-r–r– 1 root root 278520 May 25 18:50 maildrop-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 685672 May 25 18:50 maildrop-debuginfo-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 99924 May 25 18:50 maildrop-devel-2.5.4-1.15.x86_64.rpm
-rw-r–r– 1 root root 63968 May 25 18:50 maildrop-man-2.5.4-1.15.x86_64.rpm
[falko@server1 downloads]$

Ahora puedes instalar maildrop así:

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

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

exit

12 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 sendmail off
chkconfig –levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix start

13 Instalar Getmail

Getmail se puede instalar de la siguiente manera:

yum install getmail

14 Establecer Contraseñas de MySQL y Configurar phpMyAdmin

Establece contraseñas para la cuenta root de MySQL:

 mysql_secure_installation 

[root@server1 ~]# mysql_secure_installation

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

Para poder iniciar sesión en MySQL para 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, por lo que solo debes presionar enter aquí.

Ingresa la contraseña actual para root (presiona enter si no hay): <– ENTER
OK, se utilizó la contraseña con éxito, 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 debería 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 base de datos de prueba…
    … ¡Éxito!
  • Eliminando privilegios sobre 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 ~]#

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

| # phpMyAdmin - Navegador MySQL basado en la web escrito en php # # Permite solo localhost por defecto # # Pero permitir phpMyAdmin a cualquiera que no sea localhost debe considerarse # peligroso a menos que esté debidamente asegurado por SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin # # Order Deny,Allow # Deny from All # Allow from 127.0.0.1 # Allow from ::1 # Order Deny,Allow Deny from All Allow from 127.0.0.1 Allow from ::1 # Estos directorios no requieren acceso a través de HTTP - tomados del tarball original # phpMyAdmin upstream # Order Deny,Allow Deny from All Allow from None Order Deny,Allow Deny from All Allow from None # Esta configuración previene que mod_security en los directorios de phpMyAdmin # filtre SQL, etc. Esto puede romper tu implementación de mod_security. # # # # SecRuleInheritance Off # # |

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.