Instalación ISPConfig · 10 min read · Oct 02, 2025

Instalación Automatizada Perfecta de ISPConfig 3 en Debian 11 y Debian 12, Ubuntu 22.04 y Ubuntu 24.04

Este tutorial ayudará a instalar tu configuración de servidor único ISPConfig 3 utilizando el instalador automático de ISPConfig. Este instalador sigue las antiguas guías de Perfect Server, pero es más modular y fácil de seguir. Si deseas configurar una instalación multiserver con servidores dedicados para cada servicio, consulta la guía Perfect Multiserver.

Esta guía funciona para Debian 11 y 12, Ubuntu 22.04 y Ubuntu 24.04. Actualmente soporta las arquitecturas de CPU x86_64 (también conocido como AMD64) y ARM (ARM64). Usaremos el nombre de host server1.example.com. Reemplázalo donde sea necesario. La guía requiere un sistema operativo base recién instalado y vacío; no intentes usarlo en un sistema donde ya hayas configurado otros servicios.

Prerrequisitos

  • Sistema Operativo: Debian 11 y Debian 12, Ubuntu 22.04 o Ubuntu 24.04.
  • Arquitectura de CPU de 64 bits Intel o AMD (x86_64, también conocido como AMD64) o arquitectura de CPU ARM (ARM64).
  • El sistema debe tener acceso a internet para descargar e instalar software con apt.
  • Comienza desde una instalación limpia y vacía del sistema operativo base. El sistema debe ser completamente accesible desde internet; no bloquees el acceso con un firewall, especialmente no el puerto 80 para la emisión de certificados LE y el puerto 8080 para el acceso a ISPConfig, además de los puertos para todos los servicios que uses en ese sistema. El servidor también debe tener acceso a internet para descargar e instalar software durante la instalación y resolver nombres de dominio a través de DNS.

1. Iniciar sesión en el servidor

Inicia sesión como root o ejecuta

su --login

en Debian para convertirte en el usuario root en tu servidor antes de continuar. IMPORTANTE: Debes usar ‘su –login’ o ‘su -‘ y no solo ‘su’. De lo contrario, Debian establecerá incorrectamente tu variable PATH.

En Ubuntu, usa el comando:

sudo -s

para convertirte en el usuario root.

2. Configurar el nombre de host y hosts

El nombre de host de tu servidor debe ser un subdominio como “server1.example.com”. No uses un nombre de dominio sin una parte de subdominio como “example.com” como nombre de host, ya que esto causará problemas más adelante con tu configuración. Primero, debes verificar el nombre de host en /etc/hosts y cambiarlo cuando sea necesario. La línea debe ser: “Dirección IP - espacio - nombre de host completo incl. dominio - espacio - parte del subdominio”. Para nuestro nombre de host server1.example.com, el archivo debe verse así (algunas líneas pueden ser diferentes; puede variar según el proveedor de hosting):

nano /etc/hosts
127.0.0.1 localhost.localdomain   localhost  
# Esta línea debe ser cambiada al nombre de servidor correcto:  
127.0.1.1 server1.example.com server1  

# Las siguientes líneas son deseables para hosts compatibles con IPv6
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Luego edita el archivo /etc/hostname:

nano /etc/hostname

Deberá contener solo la parte del subdominio, en nuestro caso:

server1

Finalmente, reinicia el servidor para aplicar el cambio:

systemctl reboot

Inicia sesión nuevamente y verifica si el nombre de host es correcto ahora con estos comandos:

hostname  
hostname -f

La salida debe ser como esta:

root@server1:~$ hostname  
server1  
root@server1:~$ hostname -f  
server1.example.com

También deberás configurar un registro DNS con tu proveedor de DNS que apunte a tu servidor. Debe haber un registro A (y/o AAAA) para el subdominio que apunte a tu IP pública.

3. Actualizar el sistema

Para actualizar los paquetes del sistema, ejecuta el comando:

apt update && apt upgrade

4. Ejecutar el autoinstalador

Ahora podemos ejecutar el autoinstalador. La configuración básica contiene los siguientes paquetes de software (más sus dependencias, por supuesto): Apache2, PHP (versiones 5.6 - 8.3), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats y GoAccess. Puedes elegir fácilmente no usar ciertas funciones o instalar servicios adicionales pasando argumentos al instalador. Consulta el Capítulo 6 para las opciones de línea de comandos disponibles.

Instalar ISPConfig con servidor web Apache

Ahora puedes ejecutar el script con argumentos. Por ejemplo, si deseas una instalación normal con servidor web Apache y un rango de puertos para FTP Pasivo + actualizaciones desatendidas, ejecuta:

