What is Froxlor?

Froxlor is a free and open-source web hosting control panel designed to help system administrators and hosting providers manage shared hosting servers. It provides a web-based interface to manage websites, domains, FTP accounts, email addresses, databases, SSL certificates, and user quotas—eliminating the need to configure each service manually.

Installing Froxlor on Debian 12 (Bookworm) offers a lightweight, flexible, and secure solution for managing multi-user web hosting environments, ideal for freelancers, small hosting businesses, and developers.


Key Features of Froxlor

Web Hosting Management

  • Manage multiple domains, subdomains, and customer accounts.
  • Supports both Apache and Nginx as web servers.
  • Configure virtual hosts, PHP settings, and document roots per domain.

FTP and Email Services

  • Create and manage FTP accounts with user quotas.
  • Supports ProFTPD or Pure-FTPd for FTP services.
  • Email account management via Postfix, Dovecot, or Courier.
  • Features include forwarders, aliases, autoresponders, and spam filtering.

SSL and Let’s Encrypt Integration

  • Issue and renew free SSL certificates via Let’s Encrypt.
  • Assign custom or wildcard certificates to domains.

Database Administration

  • Supports MySQL and MariaDB databases.
  • Web-based access via phpMyAdmin integration.

User and Resource Quotas

  • Assign disk space, traffic, and email limits to users.
  • Monitor usage per customer or domain.

Modular Design and API

  • REST API for automation and integration with billing systems.
  • Modular structure for configuring web, FTP, mail, and DNS stacks.

Why Use Froxlor on Debian 12?

Debian 12 is well-suited for Froxlor due to its:

  • Long-term support and stability
  • Clean, minimal base system ideal for performance
  • Large repository of compatible packages
  • Secure configuration defaults
  • Community-driven development model

Froxlor is lightweight enough to run on small VPS setups and powerful enough to handle shared hosting for multiple customers.


System Requirements for Froxlor on Debian 12

ComponentRequirement
OSDebian 12 (Bookworm)
Web ServerApache 2.4 or Nginx
PHP VersionPHP 8.2 with required extensions (mysqli, curl, mbstring, etc.)
DatabaseMySQL or MariaDB
FTP ServerProFTPD or Pure-FTPd
Mail ServerPostfix with Dovecot or Courier
Disk Space2 GB+ (more for hosting multiple sites)
RAM512 MB minimum (1 GB+ recommended)

Typical Froxlor Stack on Debian 12

  • Web server: Apache or Nginx
  • PHP: 8.2 with PHP-FPM
  • Database: MariaDB 10.11 (default in Debian 12)
  • Mail: Postfix + Dovecot
  • FTP: ProFTPD or Pure-FTPd
  • SSL: Let’s Encrypt via Certbot
  • Firewall: UFW or iptables (optional)

Common Use Cases

  • Small to mid-sized shared hosting providers
  • Freelancers hosting client websites
  • Local or private hosting for agencies or internal teams
  • Educational or sandbox environments for students
  • Personal control panels for self-managed servers

Pros of Froxlor on Debian 12

  • Lightweight and resource-efficient
  • Free and open-source with active development
  • Clean, browser-based interface
  • Compatible with major web/mail/FTP services
  • No licensing fees or vendor lock-in
  • Well-documented and relatively easy to maintain

Cons

  • Requires manual configuration of backend services
  • Less polished than commercial solutions like cPanel or Plesk
  • Limited plugin ecosystem
  • No built-in file manager (relies on FTP access)
  • No native support for Docker or containerization
  • DNS management requires external or advanced setup

Security Best Practices

  • Use HTTPS with Let’s Encrypt for the Froxlor panel
  • Restrict access using firewalls (UFW or iptables)
  • Use strong passwords and disable unused services
  • Keep Debian, Froxlor, and services up to date
  • Monitor logs and resource usage regularly
  • Consider installing Fail2Ban to block brute-force attempts

Froxlor on Debian 12 offers a capable and cost-effective solution for managing a shared web hosting server. It is ideal for users seeking an alternative to commercial hosting panels with full control over configurations. Debian 12 enhances this setup by providing a stable, secure, and low-overhead environment—making it perfect for self-hosted web servers and small-scale web hosting businesses.

Whether you’re hosting client websites or managing your own domains, Froxlor on Debian 12 provides the flexibility and functionality needed to handle day-to-day web hosting tasks efficiently.


Step 1: Create a Cloud VPS on Shape.Host

