Servidor Perfecto · 13 min read · Feb 10, 2026

El Servidor Perfecto - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot e ISPConfig 3) - Página 6

21 Instalar SquirrelMail

Para instalar el cliente de webmail SquirrelMail, ejecuta

apt-get install squirrelmail

Luego configura SquirrelMail:

squirrelmail-configure

Debemos decirle a SquirrelMail que estamos usando Dovecot-IMAP/-POP3:

Configuración de SquirrelMail : Leer: config.php (1.4.0)

Menú Principal –

  1. Preferencias de Organización
  2. Configuración del Servidor
  3. Valores Predeterminados de Carpeta
  4. Opciones Generales
  5. Temas
  6. Libros de Direcciones
  7. Mensaje del Día (MOTD)
  8. Plugins
  9. Base de Datos
  10. 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.

Ten en cuenta que aún necesitarás revisar y asegurarte de que
todo esté correcto. Esto no cambia todo. Solo hay
unas pocas configuraciones que esto cambiará.

Por favor selecciona tu servidor IMAP:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington’s IMAP server
gmail = IMAP access to Google mail (Gmail) accounts

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.

Ten en cuenta que aún necesitarás revisar y asegurarte de que
todo esté correcto. Esto no cambia todo. Solo hay
unas pocas configuraciones que esto cambiará.

Por favor selecciona tu servidor IMAP:
bincimap = Binc IMAP server
courier = Courier IMAP server
cyrus = Cyrus IMAP server
dovecot = Dovecot Secure IMAP server
exchange = Microsoft Exchange IMAP server
hmailserver = hMailServer
macosx = Mac OS X Mailserver
mercury32 = Mercury/32
uw = University of Washington’s IMAP server
gmail = IMAP access to Google mail (Gmail) accounts

quit = No cambiar nada
Comando >> dovecot

imap_server_type = dovecot
default_folder_prefix =
trash_folder = Trash
sent_folder = Sent
draft_folder = Drafts
show_prefix_option = false
default_sub_of_inbox = false
show_contain_subfolders_option = false
optional_delimiter = detect
delete_folder = false

Presiona enter para continuar… <– ENTER

Configuración de SquirrelMail : Leer: config.php (1.4.0)

Menú Principal –

  1. Preferencias de Organización
  2. Configuración del Servidor
  3. Valores Predeterminados de Carpeta
  4. Opciones Generales
  5. Temas
  6. Libros de Direcciones
  7. Mensaje del Día (MOTD)
  8. Plugins
  9. Base de Datos
  10. 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 –

  1. Preferencias de Organización
  2. Configuración del Servidor
  3. Valores Predeterminados de Carpeta
  4. Opciones Generales
  5. Temas
  6. Libros de Direcciones
  7. Mensaje del Día (MOTD)
  8. Plugins
  9. Base de Datos
  10. Idiomas

D. Establecer configuraciones predefinidas para servidores IMAP específicos

C Activar color
S Guardar datos
Q Salir

Comando >> <– Q

Ahora puedes encontrar SquirrelMail en el directorio /usr/share/squirrelmail/.

Después de haber instalado ISPConfig 3, puedes acceder a SquirrelMail de la siguiente manera:

La aplicación vhost de ISPConfig en el puerto 8081 para nginx viene con una configuración de SquirrelMail, así que puedes usar http://server1.example.com:8081/squirrelmail o http://server1.example.com:8081/webmail para acceder a SquirrelMail.

Si deseas usar un alias /webmail o /squirrelmail que puedas usar desde tus sitios web, esto es un poco más complicado que para Apache porque nginx no tiene alias globales (es decir, alias que pueden definirse para todos los vhosts). Por lo tanto, debes definir estos alias para cada vhost desde el cual deseas acceder a SquirrelMail.

Para hacer esto, pega lo siguiente en el campo de Directivas de nginx en la pestaña Opciones del sitio web en ISPConfig:

| location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |

Si usas http s en lugar de http para tu vhost, debes agregar la línea fastcgi_param HTTPS on; a tu configuración de SquirrelMail así:

| location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS on; # <-- agrega esta línea fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |

Si usas tanto http como https para tu vhost, necesitas agregar la siguiente sección a la sección http {} en /etc/nginx/nginx.conf (antes de cualquier línea de inclusión) que determina si el visitante usa http o https y establece la variable $fastcgi_https (que usaremos en nuestra configuración de SquirrelMail) en consecuencia:

vi /etc/nginx/nginx.conf

