Deploy Froxlor Server Management Panel on a VPS
Lightweight, open-source hosting panel for managing domains, email, FTP, databases, and customer resources — no licensing fees, built by sysadmins for sysadmins.
At a Glance
| Project | Froxlor 2.3 |
| License | GPL v2 |
| Recommended Plan | RamNode Cloud VPS 2 GB+ |
| OS | Ubuntu 24.04 LTS |
| Stack | Apache, MariaDB, PHP-FPM |
| Estimated Setup Time | 20–30 minutes |
Prerequisites
- A RamNode VPS with at least 2 GB RAM and 20 GB storage (Ubuntu 24.04 LTS)
- Root SSH access to your VPS
- A registered domain with a dedicated FQDN for the panel (e.g.,
panel.yourdomain.com) - An A record pointing the panel hostname to your VPS IP
Update the System
apt update && apt upgrade -y
rebootInstall Apache, MariaDB, and PHP
apt install -y apache2 mariadb-server \
php php-fpm php-mysql php-curl php-cli php-zip php-xml \
php-gd php-common php-mbstring php-bcmath php-json \
php-intl php-soap php-gmp php-gnupg php-imap php-sqlite3systemctl enable apache2 mariadb
systemctl start apache2 mariadbSecure MariaDB
mysql_secure_installationSet a strong root password, remove anonymous users, disallow remote root login, remove the test database, and reload privilege tables. Answer Y to each prompt.
Create the Froxlor Database Users
mysql -u root -pCREATE USER 'froxroot'@'localhost' IDENTIFIED BY 'CHANGE_THIS_PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'froxroot'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;Tip: Avoid special characters like quotes, spaces, and # in the password — they can cause issues in config files.
Add the Froxlor Repository and Install
apt -y install apt-transport-https lsb-release ca-certificates curl gnupg
curl -sSLo /usr/share/keyrings/deb.froxlor.org-froxlor.gpg \
https://deb.froxlor.org/froxlor.gpg
sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.froxlor.org-froxlor.gpg] \
https://deb.froxlor.org/ubuntu $(lsb_release -sc) main" \
> /etc/apt/sources.list.d/froxlor.list'apt update
apt install -y froxlorConfigure the Apache Virtual Host
<VirtualHost *:80>
ServerName panel.yourdomain.com
DocumentRoot /var/www/html/froxlor
<Directory /var/www/html/froxlor>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/froxlor-error.log
CustomLog ${APACHE_LOG_DIR}/froxlor-access.log combined
</VirtualHost>a2ensite froxlor.conf
a2enmod rewrite
a2enmod proxy_fcgi setenvif
a2enconf php*-fpm
systemctl restart apache2Run the Web Installer
Navigate to http://panel.yourdomain.com and complete the installer:
- Requirements check — All PHP extensions should be green
- Database config — Use
froxrootas privileged user, createfroxloras the unprivileged user and database name - Admin account — Set username, password, and email
- Server settings — Enter VPS IP, FQDN, select Apache and PHP-FPM
Configure Services
In the admin panel, go to System → Configuration. Select Ubuntu 24.04 for each service category and execute the generated commands on your server:
- Web server: Apache 2.4
- Mail server: Postfix with Dovecot (if using email)
- FTP server: ProFTPD or Pure-FTPd
- DNS server: Bind (if managing DNS locally)
- Cron: Follow the commands to set up the Froxlor cron job
Enable Let's Encrypt SSL
In the admin panel: System → Settings → SSL → enable SSL. Then System → Settings → Let's Encrypt → enable.
php /var/www/html/froxlor/bin/froxlor-cli froxlor:cron --run-task 1
php /var/www/html/froxlor/bin/froxlor-cli froxlor:cron --run-task 99Harden the Installation
Firewall
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 21/tcp # FTP (if using)
ufw allow 25/tcp # SMTP (if using mail)
ufw allow 587/tcp # Submission (if using mail)
ufw allow 993/tcp # IMAPS (if using mail)
ufw enableAuto Security Updates & Fail2Ban
apt install -y unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades
apt install -y fail2ban
systemctl enable fail2ban
systemctl start fail2banPanel security: Enable 2FA under System → Settings → Panel for all admin and reseller accounts.
What's Next
- Hosting plans — Create resource-limited plans under Resources → Hosting Plans
- Reseller accounts — Froxlor supports reseller tiers with resource quotas
- API access — Froxlor 2.3 offers a comprehensive API for automation
- SSH key management — Customers can manage SSH keys through the panel
