How to Install the Froxlor Server Management Panel on CentOS 7

Updated on November 21, 2023
How to Install the Froxlor Server Management Panel on CentOS 7 header image

Froxlor is an open source, free, lightweight yet powerful server management panel which is great for establishing and managing web hosting service.

This article will explain the process of installing Froxlor on a CentOS 7 server.

Prerequisites

  • A CentOS 7 x64 server instance.
  • A sudo user.

1. Update the system

In order to keep your system up to date, run the following commands as a sudo user:

sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now

Log in back as the same sudo user after the system starts again.

2. Install the Apache web server

On CentOS 7, you can install the latest stable release of Apache using YUM:

sudo yum install httpd -y

Next, remove the Apache welcome page:

sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf

For security purposes, you should prevent Apache from exposing files to web visitors:

sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf

Start the Apache web server and enable automatic start on system boot:

sudo systemctl start httpd.service
sudo systemctl enable httpd.service

3. Install MariaDB 10

Froxlor needs to store its data in a relationship database. On CentOS 7, it is recommended to use MariaDB 10.1.

3.1 Setup the MariaDB 10.1 YUM repo

Just copy the entire code segment below into your SSH terminal, and then press Enter to import the repo file:

cat <<EOF | sudo tee -a /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.5 CentOS repository list - created 2020-07-01 11:54 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
EOF

3.2 Install MariaDB 10.1 using YUM:

sudo yum install MariaDB-server MariaDB-client -y

3.3 Start the MariaDB service and enable auto start on boot:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.4 Secure the installation of MariaDB:

Run the below command to secure MariaDB:

sudo /usr/bin/mysql_secure_installation

Answer questions as follows, and be sure to use a private and strong MariaDB root password.

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: <your-password>
Re-enter new password: <your-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

3.5 Create a MariaDB database for Froxlor

Log into the MySQL shell as root:

mysql -u root -p

Enter the MariaDB root password you set earlier in order to log in.

In the MySQL shell, create a database froxlor, an unprivileged user froxlor and its password (say it is yourpassword) using the following commands.

Note: Remember to replace the sample password yourpassword with a secure password.

CREATE DATABASE froxlor;
CREATE USER 'froxlor'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON froxlor.* TO 'froxlor'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

4. Install PHP 7

Install PHP 7.1 and all the necessary dependencies using the Webtatic YUM repo as follows:

sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-mysqlnd php71w-common php71w-process php71w-mbstring php71w-bcmath php71w-gd php71w-cli -y

5. Install Froxlor

Download the latest stable release of Froxlor, unzip the archive to the web root directory, and then grand proper permissions to all of the Froxlor files:

cd /var/www/html
sudo wget https://files.froxlor.org/releases/froxlor-latest.tar.gz
sudo tar -zxvf froxlor-latest.tar.gz
sudo chown -R apache:apache /var/www/html/froxlor
sudo rm froxlor-latest.tar.gz
sudo systemctl restart httpd.service

Modify firewall rules in order to allow web access:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Now, point your web browser to http://203.0.113.1/froxlor/, continuing the installation in the web interface.

  1. On the Welcome to Froxlor page, click the Start install link.

  2. On the Checking system requirements page, make sure that all requirements have been satisfied, and then click the link Click here to continue.

  3. On the Froxlor install - setup page, provide necessary info as follows, and then click the link Click here to continue.

Database connection

  • MySQL-Hostname: 127.0.0.1
  • Database name: froxlor
  • Username for the unprivileged MySQL-account: froxlor
  • Password for the unprivileged MySQL-account: yourpassword
  • Username for the MySQL-root-account: root
  • Password for the MySQL-root-account: <MariaDB-root-password>

Administrator Account

  • Administrator Username: <your-Froxlor-admin-username>
  • Administrator Password: <your-Floxlor-admin-password>
  • Administrator-Password (confirm): <your-Floxlor-admin-password>

Server settings

  • Server name (FQDN, no ip-address): <your-server's-FQDN>
  • Server IP: 203.0.113.1
  • Webserver Apache 2.4: Apache 2.4
  • HTTP username: apache
  • HTTP groupname: apache
  1. On the last page, if nothing goes wrong, you can use the link Click here to login to visit the Froxlor dashboard.