| [...] http { [...] ## Detectar cuando se usa HTTPS map $scheme $fastcgi_https { default off; https on; } [...] } [...] |

No olvides recargar nginx después:

service nginx reload

Luego ve al campo de Directivas de nginx nuevamente, y en lugar de fastcgi_param HTTPS on; agregas la línea fastcgi_param HTTPS $fastcgi_https; para que puedas usar SquirrelMail tanto para solicitudes http como https:

| location /squirrelmail { root /usr/share/; index index.php index.html index.htm; location ~ ^/squirrelmail/(.+\.php)$ { try_files $uri =404; root /usr/share/; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $fastcgi_https; # <-- agrega esta línea fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include /etc/nginx/fastcgi_params; fastcgi_param PATH_INFO $fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; } location ~* ^/squirrelmail/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } location /webmail { rewrite ^/* /squirrelmail last; } |

22 Instalar ISPConfig 3

Antes de comenzar la instalación de ISPConfig, asegúrate de que Apache esté detenido (si está instalado - es posible que algunos de tus paquetes instalados hayan instalado Apache como una dependencia sin que lo sepas). Si Apache2 ya está instalado en el sistema, deténlo ahora…

service apache2 stop

… y elimina los enlaces de inicio del sistema de Apache:

update-rc.d -f apache2 remove

Asegúrate de que nginx esté en ejecución:

service nginx restart

(Si tienes tanto Apache como nginx instalados, el instalador te preguntará cuál deseas usar: Apache y nginx detectados. Selecciona el servidor a usar para ISPConfig: (apache,nginx) [apache]:

Escribe nginx. Si solo Apache o nginx están instalados, esto es detectado automáticamente por el instalador, y no se hace ninguna pregunta.)

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.php

Esto iniciará el instalador de ISPConfig 3. El instalador configurará todos los servicios como Postfix, SASL, Courier, 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
PHP Deprecated: Comentarios que comienzan con ‘#’ están en desuso en /etc/php5/cli/conf.d/ming.ini en la línea 1 en Desconocido en la línea 0

——————————————————————————–
_ _ _ _
| / | \/ \ / () / \
| | |\ --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ / / / | | |–. \ / | | / \| ‘ \| | |/ ` | | | |
| |_|\
/ / | | _/\ () | | | | | | | (| | || |
_/__/_| _/\/|| |||||__,|__/ / |
|_/
——————————————————————————–

>> Configuración inicial

Sistema Operativo: 14.04 DESCONOCIDO

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]: <– ENTER

Modo de instalación (estándar, experto) [estándar]: <– ENTER

Nombre de host completamente calificado (FQDN) del servidor, ej. server1.domain.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ñadeMySQL

Base de datos MySQL a crear [dbispconfig]: <– ENTER

Conjunto de caracteres MySQL [utf8]: <– ENTER

Apache y nginx detectados. Selecciona el servidor a usar para ISPConfig: (apache,nginx) [apache]: <– nginx

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 es lo que se llama un Nombre Distinguido o un 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 (ej, ciudad) []: <– ENTER
Nombre de la Organización (ej, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nombre de la Unidad Organizativa (ej, sección) []: <– ENTER
Nombre Común (ej. 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 nginx
Configurando Vlogger
Configurando vhost de Apps
Configurando Bastille Firewall
Configurando Fail2ban
Instalando ISPConfig
Puerto de ISPConfig [8080]: <– ENTER

¿Quieres una conexión segura (SSL) a la interfaz web de ISPConfig (y,n) [y]: <– ENTER

Generando clave privada RSA, módulo largo 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 es lo que se llama un Nombre Distinguido o un 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 (ej, ciudad) []: <– ENTER
Nombre de la Organización (ej, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nombre de la Unidad Organizativa (ej, sección) []: <– ENTER
Nombre Común (ej. FQDN del servidor o TU nombre) []: <– ENTER
Dirección de Correo Electrónico []: <– ENTER

Por favor ingresa los siguientes atributos ‘extra’
que serán enviados 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 crontab para root
no crontab para getmail
Reiniciando servicios …
En lugar de invocar scripts de inicio a través de /etc/init.d, usa la
utilidad service(8), por ejemplo, service mysql restart

Dado que el script que estás intentando 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, proceso 2783
Deteniendo el Agente de Transporte de Correo de 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 de 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 de inicio a través de /etc/init.d, usa la
utilidad service(8), por ejemplo, service dovecot restart

Dado que el script que estás intentando 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, proceso 3929
Recargando el Administrador de Procesos PHP5 FastCGI php5-fpm
…hecho.
Recargando la configuración de nginx
…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: ¿Quieres 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 (debes cambiar la contraseña predeterminada después de tu primer inicio de sesión): El sistema ahora está listo para ser utilizado. #### 22.1 Manual de ISPConfig 3 Para aprender a usar ISPConfig 3, 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 describe cómo hacer que tu servidor sea más seguro y viene con una sección de solución de problemas al final. #### 22.2 Aplicación ISPConfig Monitor Para Android Con la Aplicación ISPConfig Monitor, puedes verificar el estado de tu servidor y averiguar si todos los servicios están funcionando como se espera. Puedes verificar puertos TCP y UDP y hacer ping a tus servidores. Además de eso, puedes usar esta aplicación para solicitar detalles de servidores que tienen ISPConfig instalado (ten en cuenta que la versión mínima de ISPConfig 3 instalada con soporte para la Aplicación ISPConfig Monitor es 3.0.3.3!); estos detalles incluyen todo lo que conoces del módulo Monitor en el Panel de Control de ISPConfig (por ejemplo, servicios, correos y registros del sistema, cola de correos, información de CPU y memoria, uso de disco, cuota, detalles del sistema operativo, registro de RKHunter, etc.), y por supuesto, como ISPConfig es capaz de multiserver, puedes verificar todos los servidores que son controlados desde tu servidor maestro de ISPConfig. Para instrucciones de descarga y uso, visita http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/. ### 23 Notas Adicionales #### 23.1 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 el 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 ### 24 Enlaces - Ubuntu: http://www.ubuntu.com/
- ISPConfig: http://www.ispconfig.org/

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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