Instalar y configurar Froxlor: guía paso a paso para principiantes (Parte 2 de 3)
Serie „Tu propio servidor – de 0 a seguro" · 3 partes:
- Configurar & asegurar un vServer Debian
- Instalar & configurar Froxlor ← Estás aquí
- Configurar bien el correo: SPF, DKIM & DMARC
Esta es la Parte 2. Presupone un servidor seguro como el configurado en la Parte 1. Aquí instalamos Froxlor y aplicamos las configuraciones del servidor. El correo seguirá en la Parte 3.

Índice
- Requisitos previos
- Paso 1: Preparar el servidor (verificar el nombre de host)
- Paso 2: Instalar la pila LAMP (servidor web, base de datos, PHP)
- Paso 3: Crear una base de datos para Froxlor
- Paso 4: Instalar Froxlor desde el repositorio oficial
- Paso 5: Recorrer el instalador web de Froxlor
- Paso 6: Aplicar las configuraciones de Froxlor (la parte más importante)
- Paso 7: Activar HTTPS con Let's Encrypt
- Paso 8: Crear el primer dominio y el primer cliente
- Problemas frecuentes y sus soluciones
- Lista de comprobación
- ¿Cómo continuar?
- Fuentes
Froxlor es un panel de administración de servidor gratuito. Sirve para gestionar fácilmente dominios, sitios web, certificados SSL, cuentas de correo y bases de datos mediante una interfaz web – en lugar de configurar todo a mano en la consola. Lo especial: Froxlor escribe los archivos de configuración del servidor web, PHP, la base de datos y el correo por ti. Es justamente este „aplicar las configuraciones" el núcleo de esta guía.
Seguimos siendo aptos para principiantes: cada paso para copiar, cada acción explicada. Usamos Debian 12 con Apache como servidor web.
Consejo: Ejecuta todos los comandos como el usuario creado en la Parte 1 con
sudo. Sustituye los marcadores comoservidor.tu-dominio.esyCONTRASEÑA-FUERTEpor tus valores reales.
Requisitos previos
- Un servidor Debian 12 seguro con usuario sudo y cortafuegos abierto para los puertos 80/443 – exactamente el resultado de la Parte 1.
- Un dominio que apunte a la IP de tu servidor (un registro A en el DNS de tu proveedor de dominios). Para el panel usamos un subdominio, p. ej.
servidor.tu-dominio.es. - Acceso SSH al servidor.
Paso 1: Preparar el servidor (verificar el nombre de host)
Froxlor necesita un nombre completo (FQDN). Configúralo y añádelo al archivo hosts. Sustituye servidor.tu-dominio.es y SERVER-IP:
sudo hostnamectl set-hostname servidor.tu-dominio.es
echo "SERVER-IP servidor.tu-dominio.es servidor" | sudo tee -a /etc/hosts
Asegúrate de que el sistema esté actualizado:
sudo apt update && sudo apt full-upgrade -y
Verifica el nombre completo – debería aparecer servidor.tu-dominio.es:
hostname -f
Paso 2: Instalar la pila LAMP (servidor web, base de datos, PHP)
„LAMP" significa Linux, Apache, MariaDB y PHP – la base sobre la que se apoyan Froxlor y tus sitios. Instala todo con un comando:
sudo apt install -y apache2 mariadb-server \
php php-fpm php-cli php-mysql php-curl php-gd php-intl php-mbstring \
php-xml php-zip php-bcmath php-soap \
libapache2-mod-php unzip
Asegura el servidor de base de datos (pon una contraseña root, responde Y a las demás preguntas):
sudo mysql_secure_installation
Paso 3: Crear una base de datos para Froxlor
Froxlor guarda sus ajustes en una base de datos propia. El instalador web del Paso 5 normalmente la crea por sí mismo – solo necesitas las credenciales del usuario root de la base de datos que acabas de configurar. No obstante, puedes preparar la base de datos ya ahora:
sudo mysql -e "CREATE DATABASE froxlor CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'froxlor'@'localhost' IDENTIFIED BY 'CONTRASEÑA-FUERTE';
GRANT ALL PRIVILEGES ON froxlor.* TO 'froxlor'@'localhost';
FLUSH PRIVILEGES;"
Anota froxlor (base de datos y usuario) y tu CONTRASEÑA-FUERTE – estos valores se necesitarán enseguida en el instalador.
Paso 4: Instalar Froxlor desde el repositorio oficial
Instalamos Froxlor desde la fuente de paquetes oficial – así recibes las actualizaciones automáticamente. Primero prepara los paquetes auxiliares y la clave de firma:
sudo apt install -y apt-transport-https lsb-release ca-certificates curl gnupg
sudo curl -fsSL https://deb.froxlor.org/froxlor.gpg -o /etc/apt/trusted.gpg.d/froxlor.gpg
Añade la fuente de paquetes e instala Froxlor:
echo "deb https://deb.froxlor.org/debian $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/froxlor.list
sudo apt update
sudo apt install -y froxlor
Nota: Si la dirección del repositorio cambiara alguna vez, encontrarás los comandos actualizados en la documentación de instalación oficial de Froxlor. Como alternativa existe la instalación mediante archivo tarball, si no quieres usar un repositorio.
Froxlor está ahora en /var/www/froxlor. Para que Apache sirva el panel, activamos el vHost de ejemplo incluido (o creamos uno propio). Para empezar rápido basta con:
sudo a2enmod rewrite
sudo systemctl reload apache2
Paso 5: Recorrer el instalador web de Froxlor
Ahora se continúa en el navegador. Abre el panel (primero mediante la IP o el subdominio):
http://servidor.tu-dominio.es/froxlor
El asistente de instalación te guía en unos pocos pasos:
- Comprobación del sistema – si falta algo, Froxlor lo muestra en rojo y nombra el paquete a instalar.
- Base de datos – introduce los datos del Paso 3 (base de datos
froxlor, usuariofroxlor, tu contraseña) y las credenciales del usuario root de la base de datos. - Cuenta de administrador – configura un nombre de usuario y una contraseña fuerte para tu acceso a Froxlor.
- Finalización – Froxlor escribe su configuración y te lleva al inicio de sesión.
Luego inicia sesión con tu cuenta de administrador. Ahora ves el panel de control de Froxlor.
Paso 6: Aplicar las configuraciones de Froxlor (la parte más importante)
Froxlor ahora sabe cómo deben configurarse tus sitios y servicios – pero aún debe escribir esta configuración en el servidor. Esto ocurre en dos lugares.
6.1 Elegir los servicios. En el menú de Froxlor en Sistema → Ajustes eliges qué software usas: como servidor web Apache 2.4, más PHP-FPM (para una ejecución PHP rápida y separada) y, opcionalmente, los servicios de correo (Postfix/Dovecot, más detalles en la Parte 3). Activa al menos „Apache" y „PHP-FPM" y guarda.
6.2 Adoptar los comandos de configuración. En el menú Sistema → Configuración Froxlor te muestra – adaptados a tu distribución y a los servicios elegidos – los comandos y fragmentos de configuración exactos que debes ejecutar una vez en el servidor (p. ej. activar módulos de Apache, configurar pools PHP-FPM). Recorre esta lista de arriba abajo y copia cada comando en tu sesión SSH. La documentación oficial describe este paso en detalle en Froxlor – Configuration.
6.3 Configurar el cron de Froxlor. Para que Froxlor escriba en adelante las configuraciones automáticamente (cuando p. ej. creas un nuevo dominio) y renueve los certificados SSL, configuramos su servicio en segundo plano. Ejecuta el cron una vez manualmente para probar (-f fuerza la reescritura de las config, -d muestra una depuración detallada):
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -f -d
Para que se ejecute regularmente, activa el timer de systemd incluido (o añade un cronjob). Con timer:
sudo systemctl enable --now froxlor.timer 2>/dev/null || \
( echo "* * * * * www-data /usr/bin/php /var/www/froxlor/bin/froxlor-cli froxlor:cron" | sudo tee /etc/cron.d/froxlor )
A partir de ahora Froxlor aplica por sí solo tus cambios del panel en el servidor. La ruta exacta y los comandos cron actualizados están en la documentación de Froxlor sobre el cronjob.
Paso 7: Activar HTTPS con Let's Encrypt
Tu panel y tus sitios deben ser accesibles de forma cifrada (vía HTTPS). Froxlor incluye para ello una conexión con Let's Encrypt. Actívala en Sistema → Ajustes → SSL/Let's Encrypt: introduce un correo de contacto y activa „Activar Let's Encrypt".
Luego, en cada dominio de Froxlor puedes marcar „Let's Encrypt" – el certificado se crea automáticamente y lo renueva el cron del Paso 6. Contexto sobre Let's Encrypt en Let's Encrypt y sobre la herramienta estándar en Certbot.
Paso 8: Crear el primer dominio y el primer cliente
Por último creamos un sitio. En Froxlor se hace así:
- Crear un cliente: menú Clientes → Nuevo. Aunque solo te gestiones a ti mismo, necesitas un „cliente" como propietario de los dominios.
- Añadir un dominio: menú Dominios → Nuevo, introduce el dominio (p. ej.
tu-dominio.es), asígnalo al cliente, elige la versión PHP y – si quieres – activa „Let's Encrypt" y „redirección a HTTPS". - Espera un momento a que el cron de Froxlor (Paso 6) se ejecute – entonces el dominio está en línea.
Luego pones los archivos de tu sitio en la carpeta del cliente (Froxlor muestra la ruta). Así tu servidor se convierte en un sistema de hosting completo, gestionable desde la interfaz.
Problemas frecuentes y sus soluciones
Froxlor es potente, pero a veces da problemas. Estas son las trampas más frecuentes en la práctica – cada una con comandos para copiar. Ejecuta todos los comandos como usuario sudo vía SSH. (La ruta de Froxlor con la instalación desde repositorio es /var/www/froxlor; en algunas configuraciones /var/www/html/froxlor – adapta si es necesario.)
Froxlor no aplica los cambios (el cron no se ejecuta)
Si nuevos dominios, vHosts o ajustes no llegan al servidor, casi siempre es el cron. Ejecútalo manualmente y fuerza la reescritura de todas las configuraciones (-f) con depuración (-d):
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -f -d
Regenerar solo las configuraciones de servidor web/servicios (tarea 1):
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 1 -f -d
Si la ejecución automática desaparece por completo, haz que Froxlor reescriba el archivo cron (tarea 99) y verifica el timer/cronjob:
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 99
systemctl status froxlor.timer
cat /etc/cron.d/froxlor
Froxlor más antiguo (v0.10): allí el comando se llama
php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --force --debug. Todas las opciones CLI están en la documentación CLI oficial.
Let's Encrypt da problemas: sin certificado o renovación fallida
Descarta primero las causas más frecuentes: php-curl debe estar instalado, el puerto 80 debe estar abierto (Let's Encrypt verifica a través de él), el registro A del dominio debe apuntar al servidor, y no se debe usar comodín/alias.
sudo apt install -y php-curl
sudo ufw allow 80/tcp
Inicia la generación del certificado con depuración – verás el mensaje de error exacto:
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -d
Si cambiaron rutas (DocumentRoot/carpeta ACME), repara la configuración de acme.sh:
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:validate-acme-webroot -A
Si el certificado se niega rotundamente a renovarse, fuerza la renovación directamente vía acme.sh (sustituye el dominio; para certificados ECDSA añade --ecc):
sudo bash /root/.acme.sh/acme.sh --renew -d tu-dominio.es --force
Froxlor más antiguo (v0.10): allí la ejecución de Let's Encrypt es independiente:
php -q /var/www/froxlor/scripts/froxlor_master_cronjob.php --letsencrypt --debug.
Error 500 (Internal Server Error) justo tras crear un dominio
Lo más frecuente es que PHP-FPM aún no esté activo o la configuración no se haya escrito. Regenera las config y reinicia los servicios:
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:cron -r 1 -f
sudo systemctl restart php8.3-fpm apache2
Bloqueado fuera del panel Froxlor (demasiados intentos fallidos)
Froxlor bloquea las cuentas tras varios intentos fallidos. Desbloquear al admin:
sudo -u www-data php /var/www/froxlor/bin/froxlor-cli froxlor:user -u admin
Panel o sitio web inaccesible
Verifica primero el cortafuegos, luego Apache:
sudo ufw allow 80,443/tcp
sudo systemctl status apache2
sudo tail -n 50 /var/log/apache2/error.log
SSL no funciona: falta el puerto 443
Para que Froxlor pueda escribir vHosts HTTPS, bajo Recursos → IPs & Ports debe existir una entrada con el puerto 443 y la opción SSL activada. Créala, luego ejecuta el cron con -f (ver arriba).
Lista de comprobación
- [ ] Nombre de host/FQDN configurado,
hostname -fcorrecto - [ ] Pila LAMP instalada, base de datos asegurada
- [ ] Froxlor instalado desde repositorio, instalador web completado
- [ ] Servicios (Apache, PHP-FPM) elegidos y configuración aplicada
- [ ] Cron de Froxlor en ejecución (timer/cronjob activo)
- [ ] HTTPS/Let's Encrypt activado
- [ ] Primer cliente + primer dominio creados y accesibles
¿Cómo continuar?
Tu servidor ya puede alojar sitios web. En la última parte nos aseguramos de que también funcione el envío de correos – y de modo que tus mensajes no acaben en el spam. Para ello configuramos SPF, DKIM y DMARC:
👉 Parte 3: Configurar bien el correo: SPF, DKIM & DMARC
El punto de partida – el servidor seguro – se describe en la Parte 1: Configurar & asegurar un vServer Debian.
¿Necesitas un plugin individual, una integración o una solución web a medida? PepperTools la desarrolla para ti – contacta a través del formulario.
Fuentes
- Froxlor – sitio oficial
- Documentación de Froxlor
- Froxlor – scripts de consola (CLI)
- Foro de Froxlor (soporte & resolución de problemas)
- idroot: instalar Froxlor en Debian 12
- ComputingForGeeks: Froxlor en Debian
- Let's Encrypt · Certbot
Actualizado a junio de 2026. Los comandos, rutas y direcciones de repositorio pueden cambiar con las nuevas versiones – la documentación oficial de Froxlor es la referencia.
Gestiona facturas con mas facilidad
Easy Invoice combina presupuestos, facturas y gestion de clientes en la nube.
Probar Easy Invoice