Instalación ISPConfig · 10 min read · Sep 08, 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 soporta las arquitecturas de CPU x86_64 (también conocido como AMD64) y ARM (ARM64). Usaremos el nombre de host server1.example.com. Reemplace 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 conocido 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 --loginen 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 -spara convertirse en el 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/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 edite el archivo /etc/hostname:
nano /etc/hostnameDeberá contener solo la parte del subdominio, en nuestro caso:
server1Finalmente, reinicie el servidor para aplicar el cambio:
systemctl rebootInicie sesión nuevamente y verifique si el nombre de host es correcto ahora con estos comandos:
hostname
hostname -fLa salida debe ser así:
root@server1:~$ hostname
server1
root@server1:~$ hostname -f
server1.example.comTambié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 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. 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-upgradesLos 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-upgradesEjecutando 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 de root de MySQL así:
[INFO] Su contraseña de administrador de ISPConfig es: 5GvfSSSYsdfdYC
[INFO] Su contraseña de root de MySQL es: kkAkft82d!kafMwqxdtYsAsegú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,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)
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 -- --helpPuede, 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 las guías de "Configuración Perfecta del Servidor" 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. 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 debe 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 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 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. Debe 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é 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 usa --no-mail. Se necesita configuración manual del archivo de configuración 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 con la reconfiguración del servidor. Por ejemplo, para instalar una configuración similar a un ‘Servidor Perfecto’ 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-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
¡Su configuración ahora 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:
- Configuración de correo (rDNS, SPF, DKIM): https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/
- Ajustes en Roundcube: https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/
- Configuración de autoconfig (configuración automática para sus clientes de correo): https://schaal-it.com/ispconfig-automail/
- Mejorar 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 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.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 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 shell con el nombre “administrator” y contraseña: howtoforge
- La contraseña de root 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
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.