Servidor Perfecto · 11 min read · Jan 08, 2026
El Servidor Perfecto - Ubuntu 14.10 con Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot e ISPConfig - Página 3
15 Instalar SquirrelMail
Para instalar el cliente de webmail SquirrelMail, ejecuta
apt-get install squirrelmailLuego configura SquirrelMail:
squirrelmail-configureDebemos decirle a SquirrelMail que estamos usando Dovecot-IMAP/-POP3:
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Menú Principal –
- Preferencias de Organización
- Configuración del Servidor
- Valores Predeterminados de la Carpeta
- Opciones Generales
- Temas
- Libros de Direcciones
- Mensaje del Día (MOTD)
- Plugins
- Base de Datos
- Idiomas
D. Establecer configuraciones predefinidas para servidores IMAP específicos
C Activar color
S Guardar datos
Q Salir
Comando >> <– D
Configuración de SquirrelMail : Leer: config.php
Mientras hemos estado construyendo SquirrelMail, hemos descubierto algunas
preferencias que funcionan mejor con algunos servidores que no funcionan tan
bien con otros. Si seleccionas tu servidor IMAP, esta opción
establecerá algunas configuraciones predefinidas para ese servidor.
Por favor, ten en cuenta que aún necesitarás revisar y asegurarte
de que todo esté correcto. Esto no cambia todo. Solo hay
pocas configuraciones que esto cambiará.
Por favor selecciona tu servidor IMAP:
bincimap = Servidor IMAP Binc
courier = Servidor IMAP Courier
cyrus = Servidor IMAP Cyrus
dovecot = Servidor IMAP Seguro Dovecot
exchange = Servidor IMAP Microsoft Exchange
hmailserver = hMailServer
macosx = Servidor de Correo Mac OS X
mercury32 = Mercury/32
uw = Servidor IMAP de la Universidad de Washington
gmail = Acceso IMAP a cuentas de correo de Google (Gmail)
quit = No cambiar nada
Comando >> <– dovecot
Configuración de SquirrelMail : Leer: config.php
Mientras hemos estado construyendo SquirrelMail, hemos descubierto algunas
preferencias que funcionan mejor con algunos servidores que no funcionan tan
bien con otros. Si seleccionas tu servidor IMAP, esta opción
establecerá algunas configuraciones predefinidas para ese servidor.
Por favor, ten en cuenta que aún necesitarás revisar y asegurarte
de que todo esté correcto. Esto no cambia todo. Solo hay
pocas configuraciones que esto cambiará.
Por favor selecciona tu servidor IMAP:
bincimap = Servidor IMAP Binc
courier = Servidor IMAP Courier
cyrus = Servidor IMAP Cyrus
dovecot = Servidor IMAP Seguro Dovecot
exchange = Servidor IMAP Microsoft Exchange
hmailserver = hMailServer
macosx = Servidor de Correo Mac OS X
mercury32 = Mercury/32
uw = Servidor IMAP de la Universidad de Washington
gmail = Acceso IMAP a cuentas de correo de Google (Gmail)
quit = No cambiar nada
Comando >> dovecot
imap_server_type = dovecot
default_folder_prefix =
trash_folder = Papelera
sent_folder = Enviados
draft_folder = Borradores
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false
Presiona cualquier tecla para continuar… <– presiona una tecla
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Menú Principal –
- Preferencias de Organización
- Configuración del Servidor
- Valores Predeterminados de la Carpeta
- Opciones Generales
- Temas
- Libros de Direcciones
- Mensaje del Día (MOTD)
- Plugins
- Base de Datos
- Idiomas
D. Establecer configuraciones predefinidas para servidores IMAP específicos
C Activar color
S Guardar datos
Q Salir
Comando >> <– S
Configuración de SquirrelMail : Leer: config.php (1.4.0)
Menú Principal –
- Preferencias de Organización
- Configuración del Servidor
- Valores Predeterminados de la Carpeta
- Opciones Generales
- Temas
- Libros de Direcciones
- Mensaje del Día (MOTD)
- Plugins
- Base de Datos
- Idiomas
D. Establecer configuraciones predefinidas para servidores IMAP específicos
C Activar color
S Guardar datos
Q Salir
Comando >> <– Q
Ahora configuraremos SquirrelMail para que puedas usarlo desde tus sitios web (creados a través de ISPConfig) utilizando los alias /squirrelmail o /webmail. Así que si tu sitio web es www.example.com, podrás acceder a SquirrelMail usando www.example.com/squirrelmail o www.example.com/webmail.
La configuración de Apache de SquirrelMail está en el archivo /etc/squirrelmail/apache.conf, pero este archivo no se carga por Apache porque no está en el directorio /etc/apache2/conf.d/. Por lo tanto, creamos un enlace simbólico llamado squirrelmail.conf en el directorio /etc/apache2/conf.d/ que apunta a /etc/squirrelmail/apache.conf y recargamos Apache después:
cd /etc/apache2/conf-available/
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 reloadAhora abre /etc/apache2/conf.d/squirrelmail.conf…
nano /etc/apache2/conf-available/squirrelmail.conf… y agrega las siguientes líneas al contenedor
[...]
Options FollowSymLinks
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_admin_flag allow_url_fopen Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/squirrelmail/tmp
php_admin_value open_basedir /usr/share/squirrelmail:/etc/squirrelmail:/var/lib/squirrelmail:/etc/hostname:/etc/mailname
php_flag register_globals off
DirectoryIndex index.php
# el acceso a configtest está limitado por defecto para prevenir filtraciones de información
order deny,allow
deny from all
allow from 127.0.0.1
[...] Crea el directorio /var/lib/squirrelmail/tmp…
mkdir /var/lib/squirrelmail/tmp… y haz que sea propiedad del usuario www-data:
chown www-data /var/lib/squirrelmail/tmpA continuación, necesitamos habilitar squirrelmail con apache2.
a2enconf squirrelmailRecarga Apache nuevamente:
service apache2 reloadEso es todo - /etc/apache2/conf.d/squirrelmail.conf define un alias llamado /squirrelmail que apunta al directorio de instalación de SquirrelMail /usr/share/squirrelmail.
Ahora puedes acceder a SquirrelMail desde tu sitio web de la siguiente manera:
http://192.168.0.100/squirrelmail
http://www.example.com/squirrelmailTambién puedes acceder a él desde el panel de control de ISPConfig vhost (después de haber instalado ISPConfig, consulta el siguiente capítulo) de la siguiente manera (esto no necesita ninguna configuración en ISPConfig):
http://server1.example.com:8080/squirrelmailSi deseas usar el alias /webmail en lugar de /squirrelmail, simplemente abre /etc/apache2/conf.d/squirrelmail.conf…
nano /etc/apache2/conf-available/squirrelmail.conf… y agrega la línea Alias /webmail /usr/share/squirrelmail:
Alias /squirrelmail /usr/share/squirrelmail
Alias /webmail /usr/share/squirrelmail
[...] Luego recarga Apache:
service apache2 reloadAhora puedes acceder a Squirrelmail de la siguiente manera:
http://192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail (después de haber instalado ISPConfig, consulta el siguiente capítulo)