wget -O - https://get.ispconfig.org | sh -s -- `--use-ftp-ports=40110-40210` --unattended-upgrades

Los siguientes pasos se describen en el capítulo “Ejecutando el autoinstalador”.

Instalar ISPConfig con servidor web Nginx

Ahora puedes ejecutar el script con argumentos. Por ejemplo, si deseas una instalación normal con servidor web Nginx y un rango de puertos para FTP Pasivo + actualizaciones desatendidas, ejecuta:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgrades

Ejecutando el autoinstalador

Después de un tiempo, verás:

¡ADVERTENCIA! Este script reconfigurará tu servidor completo!  
¡Debería ejecutarse en un servidor recién instalado y toda la configuración actual que hayas realizado probablemente se perderá!  
Escribe 'sí' si realmente deseas continuar:

Responde “sí” y presiona enter. El instalador comenzará ahora.

Cuando el instalador termine, te mostrará la contraseña de administrador de ISPConfig y la contraseña raíz de MySQL así:

[INFO] Tu contraseña de administrador de ISPConfig es: 5GvfSSSYsdfdYC  
[INFO] Tu contraseña raíz de MySQL es: kkAkft82d!kafMwqxdtYs

Asegúrate de anotar esta información, ya que la necesitarás más tarde.

5. Configuración del firewall

Lo último que queda por hacer es configurar nuestro firewall.

Inicia sesión en la interfaz de ISPConfig y ve a Sistema -> Firewall. Luego haz clic en “Agregar nuevo registro de firewall”.

Para una configuración normal, se vería así:

TCP:

20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081

UDP:

53

Los puertos necesarios para cada servicio son:

Web: 20, 21, 22, 80, 443 y 40110:40210 (Todos TCP, sin UDP)

Correo: 25, 110, 143, 465, 587, 993 y 995 (Todos TCP, sin UDP)

DNS: 53 (TCP y UDP)

Panel: 8080 y 8081 (Todos TCP, sin UDP)

Tu servidor ahora está configurado y listo para usar. Puedes iniciar sesión en https://server1.example.com:8080

6. Opciones Avanzadas

El autoinstalador tiene varias opciones de línea de comandos para ajustar la configuración.

Puedes ver todos los argumentos con:

wget -O - https://get.ispconfig.org | sh -s -- --help

Puedes, por ejemplo, elegir entre el servidor web Apache y Nginx y qué servicios se instalarán en el sistema. Los argumentos de línea de comandos son:

Uso: ispc3-ai.sh [] [...]  

Este script instala automáticamente todos los paquetes necesarios para una configuración de ISPConfig 3 utilizando las pautas de los "Perfect Server Setup" howtos en www.howtoforge.com.

