Instalación ISPConfig · 10 min read · Sep 25, 2025
Instalación Automatizada de ISPConfig 3 en Debian 11 y Debian 12, Ubuntu 22.04 y Ubuntu 24.04

Este tutorial te 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 --loginen 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 configurará incorrectamente tu variable PATH.
En Ubuntu, usa el comando:
sudo -spara 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/hosts127.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-allroutersLuego edita el archivo /etc/hostname:
nano /etc/hostnameDeberá contener solo la parte del subdominio, en nuestro caso:
server1Finalmente, reinicia el servidor para aplicar el cambio:
systemctl rebootInicia sesión nuevamente y verifica si el nombre de host es correcto ahora con estos comandos:
hostname
hostname -fLa salida debe ser como esta:
root@server1:~$ hostname
server1
root@server1:~$ hostname -f
server1.example.comTambién tendrás que 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 upgrade4. 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 no atendidas, ejecuta:
wget -O - https://get.ispconfig.org | sh -s -- `--use-ftp-ports=40110-40210` --unattended-upgradesLos 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 no atendidas, ejecuta:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgradesEjecutando 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 haya terminado, te mostrará la contraseña de administrador de ISPConfig y la contraseña de root de MySQL así:
[INFO] Tu contraseña de administrador de ISPConfig es: 5GvfSSSYsdfdYC
[INFO] Tu contraseña de root de MySQL es: kkAkft82d!kafMwqxdtYsAsegú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, debería verse así:
TCP:
20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081UDP:
53Los 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 -- --helpPuedes, 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 Muestra esta página de ayuda.
--debug Habilita el registro detallado (registra cada comando con el código de salida).
--channel Elige 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 Usa el idioma para la instalación de ISPConfig. Especifica con --lang=en|de (solo se soportan actualmente en (Inglés) y de (Alemán)).
--interactive No instales 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 Usa el servidor web nginx en lugar de apache2.
--use-amavis Usa amavis en lugar de rspamd para el filtrado de correo.
--use-unbound Usa unbound en lugar de bind9 para la resolución local. Solo permitido si se establece --no-dns.
--use-php Usa 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. Debes 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 Usa 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 uses ISPConfig en este servidor para gestionar la configuración del servidor web y no instales 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 uses 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 uses ISPConfig en este servidor para gestionar entradas DNS. Bind se instalará solo para caché/resolución DNS local.
--no-local-dns No instales caché/resolución DNS local a través de bind.
--no-firewall No instales ufw y dile a ISPConfig que no gestione la configuración del firewall en este servidor.
--no-roundcube No instales roundcube webmail.
--roundcube Instala Roundcube incluso cuando se use --no-mail. Se necesita configuración manual del config de Roundcube.
--no-pma No instales PHPMyAdmin en este servidor.
--no-mailman No instales el gestor de listas de correo Mailman.
--no-quota Desactiva la cuota del sistema de archivos.
--no-ntp Desactiva la configuración de NTP.
--no-jailkit No instales jailkit.
--no-ftp No instales el servidor pure-ftpd.
--monit Instala Monit y configúralo para monitorear los servicios instalados. Servicios soportados: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd.
--monit-alert-email
Configura alertas para Monit que se envíen a la dirección de correo electrónico dada. por ejemplo, [email protected].
--ssh-port Configura 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
Configura 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
Configura 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 Configura el servidor SSH para tener una configuración de seguridad más fuerte.
--unattended-upgrades
Instala 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
Evita 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, usa este comando:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx `--use-ftp-ports=40110-40210` --unattended-upgradesO 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-upgrades7. 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:
- Configuración de correo (rDNS, SPF, DKIM): https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/
- Ajustando Roundcube: https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/
- Configuración de autoconfig (configuración automática para tus clientes de correo): https://schaal-it.com/ispconfig-automail/
- Mejora la seguridad de PHPMyAdmin y la interfaz de Rspamd: https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/
- Repositorio de código y rastreador de problemas del Autoinstalador de ISPConfig: https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
Si tienes alguna pregunta, pregúntalas en el foro.
8. Depuración en caso de 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.logAdemá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 está basada 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 shell con el nombre “administrator” y contraseña: howtoforge
- La contraseña de root 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
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.