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.
On the
Welcome to Froxlor
page, click theStart install
link.On the
Checking system requirements
page, make sure that all requirements have been satisfied, and then click the linkClick here to continue
.On the
Froxlor install - setup
page, provide necessary info as follows, and then click the linkClick 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
- On the last page, if nothing goes wrong, you can use the link
Click here to login
to visit the Froxlor dashboard.