Si deseas definir un vhost como webmail.example.com donde tus usuarios puedan acceder a SquirrelMail, deberías agregar la siguiente configuración de vhost a /etc/apache2/conf.d/squirrelmail.conf:
nano /etc/apache2/conf.d/squirrelmail.conf[...]
DocumentRoot /usr/share/squirrelmail
ServerName webmail.example.com
Por supuesto, debe haber un registro DNS para webmail.example.com que apunte a la dirección IP que usas en la configuración del vhost. También asegúrate de que el vhost webmail.example.com no exista en ISPConfig (¡de lo contrario, ambos vhosts interferirán entre sí!).
Ahora recarga Apache…
service apache2 reload… y puedes acceder a SquirrelMail en http://webmail.example.com
16. Instalar ISPConfig 3
Para instalar ISPConfig 3 desde la última versión lanzada, haz esto:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/El siguiente paso es ejecutar
php -q install.phpEsto 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).
root@server1:/tmp/ispconfig3_install/install# php -q install.php
——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | | |–. \ / | | / \| ‘ \| | |/ ` || | |
| |_| |// / | | _/\ () | | | | | | | (| | | |
__/_/| __/_/|| ||||_|\, | __/ / |
|_/
——————————————————————————–
>> Configuración inicial
Sistema Operativo: 14.10 DESCONOCIDO
A continuación, habrá algunas preguntas para la configuración primaria, así que ten cuidado.
Los valores predeterminados están entre [corchetes] y se pueden aceptar con
Escribe “quit” (sin las comillas) para detener el instalador.
Selecciona idioma (en,de) [en]: <– ENTER
Modo de instalación (estándar, experto) [estándar]: <– ENTER
Nombre de host completamente calificado (FQDN) del servidor, por ejemplo server1.dominio.tld [server1.example.com]: <– ENTER
Nombre de host del servidor MySQL [localhost]: <– ENTER
Nombre de usuario root de MySQL [root]: <– ENTER
Contraseña root de MySQL []: <– tucontraseñaSQLroot
Base de datos MySQL a crear [dbispconfig]: <– ENTER
Conjunto de caracteres MySQL [utf8]: <– ENTER
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 bastantes 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]: <– ENTER
Nombre del Estado o Provincia (nombre completo) [Some-State]: <– ENTER
Nombre de Localidad (por ejemplo, ciudad) []: <– ENTER
Nombre de la Organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nombre de la Unidad Organizativa (por ejemplo, sección) []: <– ENTER
Nombre Común (por ejemplo, FQDN del servidor o TU nombre) []: <– ENTER
Dirección de Correo Electrónico []: <– ENTER
Configurando Jailkit
Configurando Dovecot
Configurando Spamassassin
Configurando Amavisd
Configurando Getmail
Configurando Pureftpd
Configurando BIND
Configurando Apache
Configurando Vlogger
Configurando vhost de Apps
Configurando Firewall Bastille
Configurando Fail2ban
Instalando ISPConfig
Puerto ISPConfig [8080]: <– ENTER
¿Deseas una conexión segura (SSL) a la interfaz web de ISPConfig (y,n) [y]: <– ENTER
Generando clave privada RSA, módulo de 4096 bits
……….++
……++
e 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 bastantes 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]: <– ENTER
Nombre del Estado o Provincia (nombre completo) [Some-State]: <– ENTER
Nombre de Localidad (por ejemplo, ciudad) []: <– ENTER
Nombre de la Organización (por ejemplo, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nombre de la Unidad Organizativa (por ejemplo, sección) []: <– ENTER
Nombre Común (por ejemplo, FQDN del servidor o TU nombre) []: <– ENTER
Dirección de Correo Electrónico []: <– ENTER
Por favor ingresa los siguientes atributos ‘extra’
que se enviarán con tu solicitud de certificado
Una contraseña de desafío []: <– ENTER
Un nombre de empresa opcional []: <– ENTER
escribiendo clave RSA
Configurando DBServer
Instalando crontab de ISPConfig
no hay crontab para root
no hay crontab para getmail
Reiniciando servicios …
En lugar de invocar scripts init a través de /etc/init.d, usa la
utilidad service(8), por ejemplo, service mysql restart
Dado que el script que intentas invocar ha sido
convertido a un trabajo de Upstart,
también puedes usar las utilidades stop(8) y luego start(8),
por ejemplo, stop mysql ; start mysql. La utilidad restart(8) también está disponible.
mysql stop/waiting
mysql start/running, process 2817
Deteniendo el Agente de Transporte de Correo Postfix postfix
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
…hecho. Iniciando el Agente de Transporte de Correo Postfix postfix
postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
/usr/sbin/postconf: advertencia: /etc/postfix/main.cf: parámetro indefinido: virtual_mailbox_limit_maps
…hecho.
Deteniendo amavisd: amavisd-new.
Iniciando amavisd: amavisd-new.
Deteniendo el demonio ClamAV clamd
…hecho. Iniciando el demonio ClamAV clamd
…hecho.
En lugar de invocar scripts init a través de /etc/init.d, usa la
utilidad service(8), por ejemplo, service dovecot restart
Dado que el script que intentas invocar ha sido
convertido a un trabajo de Upstart,
también puedes usar las utilidades stop(8) y luego start(8),
por ejemplo, stop dovecot ; start dovecot. La utilidad restart(8) también está disponible.
dovecot stop/waiting
dovecot start/running, process 3962
Reiniciando el servidor web apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost :443 no tiene VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost :80 no tiene VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost :443 no tiene VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:80 no tiene VirtualHosts
… esperando …hecho.
Reiniciando el servidor ftp: Ejecutando: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Instalación completada.
root@server1:/tmp/ispconfig3_install/install# El instalador configura automáticamente todos los servicios subyacentes, por lo que no se necesita configuración manual. Ahora también tienes la posibilidad de permitir que el instalador cree un vhost SSL para el panel de control de ISPConfig, para que ISPConfig pueda ser accedido usando https:// en lugar de http://. Para lograr esto, simplemente presiona ENTER cuando veas esta pregunta: ¿Deseas una conexión segura (SSL) a la interfaz web de ISPConfig (y,n) [y]:. Después puedes acceder a ISPConfig 3 en http(s)://server1.example.com:8080/ o http(s)://192.168.0.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 (deberías cambiar la contraseña predeterminada después de tu primer inicio de sesión): 

El sistema ahora está listo para ser utilizado. #### 16.1 Manual de ISPConfig 3 Para aprender a usar ISPConfig 3, te recomiendo encarecidamente descargar el Manual de ISPConfig 3. En más de 300 páginas, cubre el concepto detrás de ISPConfig (administrador, revendedores, clientes), explica cómo instalar y actualizar ISPConfig 3, incluye una referencia para todos los formularios y campos de formulario en ISPConfig junto con ejemplos de entradas válidas, y proporciona tutoriales para las tareas más comunes en ISPConfig 3. También detalla cómo hacer que tu servidor sea más seguro y viene con una sección de solución de problemas al final. ### 17. Notas Adicionales #### 17.1 OpenVZ Si el servidor Ubuntu que acabas de configurar en este tutorial es un contenedor OpenVZ (máquina virtual), deberías hacer esto en el sistema host (asumo que la ID del contenedor OpenVZ es 101 - reemplázala 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. Enlaces - Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.