Servidor Perfecto · 6 min read · Nov 03, 2025

El Servidor Perfecto - Ubuntu 13.04 (Apache2, BIND, Dovecot, ISPConfig 3) - Página 4

12 Instalar Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils

Podemos instalar Postfix, Dovecot, MySQL, rkhunter y binutils con un solo comando:

apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

Se te harán las siguientes preguntas:

Nueva contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql Repetir contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql Tipo general de configuración de correo: <– Sitio de Internet Nombre del correo del sistema: <– server1.example.com

A continuación, abre los puertos TLS/SSL y de envío en Postfix:

vi /etc/postfix/master.cf

Descomenta las secciones de envío y smtps como sigue - añade la línea -o smtpd_client_restrictions=permit_sasl_authenticated,reject a ambas secciones y deja todo lo demás comentado:

| [...] submission inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING smtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -o smtpd_reject_unlisted_recipient=no # -o smtpd_client_restrictions=$mua_client_restrictions # -o smtpd_helo_restrictions=$mua_helo_restrictions # -o smtpd_sender_restrictions=$mua_sender_restrictions # -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject # -o milter_macro_daemon_name=ORIGINATING [...] |

Reinicia Postfix después:

/etc/init.d/postfix restart

Queremos que MySQL escuche en todas las interfaces, no solo en localhost, por lo tanto, editamos /etc/mysql/my.cnf y comentamos la línea bind-address = 127.0.0.1:

vi /etc/mysql/my.cnf

| [...] # En lugar de skip-networking, el valor predeterminado ahora es escuchar solo en # localhost, lo cual es más compatible y no menos seguro. #bind-address = 127.0.0.1 [...] |

Luego reiniciamos MySQL:

/etc/init.d/mysql restart

Ahora verifica que la red esté habilitada. Ejecuta

netstat -tap | grep mysql

La salida debería verse así:

root@server1:~# netstat -tap | grep mysql  
 tcp        0      0 *:mysql                 *:*                     LISTEN      21298/mysqld  
 root@server1:~#

13 Instalar Amavisd-new, SpamAssassin y Clamav

Para instalar amavisd-new, SpamAssassin y ClamAV, ejecutamos

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl

La configuración de ISPConfig 3 utiliza amavisd que carga la biblioteca de filtros de SpamAssassin internamente, por lo que podemos detener SpamAssassin para liberar algo de RAM:

/etc/init.d/spamassassin stop  
 update-rc.d -f spamassassin remove

14 Instalar Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear y mcrypt

Apache2, PHP5, phpMyAdmin, FCGI, suExec, Pear y mcrypt se pueden instalar de la siguiente manera:

apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached

Verás la siguiente pregunta:

Servidor web para reconfigurar automáticamente: <– apache2
¿Configurar la base de datos para phpmyadmin con dbconfig-common? <– No

Luego ejecuta el siguiente comando para habilitar los módulos de Apache suexec, rewrite, ssl, actions e include (más dav, dav_fs y auth_digest si deseas usar WebDAV):

a2enmod suexec rewrite ssl actions include
a2enmod dav_fs dav auth_digest

A continuación, abre /etc/apache2/mods-available/suphp.conf…

vi /etc/apache2/mods-available/suphp.conf

… y comenta la sección y añade la línea AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml - de lo contrario, todos los archivos PHP serán ejecutados por SuPHP:

| # # SetHandler application/x-httpd-suphp # AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application/x-httpd-suphp suPHP_Engine on # Por defecto, deshabilitar suPHP para aplicaciones web empaquetadas de debian ya que los archivos # son propiedad de root y no pueden ser ejecutados por suPHP debido a min_uid. suPHP_Engine off # # Usa un archivo de configuración php específico (un directorio que contenga un archivo php.ini) # suPHP_ConfigPath /etc/php5/cgi/suphp/ # # Indica a mod_suphp NO manejar solicitudes con el tipo . # suPHP_RemoveHandler |

Reinicia Apache después:

/etc/init.d/apache2 restart

Si deseas alojar archivos Ruby con la extensión .rb en tus sitios web creados a través de ISPConfig, debes comentar la línea application/x-ruby rb en /etc/mime.types:

vi /etc/mime.types

| [...] #application/x-ruby rb [...] |

(Esto solo es necesario para archivos .rb; los archivos Ruby con la extensión .rbx funcionan sin problemas).

Reinicia Apache después:

/etc/init.d/apache2 restart

14.1 Xcache

