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.
A CentOS 7 x64 server instance.
A sudo user.
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.
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
Froxlor needs to store its data in a relationship database. On CentOS 7, it is recommended to use MariaDB 10.1.
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
sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
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
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;
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
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
4) On the last page, if nothing goes wrong, you can use the link Click here to login
to visit the Froxlor dashboard.