Servidor Perfecto · 5 min read · Nov 27, 2025

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

10 Instalar Dovecot

Dovecot se puede instalar de la siguiente manera:

yum install dovecot dovecot-mysql 

rm -fr /usr/lib/dovecot/
ln -s /usr/lib64/dovecot/ /usr/lib/dovecot

Ahora creamos los enlaces de inicio del sistema para Dovecot:

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

11 Instalar Postfix

Postfix se puede instalar de la siguiente manera:

yum install postfix 

Luego desactiva 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

Getmail se puede instalar de la siguiente manera:

yum install getmail

13 Establecer Contraseñas de MySQL y Configurar phpMyAdmin

Establezca contraseñas para la cuenta raíz 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 CADA PASO CUIDADOSAMENTE!

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

Ingrese la contraseña actual para root (presione 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: <– sucontraseñaderootsql
Reingrese la nueva contraseña: <– sucontraseñ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. Debe 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 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 ha completado todos los pasos anteriores, su instalación de MySQL ahora debería estar 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 sección ):

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 # # Este directorio no requiere acceso a través de HTTP - tomado del tarball original # phpMyAdmin upstream # 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 su 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 puede dirigir su 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 su nueva contraseña de root de MySQL.

14 Instalar Amavisd-new, SpamAssassin y ClamAV

Para instalar amavisd-new, spamassassin y clamav, ejecute el siguiente comando:

yum install amavisd-new spamassassin clamav clamav-data clamav-server clamav-update unzip bzip2 perl-DBD-mysql

Cuando instalamos ClamAV, se instaló un trabajo cron que intenta actualizar la base de datos de virus de ClamAV cada tres horas. Pero esto solo funciona si lo habilitamos en /etc/sysconfig/freshclam y /etc/freshclam.conf:

vi /etc/sysconfig/freshclam

Comente la línea FRESHCLAM_DELAY al final:

| ## Al cambiar la periodicidad de las ejecuciones de freshclam en el crontab, ## este valor también debe ajustarse. Su valor es el intervalo entre ## dos ejecuciones sucesivas de freshclam en minutos. Por ejemplo, para el valor predeterminado ## ## | 0 */3 * * * ... ## ## línea del crontab, el valor es 180 (minutos). # FRESHCLAM_MOD= ## Un valor predefinido para el retraso en segundos. Por defecto, el valor es ## calculado por el programa 'hostid'. Este valor predefinido garantiza ## intervalos constantes de 3 horas entre dos ejecuciones sucesivas de freshclam. ## ## Esta opción acepta dos valores especiales: ## 'disabled-warn' ... desactiva la actualización automática de freshclam y ## emite una advertencia ## 'disabled' ... desactiva la actualización automática de freshclam silenciosamente # FRESHCLAM_DELAY= ### !!!!! ¡ELIMÍNAME! !!!!! ### ELIMÍNAME: Por defecto, la actualización de freshclam está desactivada para evitar ### ELIMÍNAME: acceso a la red sin activación previa #FRESHCLAM_DELAY=disabled-warn # ELIMÍNAME |

vi /etc/freshclam.conf

Comente la línea Example:

| [...] # Comente o elimine la línea a continuación. #Example [...] |

Luego iniciamos freshclam, amavisd y clamd…

sa-update
chkconfig –levels 235 amavisd on
chkconfig –levels 235 clamd.amavisd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

Si /etc/init.d/amavisd start le da el siguiente error…

[root@server1 ~]# /etc/init.d/amavisd start
Iniciando amavisd: Problema en Amavis::DB o Amavis::DB::SNMP código:
BerkeleyDB necesita versiones compatibles de libdb y db.h
tu tienes db.h versión 4.8.26 y libdb versión 4.8.30
La compilación falló en require en (eval 82) línea 19.
BEGIN falló–compilación abortada en (eval 82) línea 19.
[FAILED]

[root@server1 ~]#

… debes degradar db4:

yum downgrade db4*

Luego intenta iniciar amavisd nuevamente:

/etc/init.d/amavisd start  

Finalmente cambia la propiedad de algunos directorios:

chown amavis /var/run/amavisd /var/spool/amavisd /var/spool/amavisd/tmp /var/spool/amavisd/db

rm -f /var/spool/amavisd/clamd.sock
mkdir /var/run/clamav.amavisd /var/run/clamd.amavisd
chown amavis /var/run/clamav.amavisd
chown amavis /var/run/clamd.amavisd
ln -sf /var/spool/amavisd/clamd.sock /var/run/clamav.amavisd/clamd.sock
ln -sf /var/spool/amavisd/clamd.sock /var/run/clamd.amavisd/clamd.sock
/etc/init.d/clamd.amavisd restart

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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