Servidor Perfecto · 14 min read · Dec 30, 2025
El Servidor Perfecto - Ubuntu 14.04 (Apache2, PHP, MySQL, PureFTPD, BIND, Dovecot, ISPConfig 3) - Página 6
21 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
unas 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
unas 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-available/. Por lo tanto, creamos un enlace simbólico llamado squirrelmail.conf en el directorio /etc/apache2/conf-available/ 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…
vi /etc/apache2/conf-available/squirrelmail.conf… y agrega las siguientes líneas al contenedor
| [...] |
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-available/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.2.251/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-available/squirrelmail.conf…
vi /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.2.251 /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-available/squirrelmail.conf:
vi /etc/apache2/conf-available/squirrelmail.conf| [...] |
Asegúrate de reemplazar 1.2.3.4 con la dirección IP correcta de tu servidor. Por supuesto, debe haber un registro DNS para webmail.example.com que apunte a la dirección IP que usas en la configuración de 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!
22. Opcional: Script para verificar las instalaciones.
He introducido un script aquí que verificará si has cometido algún error tipográfico. Esto verificará que todas las instalaciones necesarias se hayan completado según el tutorial. El script es el siguiente:
#!/bin/bash
###################################################################################################################################################
###################################################################################################################################################
#### #####
#### Este script es creado por Srijan Kishore para verificar la instalación completa del tutorial #####
#### #####
###################################################################################################################################################
###################################################################################################################################################
cd /tmp
###################################################################################################################################################
#### Instalaciones realizadas en el Tutorial #####
###################################################################################################################################################
echo "amavisd-new
apache2
apache2-doc
apache2-suexec
apache2-utils
apt-listchanges
arj
autoconf
automake1.9
awstats
bind9
binutils
bison
build-essential
bzip2
cabextract
clamav
clamav-daemon
clamav-docs
daemon
debhelper
dnsutils
dovecot-imapd
dovecot-mysql
dovecot-pop3d
dovecot-sieve
fail2ban
flex
geoip-database
getmail4
imagemagick
jailkit
libapache2-mod-fastcgi
libapache2-mod-fcgid
libapache2-mod-php5
libapache2-mod-python
libapache2-mod-suphp
libauthen-sasl-perl
libclass-dbi-mysql-perl
libio-socket-ssl-perl
libio-string-perl
libnet-dns-perl
libnet-ident-perl
libnet-ldap-perl
libruby
libtool
lzop
mailman
mcrypt
memcached
mysql-client
mysql-server
nomarch
ntp
ntpdate
openssl
php5
php5-cgi
php5-cli
php5-common
php5-curl
php5-fpm
php5-gd
php5-imagick
php5-imap
php5-intl
php5-mcrypt
php5-memcache
php5-memcached
php5-ming
php5-mysql
php5-ps
php5-pspell
php5-recode
php5-snmp
php5-sqlite
php5-tidy
php5-xcache
php5-xmlrpc
php5-xsl
php-auth
phpmyadmin
php-pear
postfix
postfix-doc
postfix-mysql
rkhunter
spamassassin
squirrelmail
sudo
unzip
vlogger
webalizer
zip
zoo" > tutorial_install
##################################################################################################################################################
#### Lista de todos los paquetes instalados por ti en tu servidor #####
##################################################################################################################################################
dpkg -l |grep ii| cut -d ' ' -f3 > server_installed
##################################################################################################################################################
#### Diferencia entre el tutorial y la instalación de tu servidor #####
##################################################################################################################################################
diff server_installed tutorial_install | grep ">" | cut -d ' ' -f2 > missing_packages
if [ $? -eq 0 ]
echo "Te faltó instalar estos paquetes
` cat missing_packages` "
then
echo "Necesitas instalar estos paquetes. Para instalar estos paquetes necesitas ejecutar el comando apt-get install package_name"
echo " Puedes verificar la instalación particular de la siguiente manera:
dpkg -l | grep package_name | cut -d ' ' -f3
Si está mostrando el package_name entonces puedes ignorar el paquete."
else
echo "Felicidades, has instalado todos los paquetes exitosamente"
fi
rm -rf missing_packages server_installed tutorial_installchmod +x ubuntu_package_check.sh./ubuntu_package_check.sh23. 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.04 DESCONOCIDO
A continuación habrá algunas preguntas para la configuración primaria, así que ten cuidado.
Los valores predeterminados están entre [corchetes] y pueden ser aceptados 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ñaderootsql
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 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 la 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 Apache
Configurando Vlogger
Configurando vhost de Apps
Configurando Cortafuegos Bastille
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 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 la 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 init a través de /etc/init.d, usa el
utility service(8), por ejemplo, service mysql restart
Dado que el script que estás intentando invocar ha sido
convertido a un trabajo Upstart,
también puedes usar los utilities stop(8) y luego start(8),
por ejemplo, stop mysql ; start mysql. El utility 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
…hecho.
Deteniendo amavisd: amavisd-new.
Iniciando amavisd: amavisd-new.
Deteniendo el daemon de ClamAV clamd
…hecho. Iniciando el daemon de ClamAV clamd
…hecho.
En lugar de invocar scripts init a través de /etc/init.d, usa el
utility service(8), por ejemplo, service dovecot restart
Dado que el script que estás intentando invocar ha sido
convertido a un trabajo Upstart,
también puedes usar los utilities stop(8) y luego start(8),
por ejemplo, stop dovecot ; start dovecot. El utility 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, de modo que ISPConfig se pueda acceder utilizando 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.2.251: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. #### Manual de ISPConfig 3 Para aprender a usar ISPConfig 3, te recomiendo encarecidamente que descargues 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. #### 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 instalada de ISPConfig 3 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, registros de correo y sistema, cola de correo, 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/. ### Notas Adicionales #### 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 ### 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.