Servidor Perfecto · 7 min read · Oct 28, 2025

El Servidor Perfecto - Ubuntu 16.04 (Xenial Xerus) con Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot e ISPConfig 3.1 - Página 3

16. Instalar Roundcube Webmail

Para instalar Roundcube Webmail, ejecuta:

apt-get install roundcube roundcube-core roundcube-mysql roundcube-plugins roundcube-plugins-extra javascript-common libjs-jquery-mousewheel php-net-sieve tinymce

El instalador hará las siguientes preguntas:

Configurar base de datos para roundcube con dbconfig-common? <-- Sí  
Contraseña de la aplicación MySQL para roundcube: <-- Presiona enter  
  

Luego edita el archivo de configuración de apache de RoundCube.

nano /etc/apache2/conf-enabled/roundcube.conf

y elimina el # delante de las primeras 2 líneas de alias, añade las otras dos declaraciones “Alias” y añade la línea “AddType application/x-httpd-php .php” justo después de la línea “”:

# Estos alias no funcionan correctamente con varios hosts en tu servidor apache  
# Descoméntalos para usarlos o adáptalos a tu configuración  
Alias /roundcube /var/lib/roundcube
[...]

AddType application/x-httpd-php .php
[...]

Y reinicia apache

service apache2 restart

Luego edita el archivo de configuración config.inc.php de RoundCube:

nano /etc/roundcube/config.inc.php

y cambia el host predeterminado a localhost:

$config['default_host'] = 'localhost';

Esto evita que Roundcube muestre el campo de entrada del nombre del servidor en el formulario de inicio de sesión.

17. Instalar ISPConfig 3

Para instalar ISPConfig 3 desde la última versión lanzada, haz esto:

cd /tmp   
wget -O ispconfig.tar.gz https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable-3.1  
tar xfz ispconfig.tar.gz  
cd ispconfig3*/install/

El siguiente paso es ejecutar

php -q install.php

Esto iniciará el instalador de ISPConfig 3. El instalador configurará todos los servicios como Postfix, Dovecot, etc. por ti. No es necesaria una configuración manual como se requería para ISPConfig 2 (guías de configuración perfectas).

# php -q install.php
  
