Instalación ISPConfig · 10 min read · Nov 07, 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 su 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 desea configurar una instalación multiserver con servidores dedicados para cada servicio, consulte la guía Perfect Multiserver.

Esta guía funciona para Debian 11 y 12, Ubuntu 22.04 y Ubuntu 24.04. Actualmente admite las arquitecturas de CPU x86_64 (también conocida como AMD64) y ARM (ARM64). Usaremos el nombre de host server1.example.com. Reemplácelo donde sea necesario. La guía requiere un sistema operativo base recién instalado y vacío; no intente usarlo en un sistema donde ya haya 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 conocida como AMD64) o arquitectura de CPU ARM (ARM64).
  • El sistema debe tener acceso a Internet para descargar e instalar software con apt.
  • Comience desde una instalación limpia y vacía del sistema operativo base. El sistema debe ser completamente accesible desde Internet; no bloquee 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 utilice 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. Inicie sesión en el servidor

Inicie sesión como root o ejecute

su --login

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

En Ubuntu, use el comando:

sudo -s

para convertirse en usuario root.

2. Configure el nombre de host y los hosts

El nombre de host de su servidor debe ser un subdominio como “server1.example.com”. No use 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 su configuración. Primero, debe 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 cambiarse 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 edite el archivo /etc/hostname:

nano /etc/hostname

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

server1

Finalmente, reinicie el servidor para aplicar el cambio:

systemctl reboot

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

hostname  
hostname -f

La salida debe ser así:

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

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

3. Actualizar el sistema

Para actualizar los paquetes del sistema, ejecute 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. Puede elegir fácilmente no usar ciertas funciones o instalar servicios adicionales pasando argumentos al instalador. Consulte el Capítulo 6 para las opciones de línea de comandos disponibles.

Instalar ISPConfig con servidor web Apache

Ahora puede ejecutar el script con argumentos. Por ejemplo, si desea una instalación normal con servidor web Apache y un rango de puertos para FTP pasivo + actualizaciones no atendidas, ejecute:

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 puede ejecutar el script con argumentos. Por ejemplo, si desea una instalación normal con servidor web Nginx y un rango de puertos para FTP pasivo + actualizaciones no atendidas, ejecute:

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á:

¡ADVERTENCIA! Este script reconfigurará su servidor completo!  
¡Debe ejecutarse en un servidor recién instalado y toda la configuración actual que haya realizado probablemente se perderá!  
Escriba 'sí' si realmente desea continuar:

Responda “sí” y presione enter. El instalador ahora comenzará.

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

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

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

5. Configuración del firewall

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

Inicie sesión en la interfaz de ISPConfig y vaya a Sistema -> Firewall. Luego haga 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)

Su servidor ahora está configurado y listo para usar. Puede 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.

Puede ver todos los argumentos con:

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

Puede, por ejemplo, elegir entre 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 funciones menos probadas y solo debe ser utilizado en producción por usuarios muy experimentados.  
    --lang          Usar idioma para la instalación de ISPConfig. Especifique con --lang=en|de (solo se admiten en (inglés) y de (alemán) actualmente).  
    --interactive   No instalar ISPConfig en modo no interactivo.  
                    Esto es necesario si desea usar el modo experto, por ejemplo, para instalar un servidor esclavo que se integrará 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 el filtrado de correo.  
    --use-unbound   Usar unbound en lugar de bind9 para la 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 predeterminada de PHP 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. Debe especificar el rango de puertos separado por guiones, 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é 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 y 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 para permitir o no el inicio de sesión como root: --ssh-permit-root=, por ejemplo, --ssh-permit-root=without-password.  
    --ssh-password-authentication  
                    Configurar el servidor SSH para permitir 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. Puede 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 ‘Perfect Server’ con Nginx en lugar de Apache, use 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

¡Su configuración ya está lista!

Puede 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 tiene alguna pregunta, pregúntelas en el foro.

8. Depuración en caso de error

Si algo sale mal durante la instalación, puede 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 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, cambie 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.