Froxlor is a very powerful and lightweight server management panel written in PHP. It is also free and Open Source. Froxlor can be used for creating and managing shared web hosting servers. Unlike other hosting panels it does not come with a pre-installed LAMP, but due to its small memory requirements, it can be used to perform various tasks related to server management and web hosting management.
Froxlor comes with many features but most significant features are
- You can choose different IP address and port for each domain hosted.
- Support for per domain
- Let's Encrypt SSL support as well as per domain SSL support.
- MySQL management, directory protection and Quota Management.
- Limit multiple resources for Resellers and Customers.
- Interactive graphs for HTTP, FTP and Mail traffic.
- Support for popular web servers like Apache, nginx and Lighttpd.
- Inbuilt support ticket system for easy interaction with customers.
In this tutorial, we will learn to install Froxlor on CentOS 7 after installing all the necessary dependencies.
Froxlor can be installed on systems with a small amount of RAM, but it is recommended that you have at least 512 MB RAM. You will also need a minimal installation of CentOS 7 with root access on it. If you are logged in as non root user, you can run
sudo -i to switch to root user.
Before installing any package in our system, it is recommended to update the system and available package, run the following command for same.
yum -y update
Once the system is updated, you will need to setup a hostname for your server. A hostname is an FQDN which can not be same as the domain name you want to host on the server. For example, if you have a domain
example.com, you can use hostname such as
host.example.com. Run the following command to set the hostname.
You can now install the LAMP package which required to install Froxlor. The default YUM repository contains PHP version 5.4, but it is recommended to install PHP v5.6 or v7.0. To install these packages you will need to install Webtatic and EPEL repositories. Run the following commands for same.
yum -y install epel-release
yum -y update
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
Now we can directly install the Apache web server, MariaDB database server, and PHP. To install LAMP with PHP 5.6 and the required packages, run the following command.
yum -y install httpd mariadb mariadb-server php56w php56w-opcache php56w-common php56w-cli php56w-mysql php56w-pdo php56w-mbstring php56w-bcmath php56w-posix
To install LAMP with PHP 7.0 and the required packages, run the following command.
yum -y install httpd mariadb mariadb-server php70w php70w-opcache php70w-common php70w-cli php70w-mysql php70w-pdo php70w-mbstring php70w-bcmath php-70w-posix
Start Apache and MariaDB and enable them to start at boot time using the following commands.
systemctl start httpd
systemctl enable httpd
systemctl start mariadb
systemctl enable mariadb
Run the following command to secure your MariaDB installation.
You will be prompted to enter current root password of MySQL root, as we have just installed MySQL/MariaDB, there is no root password, just press Enter button to proceed further. Set a strong root password for MySQL root and answer
y for all the questions.
Now you will need to disable SELinux. Edit the
/etc/sysconfig/selinux file using your favorite text editor.
Look for the
SELINUX=enforcing in the file and change it to
SELINUX=disabled. Now reboot your server so that the SELinux is disabled completely.
Once the server is up again, we can download the Froxlor files. Login as root user and switch to webroot directory of Apache.
Now download the Froxlor files and extract it using the following commands.
tar xvfz froxlor-latest.tar.gz
If you don't have wget installed, you can install it using
yum -y install wget. This will extract the file in
froxlor subdirectory. Now provide the appropriate permissions to the Froxlor files using the following command.
chown -R apache:apache /var/www/html/froxlor/
Now you can proceed to the front end to complete the installation of the software. Open your favorite web browser and go to the following web address.
You will see the following welcome screen.
Click on Start Install link to proceed further. The installer will now check for the requirements to install Froxlor. If you have followed the tutorial, you should get the message that all the requirements are satisfied.
Click on the Click here to continue link. In Install- Setup interface, you will need to select the language in which you wish to install the Software.
In Database section, do not change the default value which is
127.0.0.1. Leave the default value of Database name and username for unprivileged MySQL account. Provide a password for unprivileged MySQL account. As we have not created this database, the installer will create the database
froxlor with username
froxlor and password provided. Provide the MySQL root account password which we have created during the execution of
In Administrator Account section, provide the administrator username and password. You will be able to login to the Admin interface using these credentials. In Server settings, provide a server name in FQDN and the public IP address of your server. Choose the web server which is installed, in our case it is Apache 2.4. The HTTP username and groupname is
apache in our case. Click on Click here to continue button and if the information provided is correct then you will get a success message as shown below.
Click on Click here to login and you will be taken to the login interface. Provide the administrator username and password and you will be taken to the Froxlor dashboard.
Before we can host any domain in Froxlor, you will need to add at least one customer. To add a customer, click on Customers link from the left sidebar and you will be taken to the list of customers.
As we do not have any customer, click on Create Customer link to add a new customer.
In Account details section, provide a username using which the user will log in. Next on choosing Yes option for Create standard subdomain? then a subdomain with username and hostname will be automatically created, for example, if the hostname is
froxlor.example.com and username is
test, then standard subdomain will be
test.froxlor.example.com. Next choose Yes to copy the default index file to new user docroot directory. Provide a password for the user, you can also use the suggestion provided below as password. If you choose Yes for Send password then an email with the username and password will be sent to the Customer.
In the Contact data section, provide the customer's details with the email address.
In the Service data section, set the limits of the resources for the customer. Provide the Webspace in MB, Traffic in GB and others like subdomains, email accounts databases etc. You can choose to provide unrestricted resources by selecting
∞ check box. Finally, choose if you want to enable PHP and PERL for customer websites. Click Save button to add the customer.
To add a new domain to the server, click on Domains link from the left sidebar and you will be taken to the list of domains. List of all the domains hosted on the server will appear here.
To create a new domain, click on Create domain link and you will be taken to New domain interface to add a new domain. Domains can be added by administrators and resellers only.
In the Domain settings section, provide your domain name and choose the customer to associate the domain with. Choose the Admin for the domain, it can be the root administrator or any reseller. Next choose if the domain is an alias or a subdomain of another domain. Next, you can choose if you wish to allow a customer to make few changes to the domain. If you choose not select yes then the customer will not be able to make any change in domain. Finally, you can provide the registration and expiry date of the domain, which is optional.
In Web Server settings, you can configure the Document root directory, it is recommended to leave this option blank to use the default directory. Specify the IP address for your server, if you have more than one IP addresses, you can add more the one addresses. Next in ServerAlias value for the domain you can Chose whether froxlor should create a wildcard entry (*.example.com), a WWW-alias (www.example.com) or no alias at all. Next, you can choose Separate logfile option to enable separate log file for the domain.
Fuhrer, select appropriate choices for Web Server SSL settings, PHP Settings, Nameserver settings, Mailserver settings. These settings are optional. Click Save button to add the hosting for the domain on the server.
You can now edit the DNS settings of the domain and create an
A record to point it towards the IP address of your server. Once done you will see the default index page.
In this tutorial, we learned how to install Froxlor on CentOS 7 with basic web server functionalities. To add more feature on the server, you can click on Configuration link from the sidebar and choose the distribution and service to be installed. Follow the instructions provided. Apart from this we also learned to add customers and domain to the Froxlor interface.