--------------------------------------------------------------------------------  
_____ ___________ _____ __ _ ____  
|_ _/ ___| ___ \ / __ \ / _(_) /__ \  
| | \ `--.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ /  
| | `--. \ __/ | | / _ \| '_ \| _| |/ _` | |_ |  
_| |_\/__/ / | | \__/\ (_) | | | | | | | (_| | ___\ \  
\___/\____/\_| \____/\___/|_| |_|_| |_|
\__, | \____/  
__/ |  
|___/  
--------------------------------------------------------------------------------

>> Configuración inicial
Sistema Operativo: Debian 8.0 (Jessie) o compatible
A continuación, habrá algunas preguntas para la configuración primaria, así que ten cuidado.  
Los valores predeterminados están en [corchetes] y se pueden aceptar con .  
Escribe "quit" (sin las comillas) para detener el instalador.

Selecciona el idioma (en,de) [en]: <-- Presiona Enter
Modo de instalación (estándar, experto) [estándar]: <-- Presiona Enter
Nombre de host completamente calificado (FQDN) del servidor, por ejemplo, server1.dominio.tld [server1.canomi.com]: <-- Presiona Enter
Nombre de host del servidor MySQL [localhost]: <-- Presiona Enter
Puerto del servidor MySQL [3306]: <-- Presiona Enter
Nombre de usuario root de MySQL [root]: <-- Presiona Enter
Contraseña root de MySQL []: <-- Ingresa tu contraseña root de MySQL
Base de datos MySQL a crear [dbispconfig]: <-- Presiona Enter
Conjunto de caracteres MySQL [utf8]: <-- Presiona Enter
Configurando Postgrey  
Configurando Postfix  
Generando una clave privada RSA de 4096 bits  
.......................................................................++  
........................................................................................................................................++  
escribiendo nueva clave privada en 'smtpd.key'  
-----  
Estás a punto de ser preguntado para ingresar información que será incorporada  
 en tu solicitud de certificado.  
Lo que estás a punto de ingresar se llama Nombre Distinguido o DN.  
Hay varios campos, pero puedes dejar algunos en blanco  
Para algunos campos habrá un valor predeterminado,  
Si ingresas '.', el campo quedará en blanco.  
-----  
Nombre del país (código de 2 letras) [AU]: <-- Ingresa el código de 2 letras del país  
Nombre del estado o provincia (nombre completo) [Some-State]: <-- Ingresa el nombre del estado  
Nombre de la localidad (por ejemplo, ciudad) []: <-- Ingresa tu ciudad  
Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <-- Ingresa el nombre de la empresa o presiona enter  
Nombre de la unidad organizativa (por ejemplo, sección) []: <-- Presiona Enter  
Nombre común (por ejemplo, FQDN del servidor o TU nombre) []: <-- Ingresa el nombre del host del servidor, en mi caso: server1.example.com  
Dirección de correo electrónico []: <-- Presiona Enter  
Configurando Mailman  
Configurando Dovecot  
Configurando Spamassassin  
Configurando Amavisd  
Configurando Getmail  
Configurando BIND  
Configurando Jailkit  
Configurando Pureftpd  
Configurando Apache  
Configurando vlogger  
Configurando Servidor XMPP Metronome  
escribiendo nueva clave privada en 'localhost.key'  
-----  
Nombre del país (código de 2 letras) [AU]: <-- Ingresa el código de 2 letras del país  
Nombre de la localidad (por ejemplo, ciudad) []: <-- Ingresa tu ciudad  
Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <-- Ingresa el nombre de la empresa o presiona enter  
Nombre de la unidad organizativa (por ejemplo, sección) []: <-- Presiona Enter  
Nombre común (por ejemplo, FQDN del servidor o TU nombre) [server1.canomi.com]: <-- Ingresa el nombre del host del servidor, en mi caso: server1.example.com  
Dirección de correo electrónico []: <-- Presiona Enter
Configurando Firewall de Ubuntu  
Configurando Fail2ban  
[INFO] servicio OpenVZ no detectado  
Configurando vhost de Apps  
Instalando ISPConfig  
Puerto de ISPConfig [8080]:
Contraseña de administrador [admin]:
¿Quieres una conexión segura (SSL) a la interfaz web de ISPConfig (y,n) [y]: <-- Presiona Enter
Generando clave privada RSA, módulo de 4096 bits  
.......................++  
................................................................................................................................++  
es 65537 (0x10001)  
Estás a punto de ser preguntado para ingresar información que será incorporada  
 en tu solicitud de certificado.  
Lo que estás a punto de ingresar se llama Nombre Distinguido o DN.  
Hay varios campos, pero puedes dejar algunos en blanco  
Para algunos campos habrá un valor predeterminado,  
Si ingresas '.', el campo quedará en blanco.  
-----  
Nombre del país (código de 2 letras) [AU]: <-- Ingresa el código de 2 letras del país  
Nombre del estado o provincia (nombre completo) [Some-State]: <-- Ingresa el nombre del estado  
Nombre de la localidad (por ejemplo, ciudad) []: <-- Ingresa tu ciudad  
Nombre de la organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <-- Ingresa el nombre de la empresa o presiona enter  
Nombre de la unidad organizativa (por ejemplo, sección) []: <-- Presiona Enter  
Nombre común (por ejemplo, FQDN del servidor o TU nombre) []: <-- Ingresa el nombre del host del servidor, en mi caso: server1.example.com  
Dirección de correo electrónico []: <-- Presiona Enter
Por favor ingresa los siguientes atributos 'extra'  
que serán enviados con tu solicitud de certificado  
Una contraseña de desafío []: <-- Presiona Enter  
Un nombre de empresa opcional []: <-- Presiona Enter  
escribiendo clave RSA
  
Configurando DBServer  
Instalando crontab de ISPConfig  
no hay crontab para root  
no hay crontab para getmail  
Detectando direcciones IP  
Reiniciando servicios ...  
Instalación completada.

El instalador configura automáticamente todos los servicios subyacentes, por lo que no se necesita configuración manual.

Después puedes acceder a ISPConfig 3 en http(s)://server1.example.com:8080/ o http(s)://192.168.1.100:8080/ (HTTP o HTTPS depende de lo que elegiste durante la instalación). Inicia sesión con el nombre de usuario admin y la contraseña admin (debes cambiar la contraseña predeterminada después de tu primer inicio de sesión):

Inicio de sesión de ISPConfig

Panel de control de ISPConfig

El sistema ahora está listo para ser utilizado.

18. Notas Adicionales

18.1 Arreglar Inicio de Sesión de MySQL para RoundCube

MariaDB habilita un plugin llamado “unix_socket” para el usuario root por defecto, este plugin impide que el usuario root pueda iniciar sesión en PHPMyAdmin y que las conexiones TCP a MySQL funcionen para el usuario root. Por lo tanto, desactivar ese plugin con el siguiente comando:

echo "update user set plugin='' where User='root';" | mysql -root -p mysql

Ingresa la contraseña root de MySQL / MariaDB cuando se te solicite.

18.2 OpenVZ

Si el servidor Ubuntu que acabas de configurar en este tutorial es un contenedor OpenVZ (máquina virtual), debes hacer esto en el sistema host (asumo que la ID del contenedor OpenVZ es 101 - reemplázalo con el VPSID correcto en tu sistema):

VPSID=101   
for CAP in CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE   
do   
  vzctl set $VPSID --capability ${CAP}:on --save   
done

18.3 Descarga de imagen de máquina virtual de este tutorial

Este tutorial está disponible como imagen de máquina virtual lista para usar en formato ovf/ova que es compatible con VMWare y Virtualbox. La imagen de la máquina virtual utiliza los siguientes detalles de inicio de sesión:

Inicio de sesión SSH / Shell

Nombre de usuario: administrator
Contraseña: howtoforge

Este usuario tiene derechos sudo.

Inicio de sesión de ISPConfig

Nombre de usuario: admin
Contraseña: howtoforge

Inicio de sesión de MySQL

Nombre de usuario: root
Contraseña: howtoforge

La IP de la VM es 192.168.1.100, se puede cambiar en el archivo /etc/network/interfaces. Por favor, cambia todas las contraseñas anteriores para asegurar la máquina virtual.

19. Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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