Los argumentos posibles son:  
    --help          Mostrar esta página de ayuda.  
    --debug         Habilitar registro detallado (registra cada comando con el código de salida).  
    --channel       Elegir el canal a utilizar para ISPConfig: --channel=  
                    "stable" es la última versión de ISPConfig disponible en www.ispconfig.org  
                    "dev" es la última rama de desarrollo del repositorio git de ISPConfig: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop  
                    El canal de desarrollo puede contener errores y características menos probadas y solo debe ser utilizado en producción por usuarios muy experimentados.  
    --lang          Usar idioma para la instalación de ISPConfig. Especificar con --lang=en|de (solo se admiten actualmente en (Inglés) y de (Alemán)).  
    --interactive   No instalar ISPConfig en modo no interactivo.  
                    Esto es necesario si deseas usar el modo experto, por ejemplo, para instalar un servidor esclavo que deba integrarse en una configuración multiserver existente.  
    --use-nginx     Usar servidor web nginx en lugar de apache2.  
    --use-amavis    Usar amavis en lugar de rspamd para filtrado de correo.  
    --use-unbound   Usar unbound en lugar de bind9 para resolución local. Solo permitido si se establece --no-dns.  
    --use-php       Usar versiones específicas de PHP, separadas por comas, en lugar de instalar múltiples PHP, por ejemplo, --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2 y 8.3 disponibles).  
                    --use-php=system desactiva el repositorio sury y solo instala la versión PHP predeterminada del sistema.  
                    --use-php omitiendo el argumento, usa todas las versiones.  
    --use-ftp-ports Esta opción establece el rango de puertos pasivos para pure-ftpd. Debes especificar el rango de puertos separado por un guion, por ejemplo, --use-ftp-ports=40110-40210.  
                    Si no se proporciona, el rango de puertos pasivos no se configurará.  
    --use-certbot   Usar Certbot en lugar de acme.sh para emitir certificados de Let's Encrypt. No se recomienda a menos que estés migrando desde un servidor antiguo que use Certbot.  
    --no-web        No usar ISPConfig en este servidor para gestionar la configuración del servidor web y no instalar nginx/apache o pureftpd.  
                    Esto también evitará la instalación de una interfaz de ISPConfig e implica --no-roundcube así como --no-pma.  
    --no-mail       No usar ISPConfig en este servidor para gestionar la configuración del servidor de correo.  
                    Esto instalará postfix para enviar correos del sistema, pero no dovecot y no configurará ninguna configuración para el correo de ISPConfig. Implica --no-mailman.  
    --no-dns        No usar ISPConfig en este servidor para gestionar entradas DNS. Bind se instalará solo para caché/resolución DNS local.  
    --no-local-dns  No instalar caché/resolución DNS local a través de bind.  
    --no-firewall   No instalar ufw y decirle a ISPConfig que no gestione la configuración del firewall en este servidor.  
    --no-roundcube  No instalar roundcube webmail.  
    --roundcube     Instalar Roundcube incluso cuando se use --no-mail. Se necesita configuración manual del config de Roundcube.  
    --no-pma        No instalar PHPMyAdmin en este servidor.  
    --no-mailman    No instalar el gestor de listas de correo Mailman.  
    --no-quota      Desactivar la cuota del sistema de archivos.  
    --no-ntp        Desactivar la configuración de NTP.  
    --no-jailkit    No instalar jailkit.  
    --no-ftp        No instalar el servidor pure-ftpd.  
    --monit         Instalar Monit y configurarlo para monitorear los servicios instalados. Servicios soportados: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd.  
    --monit-alert-email  
                    Configurar alertas para Monit que se envíen a la dirección de correo electrónico dada. por ejemplo, [email protected].  
    --ssh-port      Configurar el servidor SSH para escuchar en un puerto no predeterminado. El número de puerto debe estar entre 1 y 65535 y no puede estar en uso por otros servicios. por ejemplo, --ssh-port=64.  
    --ssh-permit-root  
                    Configurar el servidor SSH si se permite o no el inicio de sesión root: --ssh-permit-root=, por ejemplo, --ssh-permit-root=without-password.  
    --ssh-password-authentication  
                    Configurar el servidor SSH si se permite o no la autenticación por contraseña: --ssh-password-authentication=, por ejemplo, -ssh-password-authentication=no.  
    --ssh-harden    Configurar el servidor SSH para tener una configuración de seguridad más fuerte.  
    --unattended-upgrades  
                    Instalar UnattendedUpgrades. Puedes agregar argumentos adicionales para limpieza automática y reinicios automáticos cuando sea necesario: --unattended-upgrades=autoclean,reboot (o solo uno de ellos).  
    --i-know-what-i-am-doing  
                    Evitar que el autoinstalador pida confirmación antes de continuar para reconfigurar el servidor.

Por ejemplo, para instalar una configuración similar a un ‘Servidor Perfecto’ con Nginx en lugar de Apache, usa este comando:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgrades

O para instalar un servidor web Nginx sin servicios de Correo y DNS:

wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail `--use-ftp-ports=40110-40210` --unattended-upgrades

7. Finalizando

¡Tu configuración ya está lista!

Puedes apoyar a ISPConfig comprando nuestro manual: https://www.ispconfig.org/documentation/

Los siguientes enlaces son algunos tutoriales/puntos valiosos para una configuración adicional:

Si tienes alguna pregunta, pregúntalas en el foro.

8. Depuración en caso de un error

Si algo sale mal durante la instalación, puedes depurar el proceso agregando la bandera de línea de comandos –debug al comando de instalación. Esto escribirá un archivo de registro

/tmp/ispconfig-ai/var/log/ispconfig.log

Además, la opción de línea de comandos –interactive puede ayudar a revelar la razón de un error de instalación.

9. Descargar como una máquina virtual

Esta configuración está disponible como una descarga de máquina virtual en formato ova/ovf (compatible con VMWare y Virtualbox) para suscriptores de howtoforge. La máquina virtual se basa en Debian 12 y utiliza Apache como servidor web.

Detalles de inicio de sesión para la VM

  • La contraseña de root es: howtoforge
  • La contraseña del usuario “admin” de ISPConfig es: howtoforge
  • Hay otro usuario de shell con el nombre “administrator” y contraseña: howtoforge
  • La contraseña raíz de MySQL es: 7s8EtDL1QhorSaeHhnRh

Por favor, cambia todas las contraseñas en el primer inicio de sesión.

  • La dirección IP de la VM es 192.168.0.100
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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