Froxlor is an open-source lightweight server management control panel to effectively manage web hosting, domain names, FTP accounts, email accounts, support tickets and customers that are associated with them, and is licensed under GPL 2.0. In this tutorial, we’ll look at how to install Froxlor in Ubuntu 18.04.


With Froxlor, you can get the raw administrative power of cPanel without paying a dime.



  • A VPS running Ubuntu 18.04. For details on upgrading your Ubuntu 16.04 VPS to 18.04, see our upgrading tutorial.
  • A registered domain name.
  • A DNS A record that points to your server’s IP address based on the FQDN you want to use.


Step 1. Configure the FQDN of the host


To change the hostname of your system, use the hostnamectl command. hostnamectl will directly update the kernel about the change in the hostname, and you don’t need to reboot the machine afterwards. We’re going to choose the hostname based on the subdomain we’ll use to access the control panel later.

$ sudo hostnamectl set-hostname SUBDOMAIN


Next, edit the file /etc/hosts and add the following line at the end.

$ sudo vi /etc/hosts


Here’s an example using a fake IP, panel as the subdomain/hostname, and a domain of mine.

$ sudo vi /etc/hosts
123.456.78.9 dwijadasdey


Run the command below to restart network manager to apply above changes:

$ sudo systemctl restart NetworkManager.service


Check the hostname and FQDN of the host:

$ hostname
$ hostname -f


Step 2. Install LAMP


Unlike other hosting panels, Froxlor does not come with a pre-installed LAMP stack. The easiest and fastest way of installing a LAMP stack is to use tasksel, a tool that installs multiple related packages as a co-ordinated “task” in your system.


tasksel is installed by default in Ubuntu 18.04. If tasksel is missing from your system then install it by issuing following command from the terminal:

$ sudo apt-get install tasksel


To run tasksel from the command line, type:

$ sudo tasksel


Tick LAMP Server and press your TAB key once followed by the enter key. You will be prompted to provide a root password for MySQL and the installation will be completed within minutes.


Find the versions of Apache, MySQL and PHP by issuing the following three commands from the terminal.

$ apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2018-04-25T11:38:24
$ mysql -V
mysql  Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using  EditLine wrapper
$ php -v
PHP 7.2.5-0ubuntu0.18.04.1 (cli) (built: May  9 2018 17:21:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.2.5-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies


To test the installation of LAMP server, create a phpinfo file inside the Apache root directory, which is 



$ cd /var/www/html
$ sudo echo "" > info.php


Point your favorite web browser to http://SUBDOMAIN.DOMAIN.TLD/info.php. You can view the php version, system information, build date, and so on. This confirms that the installation of LAMP stack is successful.


Step 3. Configuring PHP/MySQL for Froxlor


Change the MySQL root password


MySQL 5.7 uses the auth_socket plugin for authenticating users who try to login from within the server itself. This plug-in doesn’t care and doesn’t need a password. It just checks if the user is connecting using a UNIX socket and then compares the user name from the user table. To allow Froxlor can connect to the MySQL database from remote location, you need to change the plugin and set the password at the same time, in the same command.


Log into the MySQL shell as root and change the plugin/password for user root:

$ mysql -u root -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PASSWORD!';
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

mysql>  quit;


Now the Froxlor web installer will be able to connect to the MySQL database from a remote location during installation.


Create a database for Froxlor


While still logged into the MySQL shell, create a database called froxlor and an unprivileged user named froxlor with a password using the following commands.

mysql> create database froxlor;

mysql> create user 'froxlor'@'localhost' IDENTIFIED BY 'PASSWORD!';


mysql> flush privileges;

mysql> exit;;


Install the PHP extensions needed by Froxlor


Although installation of PHP was finished in Step 2, Froxlor still requires few more php extensions. Install those extensions by issuing following commands from the terminal, and then restart Apache:

$ sudo apt-get install php7.2-xml php7.2-posix php7.2-mbstring php7.2-curl php7.2-bcmath php7.2-zip php7.2-json
$ sudo systemctl restart apache2


Now the stage is set for installing Froxlor in Ubuntu 18!


Step 4. Install Froxlor


Download the latest Froxlor version and unpack it inside default root of Apache so that all the files and folders for Froxlor can be found inside /var/www/html Once unpacked, assign correct ownership to the web root of Apache.

$ cd /var/www/html
$ sudo wget
$ sudo tar -zxvf froxlor-latest.tar.gz
$ sudo mv froxlor/* /var/www/html
$ sudo chown -R www-data:www-data /var/www/html
$ sudo rm -rf froxlor froxlor-latest.tar.gz


Now point your web browser to the FQDN you set up in the first step: http://SUBDOMAIN.DOMAIN.TLD In my case, that was You can also connect to the server using your IP address: http://IP_ADDRESS.

Was this answer helpful? 0 Users Found This Useful (0 Votes)