Everyone likes a good control panel to manage their servers. When a control panel is built for maximum security and performance, supports major clouds such as Google Cloud or Azure, and is free, what else can one do but try it. In this tutorial, we will cover the installation and configuration of CloudPanel, which is a free control panel that focuses on PHP applications.
Here is what you’ll need for the successful installation of CloudPanel.
- Ubuntu 20.04.
- Root user access.
- Postfix, Node.js, Percona, and PHP.
- A server with 1 CPU core and 2GB RAM.
Update All Packages
First, let’s make sure that we have the necessary up-to-date packages by using the following command.
root@host:/# apt update && apt upgrade && apt install curl
The output will be rather lengthy. Confirm whether to proceed by responding to the following prompt. Pressing Y will allow the process to finish.
Do you want to continue? [Y/n]
Once completed, all of the packages on your server will be up to date. Let’s proceed to the Postfix installation.
Postfix is an MTA or Mail Transport Agent, and its purpose is to handle emails. To install it, type the following two commands in your command line.
The first one is below.
root@host2:~# apt install gnupg apt-transport-https
This output is for the first command.
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,704 B of archives.
After this operation, 161 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
The output will ask again if you want to proceed (not pictured). Press Y on your keyboard to view the below window.
Leave the Internet Site option selected, and press Enter on your keyboard. The next screen will prompt you to enter the name of your mail server. In our case and for this tutorial, I used example.liquidweb.com. Keep in mind that the mail server name has to be a fully qualified domain name.
Now that Postfix is in place, we can continue in our process.
The next step is to install Node.js, which requires a few commands, the first two being similar. Both of these commands add necessary keys for the Node.js repositories but use different flags.
Run the below curl -s command first. The -s means silent and indicates a progress bar is not visible during the process. The output will be a simple OK.
root@host2:~# curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
The second command -sS will provide the same OK output. This command is silent in the same manner as the first, with no visible progress bar, but it will display in the terminal any errors that occur during the process. Just make sure that you run it after the first one.
root@host2:~# curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
Now we will run a simple echo command. It is a widely used command that passes strings into arguments, and it will add the Node.js repository to the list of available installation sources.
root@host2:~# echo 'deb https://deb.nodesource.com/node_14.x focal main' | tee /etc/apt/sources.list.d/nodesource.list
The output will provide a URL to confirm the exact location of the repository on the Internet.
Below is the last command that we will run for this particular installation. The output will also provide a URL that is part of the command.
root@host2:~# echo 'deb https://dl.yarnpkg.com/debian/ stable main' | tee /etc/apt/sources.list.d/yarn.list
Let’s continue the installation of CloudPanel by adding PHP.
We’ll add PHP with one simple command, and then we will run an update. First, let’s add the repository.
root@host2:~# add-apt-repository ppa:ondrej/php
Use the below command if you are using Nginx.
root@host2:~# add-apt-repository ppa:ondrej/nginx-mainline
With either option, you will be instructed to press Enter to continue.
More info: https://launchpad.net/~ondrej/+archive/ubuntu/php
Press [ENTER] to continue or Ctrl-c to cancel adding it.
The necessary packages will start to download at that time, and once the process is completed, you will see the following output.
Fetched 3,321 kB in 2s (1,944 kB/s)
Reading package lists... Done
Once the packages are downloaded, update them once more.
root@host2:~# apt-get update
Now it’s time to move on to the Percona installation.
The first step is to download the latest Percona version by using the wget command.
root@host2:~# wget https://repo.percona.com/apt/percona-release_latest.$(lsb_release -sc)_all.deb
When the download finishes, we will run the apt install command to install Percona.
root@host2:~# apt install ./percona-release_latest.$(lsb_release -sc)_all.deb
A progress bar in the command line will indicate how the installation is progressing. In most cases, it installs in under 30 seconds.
The output of the installation should look like this once it is completed.
* Enabling the Percona Original repository
<*> All done!
The last thing that we need to do to get Percona up and running is to download additional packages by running this command.
root@host2:~# percona-release setup ps57
The command’s output will look like this in the end.
Reading package lists... Done
Now that we made sure that we have all the necessary software on our server let’s install CloudPanel dependencies and CloudPanel itself.
Cloudpanel requires six additional dependencies to be installed. First, you need to move to /tmp directory with the cd command.
root@host2:/# cd /tmp/
Let’s download those packages now. I will provide you with the command for all six of them. The output will always be the same for all of them and indicate the dependency has been downloaded.
root@host2:/tmp# wget http://ftp.us.debian.org/debian/pool/main/s/startpar/startpar_0.64-3_amd64.deb
root@host2:/tmp# wget http://ftp.us.debian.org/debian/pool/main/s/sysvinit/sysvinit-utils_2.96-6_amd64.deb
root@host2:/tmp# wget http://ftp.us.debian.org/debian/pool/main/l/lsb/lsb-base_11.1.0_all.deb
root@host2:/tmp# wget http://ftp.us.debian.org/debian/pool/main/s/sysvinit/sysv-rc_2.96-6_all.deb
root@host2:/tmp# wget http://ftp.us.debian.org/debian/pool/main/r/rcconf/rcconf_3.2+nmu1_all.deb
root@host2:/tmp# wget http://ftp.us.debian.org/debian/pool/main/i/insserv/insserv_1.21.0-1_amd64.deb
Awesome! Now we are finally ready to install CloudPanel. Let’s add a repository first using the echo command.
root@host2:/tmp# echo "deb https://d17k9fuiwb52nc.cloudfront.net/ buster main" | tee /etc/apt/sources.list.d/packages.cloudpanel.io.list
And let’s add a key for it with the command below.
root@host2:/tmp# curl -Lks https://d17k9fuiwb52nc.cloudfront.net/key.gpg | sudo apt-key add -
Use apt update again to update all the necessary packages.
root@host2:/tmp# apt update
Next, we download the CloudPanel file with the wget command.
root@host2:/tmp# wget https://github.com/cloudpanel-io/cloudpanel-ce/releases/download/v1.0.5/cloudpanel.deb
Lastly, use the apt install command to install the CloudPanel server panel.
root@host2:/tmp# apt install ./cloudpanel.deb
Congratulations! You installed CloudPanel on your server! You can access it through your browser by using your server’s IP address and port 8443 like as shown below.
Once finished, you will be prompted to create your CloudPanel admin user. Complete all required fields, set a secure password, and click Create User.
Now you can enjoy CloudPanel, your completely free server control panel designed for maximum performance.
I hope this tutorial will help you and that you will have fun with the many benefits that CloudPanel is offering.
To learn more about all the different product offerings at Liquid Web, including our first-class Dedicated Server Hosting, visit our product overview page. Our Managed Hosting line of products is robust enough for businesses of every size, from early-stage startups to mature businesses requiring enterprise hosting environments.
- How to renew an SSL certificate (a paid SSL cert)
- How to install Elasticsearch on Linux (AlmaLinux)
- How to install TypeScript on Linux (AlmaLinux)
- Mount ISO files via IPMI using a local file and the Java method
- How to install Google Cloud SDK on Linux (AlmaLinux)
- How to install Azure CLI on Linux (AlmaLinux)
Our Sales and Support teams are available 24 hours by phone or e-mail to assist.