• Get In Touch
December 26, 2016

How to Install Froxlor Server Management Panel on CentOS 7

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

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 php.ini file.
  • 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.

Requirements

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.

Installing Froxlor

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.

hostname host.example.com

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.

mysql_secure_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.

nano /etc/sysconfig/selinux

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.

cd /var/www/html

Now download the Froxlor files and extract it using the following commands.

wget http://files.froxlor.org/releases/froxlor-latest.tar.gz
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.

http://your-server-ip/froxlor

You will see the following welcome screen.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/1561689468.jpg” alt=”” />

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/321369866.jpg” alt=”” />

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/631332724.jpg” alt=”” />

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 mysql_secure_installation script.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/2111968933.jpg” alt=”” />

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/1361158245.jpg” alt=”” />

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/407669217.jpg” alt=”” />

Adding Customers

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/234765228.jpg” alt=”” />

As we do not have any customer, click on Create Customer link to add a new customer.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/840640952.jpg” alt=”” />

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/1812844073.jpg” alt=”” />

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.

Adding Domains

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/1916350855.jpg” alt=”” />

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.

HP_NO_IMG/data/uploads/users/e840080c-7322-4497-85c0-150182bd4c02/1366890276.jpg” alt=”” />

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.

Conclusion

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.

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

Share this Article!

Related Posts

Node.js Authentication – A Complete Guide with Passport and JWT

Node.js Authentication – A Complete Guide with Passport and JWT

Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will be avoided or at least […]

Node.js and MongoDB: How to Connect MongoDB With Node

Node.js and MongoDB: How to Connect MongoDB With Node

MongoDB is a document-oriented NoSQL database, which was born in 2007 in California as a service to be used within a larger project, but which soon became an independent and open-source product. It stores documents in JSON, a format based on JavaScript and simpler than XML, but still with good expressiveness. It is the dominant […]

Using MySQL with Node.js: A Complete Tutorial

Using MySQL with Node.js: A Complete Tutorial

Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you need to scale an application, […]

Node.Js Vs Django: Which Is the Best for Your Project

Node.Js Vs Django: Which Is the Best for Your Project

Django and NodeJs are two powerful technologies for web development, both have great functionality, versatile applications, and a great user interface. Both are open source and can be used for free. But which one fits your project best? NodeJs is based on JavaScript, while Django is written in Python. These are two equally popular technologies […]

Nodejs Vs PHP:  Which Works Best?

Nodejs Vs PHP: Which Works Best?

Before getting into the “battle” between Node.js and PHP we need to understand why the issue is still ongoing. It all started with the increased demand for smartphone applications, their success forcing developers to adapt to new back-end technologies that could handle a multitude of simultaneous requests. JavaScript has always been identified as a client-side […]