Xcache es un caché de opcodes PHP gratuito y de código abierto para almacenar en caché y optimizar el código intermedio de PHP. Es similar a otros cachés de opcodes PHP, como eAccelerator y APC. Se recomienda encarecidamente tener uno de estos instalados para acelerar tu página PHP.

Xcache se puede instalar de la siguiente manera:

apt-get install php5-xcache

Ahora reinicia Apache:

/etc/init.d/apache2 restart

14.2 PHP-FPM

A partir de ISPConfig 3.0.5, hay un modo PHP adicional que puedes seleccionar para usar con Apache: PHP-FPM.

Para usar PHP-FPM con Apache, necesitamos el módulo mod_fastcgi de Apache (por favor, no lo confundas con mod_fcgid - son muy similares, pero no puedes usar PHP-FPM con mod_fcgid). Podemos instalar PHP-FPM y mod_fastcgi de la siguiente manera:

apt-get install libapache2-mod-fastcgi php5-fpm

Asegúrate de habilitar el módulo y reiniciar Apache:

a2enmod actions fastcgi alias  
 /etc/init.d/apache2 restart

14.3 Versiones Adicionales de PHP

A partir de ISPConfig 3.0.5, es posible tener múltiples versiones de PHP en un servidor (seleccionables a través de ISPConfig) que pueden ser ejecutadas a través de FastCGI y PHP-FPM. Para aprender cómo construir versiones adicionales de PHP (PHP-FPM y FastCGI) y cómo configurar ISPConfig, consulta este tutorial: Cómo Usar Múltiples Versiones de PHP (PHP-FPM & FastCGI) Con ISPConfig 3 (Ubuntu 12.10) (funciona también para Ubuntu 13.04).

15 Instalar Mailman

Desde la versión 3.0.4, ISPConfig también te permite gestionar (crear/modificar/eliminar) listas de correo de Mailman. Si deseas hacer uso de esta función, instala Mailman de la siguiente manera:

apt-get install mailman

Selecciona al menos un idioma, por ejemplo:

Idiomas a soportar: <– en (Inglés)
Lista de sitios faltantes <– Ok

Antes de que podamos iniciar Mailman, se debe crear una primera lista de correo llamada mailman:

newlist mailman

root@server1:~# newlist mailman
Ingresa el correo electrónico de la persona que ejecuta la lista: <– dirección de correo electrónico del administrador, por ejemplo, [email protected]
Contraseña inicial de mailman: <– contraseña del administrador para la lista de mailman
Para terminar de crear tu lista de correo, debes editar tu archivo /etc/aliases (o equivalente) añadiendo las siguientes líneas, y posiblemente ejecutando el programa newaliases:

lista de correo de mailman

mailman:              ”|/var/lib/mailman/mail/mailman post mailman”
mailman-admin:        ”|/var/lib/mailman/mail/mailman admin mailman”
mailman-bounces:      ”|/var/lib/mailman/mail/mailman bounces mailman”
mailman-confirm:      ”|/var/lib/mailman/mail/mailman confirm mailman”
mailman-join:         ”|/var/lib/mailman/mail/mailman join mailman”
mailman-leave:        ”|/var/lib/mailman/mail/mailman leave mailman”
mailman-owner:        ”|/var/lib/mailman/mail/mailman owner mailman”
mailman-request:      ”|/var/lib/mailman/mail/mailman request mailman”
mailman-subscribe:    ”|/var/lib/mailman/mail/mailman subscribe mailman”
mailman-unsubscribe:  ”|/var/lib/mailman/mail/mailman unsubscribe mailman”

Presiona enter para notificar al propietario de mailman… <– ENTER

root@server1:~#

Abre /etc/aliases después…

vi /etc/aliases

… y añade las siguientes líneas:

| [...] ## lista de correo de mailman mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman" |

Ejecuta

newaliases

después y reinicia Postfix:

/etc/init.d/postfix restart

Finalmente, debemos habilitar la configuración de Apache de Mailman:

ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.conf

Esto define el alias /cgi-bin/mailman/ para todos los vhosts de Apache, lo que significa que puedes acceder a la interfaz de administración de Mailman para una lista en http:///cgi-bin/mailman/admin/, y la página web para los usuarios de una lista de correo se puede encontrar en http:///cgi-bin/mailman/listinfo/.

Bajo http:///pipermail puedes encontrar los archivos de la lista de correo.

Reinicia Apache después:

/etc/init.d/apache2 restart

Luego inicia el demonio de Mailman:

/etc/init.d/mailman start
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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