CloudPanel & Digital Ocean
In this guide, we’ll walk through the process of installing and configuring CloudPanel on DigitalOcean. With CloudPanel, you can efficiently manage multiple websites using a single interface equipped with essential day-to-day maintenance tools.
Required Services
- PorkBun – Domain Registration
- CloudFlare – DNS Provider
- Digital Ocean – Virtual Private Server (VPS)
The Plan
We’ll start by purchasing a domain from PorkBun and direct it to Cloudflare for DNS management. Then, we’ll create a droplet on DigitalOcean and point our domain from Cloudflare to this droplet. CloudPanel will be installed on the droplet to manage everything, including websites, NGINX, Let’s Encrypt certificates, and more. Essentially, all user traffic will be routed through Cloudflare to the droplet, where NGINX will handle redirection to the requested websites.
Purchase Domain
Create a new account on PorkBun and search for the domain you are interested in purchasing.
On Cloudflare select “Add a site” and follow the prompts to connect your new domain.
Once Cloudflare provides the NameServers return back to PorkBun and replace whats shown with the ones from Cloudflare.
Usually this takes 1-2 hours to update and at the most takes 24 hours. Once completed you will then use CloudFlare for DNS.
Create a Droplet
When deploying a CloudPanel Droplet, you have two options. You can either launch a droplet with CloudPanel preinstalled or manually install it yourself. I initially attempted to use the marketplace version, but encountered issues when needing to restart the server. Hence, in this tutorial, we’ll opt for manual installation to avoid such interruptions.
NOTE: You can either continue following the guide or refer to the official documentation here for the most up to date information.
Launch a Droplet
- Login to your Digital Ocean account.
- In the left navigation, click on Droplets and then on Create Droplet.
Choose Region
Select the region closest to you for the lowest latency.
Choose an Image
Select Ubuntu 22.04 (LTS) x64.
Choose Plan
Pick the plan you prefer. You can increase or decrease the CPU and RAM at anytime but Storage can ONLY be increased.
Authentication Method
Either create a new password or create and add an SSH Key.
Launch Droplet
Enter a hostname and select Create Droplet.
Assign a Reserved IP
A Reserved IP (static ip) is recommended to have the same IP after changing the size of your Droplet. From your droplet…
- Select “Enable now” next to Reserved IP.
- Click Assign Reserved IP.
Install CloudPanel
Login via SSH to the Droplet
ssh root@IpAddress
Update & install prerequisites
apt update && apt -y upgrade && apt -y install curl wget sudo
Reboot your Droplet
reboot
Log back into the Droplet
ssh root@IpAddress
Run the installer
curl -sS https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh; \
echo "85762db0edc00ce19a2cd5496d1627903e6198ad850bbbdefb2ceaa46bd20cbd install.sh" | \
sha256sum -c && sudo CLOUD=do bash install.sh
We are using MySQL for our websites. If you require an alternative then refer here.
Configure Cloudflare DNS
While CloudPanel installs lets return back to CloudFlare and add a few DNS records that will point to our droplet.
- From the left sidebar select DNS -> Records
- Select Add record and input these three records.
- Type – A | Name – cloud | Target – IpAddress
- Type – A | Name – @ | Target – IpAddress
- Type – CNAME | Name – www | Target – DOMAIN
Make sure you set SSL/TLS encryption mode to FULL. If you do not then you will not be able to access your website.
Access CloudPanel
Access CloudPanel as fast as possible to create the admin user. There is a small time window where bots can create the user.
You can now access CloudPanel via Browser: https://yourIpAddress:8443
Ignore the self-signed certificate warning and click on Advanced and Proceed to continue to CloudPanel.
Create Admin
Follow prompts to create the admin for CloudPanel. Note the admin is not a user created on the system it is only for CloudPanel.
Add a WordPress Website
Once logged into CloudPanel…
- select +ADD SITE -> Create a WordPress Site
- Enter the necessary credentials.
Site User – The user where all of wordpress files will be delegated to. You can use this user to ssh into the droplet and access these files.
Admin User – The user you will use to access and configure wordpress.
Multisite – WordPress has the ability to manage multiple websites. Change this if you wish to do such.
Once created save the credentials for the wordpress site.
Lets Encrypt
CloudPanel makes it simple to issue Let’s Encrypt certificates. Select your website and head over to the SSL/TLS tab. From there select Actions -> New Let’s Encrypt Certificate.
Set CloudPanel Domain
Last thing we will do is make CloudPanel accessible from our domain. Since we already defined cloud within our DNS records we are going to use that to access cloud panel. From the panel…
Admin Area -> Settings -> CloudPanel Custom Domain
Now you can access CloudPanel from your domain. https://cloud.domain.com
Conclusion
Now you have CloudPanel installed and configured on a Droplet.