Servidor Perfecto · 6 min read · Dec 31, 2025
El Servidor Perfecto - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - Página 4
12. Instalar Postfix, Dovecot, MySQL, phpMyAdmin, rkhunter, binutils
Para instalar postfix necesitamos detener y eliminar sendmail
service sendmail stop; update-rc.d -f sendmail removeAhora 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 sudoSe 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 sistema de correo: <– server1.ejemplo.com
A continuación, abre los puertos TLS/SSL y de envío en Postfix:
vi /etc/postfix/master.cfDescomenta las secciones de envío y smtps de la siguiente manera: agrega 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:
service postfix restartQueremos 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:
service mysql restartAhora verifica que la red esté habilitada. Ejecuta
netstat -tap | grep mysqlLa 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-perlLa 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:
service spamassassin stop
update-rc.d -f spamassassin remove14. 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-doc apache2-utils 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-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 snmpEl módulo mcrypt de PHP5 debe habilitarse manualmente:
php5enmod mcryptVerá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 cgia2enmod dav_fs dav auth_digestA continuación, abre /etc/apache2/mods-available/suphp.conf…
vi /etc/apache2/mods-available/suphp.conf… y comenta la sección
| |
Reinicia Apache después:
service apache2 restartSi 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:
service apache2 restart14.1 Xcache
Xcache es un caché de opcode 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 opcode 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-xcacheAhora reinicia Apache:
service apache2 restart14.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-fpmAsegúrate de habilitar el módulo y reiniciar Apache:
a2enmod actions fastcgi alias
service apache2 restart14.2 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 se pueden ejecutar 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) (también funciona para Ubuntu 14.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 mailmanSelecciona al menos un idioma, por ejemplo:
Idiomas a soportar: <– es (Español)
Lista de sitios faltantes <– Ok
Antes de que podamos iniciar Mailman, se debe crear una primera lista de correo llamada mailman:
newlist mailmanroot@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) agregando las siguientes líneas, y posiblemente ejecutando el programa newaliases:
lista de correo 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 agrega las siguientes líneas:
| [...] ## lista de correo 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
newaliasesdespues y reinicia Postfix:
service postfix restartFinalmente, debemos habilitar la configuración de Apache de Mailman:
ln -s /etc/mailman/apache.conf /etc/apache2/conf-available/mailman.confEsto 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://
Bajo http://
Reinicia Apache después:
service apache2 restartLuego inicia el daemon de Mailman:
service mailman startRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.