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

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 –

  1. Preferencias de Organización
  2. Configuración del Servidor
  3. Valores Predeterminados de la 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 la 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 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 reload

Ahora abre /etc/apache2/conf.d/squirrelmail.conf…

 nano /etc/apache2/conf-available/squirrelmail.conf

… y agrega las siguientes líneas al contenedor que aseguran que mod_php se use para acceder a SquirrelMail, independientemente de qué modo PHP selecciones para tu sitio web en ISPConfig:

[...]  
  
  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/tmp

A continuación, necesitamos habilitar squirrelmail con apache2.

a2enconf squirrelmail

Recarga Apache nuevamente:

service apache2 reload

Eso 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/squirrelmail

Tambié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/squirrelmail

Si 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 reload

Ahora 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.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).

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/

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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