Go to https://shape.host and log in.

Click Create.

Choose Instance.

Shape.host Resources dashboard with Create > Instance highlighted.

Select your preferred server location.

Shape.host instance form with the data center location selector highlighted.

Choose Debian 12 (64-bit) as your OS.

Select a plan with at least 2 CPUs, 4 GB RAM, and 20 GB SSD.

Shape.host instance form with the operating system image selector highlighted.

Click Create Instance.

Shape.host instance form with the Create Instance button highlighted.

Find the instance’s IP address in the Resources section.

Shape.host Resources dashboard with the server IP address highlighted.

Step 2: Connect to Your Server

Linux/macOS:
Open your terminal and run:

ssh root@your_server_ip

Windows:
Use PuTTY, enter your server IP, then log in as root.


Step 3: Update Package Index

apt update

Refreshes the package list so you’re ready to install the latest versions.

Terminal showing APT package management commands and output.

Step 4: Install and Configure Nginx

apt install nginx
systemctl start nginx
systemctl enable nginx
systemctl status nginx

This installs the Nginx web server, starts it, enables it to run at boot, and checks its status.

Terminal showing APT package management commands and output.
Terminal showing systemd service management commands or output.

Step 5: Install and Configure MariaDB

apt install mariadb-server
systemctl start mariadb
systemctl enable mariadb
systemctl status mariadb

Installs and starts MariaDB, the database system Froxlor will use.

Terminal showing PM2 application process management output.
Terminal showing systemd service management commands or output.

Step 6: Create a Database Admin User

mariadb

Inside the MariaDB shell, run:

CREATE USER 'froxroot'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON *.* TO 'froxroot'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

This creates a MySQL user with full privileges (use a secure password).

Terminal showing SQL database and user configuration commands.

Step 7: Install PHP and All Required Extensions

apt install php-fpm php-intl php-mysql php-curl php-cli php-zip php-xml php-gd php-common php-mbstring php-xmlrpc php-bcmath php-json php-sqlite3 php-soap php-gmp php-gnupg php-zip php-ldap php-imap

These extensions are needed for Froxlor to run properly.

Terminal showing APT package management commands and output.

Step 8: Download and Extract Froxlor

cd /tmp
wget https://files.froxlor.org/releases/froxlor-latest.tar.gz
tar xvfz froxlor-latest.tar.gz -C /var/www/
chown -R www-data:www-data /var/www/froxlor/

Downloads the latest Froxlor version, extracts it, and sets the correct permissions.

Terminal showing file download commands and transfer output.

Step 9: Set Up Nginx Virtual Host

nano /etc/nginx/sites-available/froxlor.conf

Paste the following config (replace your-domain.com with your real domain or IP):

server {
    listen 80;
    listen [::]:80;
    root /var/www/froxlor;
    index index.php;
    server_name your-domain.com;

    access_log /var/log/nginx/your-domain.com.access.log;
    error_log /var/log/nginx/your-domain.com.error.log;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
         include snippets/fastcgi-php.conf;
         fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params;
    }
}
Terminal showing the GNU nano editor and configuration text.

Step 10: Enable the Site and Restart Services

ln -s /etc/nginx/sites-available/froxlor.conf /etc/nginx/sites-enabled/
systemctl restart nginx.service
systemctl restart php8.2-fpm

Activates the new configuration and restarts Nginx and PHP-FPM to apply changes.


Step 11: Open Froxlor in Your Browser

Visit:

http://your_server_ip

This will launch the Froxlor web installer. Follow the setup steps to complete the configuration.

Froxlor setup interface.

Click Start installation to begin.

Froxlor setup interface.

Type in the database name and password, then click Next.

Froxlor setup interface.

Create an admin account and continue.

Froxlor account creation form.

Type in the server primary IP address and choose the webserver and backend for Nginx.

Froxlor setup interface.

Choose to configure services yourself.

Froxlor installation summary and final configuration instructions.

Login and begin configuring your services.

Froxlor sign-in form.
Froxlor dashboard.

You’ve successfully installed Froxlor on Debian 12 with Nginx, PHP 8.2, and MariaDB — all based on your own commands, explained clearly.


Hosting by Shape.Host

This guide is designed for Shape.Host Cloud VPS users. Shape.Host offers:

  • Fast and reliable Linux SSD VPS infrastructure
  • Full root access
  • Great performance for hosting control panels like Froxlor

Start at https://shape.host