1.2 Create a VPS with a Hestia Control Panel

Now that we have a secure Linux computer, in this article we will review how to use your Linux Debian computer to create a Linux Debian Virtual Private Server (VPS) and then install the free open source Hestia Control Panel on your VPS.

Step 1 Get a Hosting Account with a Secure Canadian Server
It is not wise to host your website or Virtual Private Server with a US based hosting company. The reason for this is that the US has a draconian law called the Patriot Act – which allows US federal agencies to take down your website or VPS without notice and without a court hearing. The only way to have a truly secure website or VPS is to use a web host and domain registrar that is not located in the US. After months of evaluating more than 100 Canadian web hosts, I eventually chose a VPS host called CanHost.ca. In this article, I will explain why I chose CanHost not only for my VPS but also as a host to recommend to my students and business friends.

01

#1 CanHost is actually owned by Canadians and has actual servers that are actually located in Canada
During my research on Canadian VPS hosts, I found that many hosting companies which claimed to be owned by Canadians were in fact incorporated in the US and had their headquarters in the US – making them and their customers (aka your business website) subject to the draconian US Patriot Act.

#2 CanHost offers a simple DNS Manager with a Graphical User Interface
Because we will be using the Hestia Control Panel, we will be setting up our own websites, our own databases and our own custom mailing systems. These are all relatively easy tasks that most online business owners can learn to manage on their own. But setting up a DNS Manager can be a much more complex undertaking. I therefore wanted a VPS hosting company that could host all of my domain names and also have a DNS Manager which will allow me to easily route my domain names. This may seem surprising – but most VPS hosts do not have a DNS Manager!

#3 CanHost has hundreds of helpful Tutorials
Many VPS providers do not offer any instruction as to how to use their VPS. But CanHost has more than 200 tutorials which you can see at the following link: https://www.canhost.ca/hosting/index.php?rp=/knowledgebase/tag/VPS

Here is a tutorial explaining how to use the CanHost DNS Manager: https://www.canhost.ca/hosting/index.php?rp=/knowledgebase/275/How-Do-I-Manage-my-DNS.html

To update your DNS records, first navigate to your Client Area by logging in to canhost.ca. Navigate to the 'Shortcuts' list on the left, and select the list item called 'My DNS'.

02

This will open up your DNS manager, which displays all of your active DNS zones and their corresponding domain names. To edit a specific zone, click on the Edit Zone button on the right hand side. This will allow you to edit the individual DNS records for this domain.

#4 CanHost offers very Flexible VPS Packages
At their VPS page, it looks like CanHost only offers three options.

03

This would be a problem because many small businesses, with only a couple of websites, might get by on 20 GB of disc space. But they may need more than 2 GB of RAM. Thankfully, when you click on the VPS Express 1 Buy Now button, you will see a couple of options. First, in the lower left corner, you can change the currency from Canadian dollars to US dollars. This brings the price of VPS 1 down to $12.38 USD per month. In addition, you can change the RAM from 2 GB to 4 GB for an added $6.19 per month. This brings the total VPS monthly cost to $18.57.

The SSD disc space can be increased from 20 GB to 40 GB for $6.19 per month. But what if you only need 30 GB? Again, no problem. Click the Disc Space drop down arrow and you can select 30 GB for $3.50 = 2.89 us and 35 gb 4.25 CAN = 3.51 USD. So you get 4 GB of RAM and 30 GB of disc space for $21.45 USD per month or 4 GB RAM and 35 GB for $22.08 USD per month or 4 GB of RAM and 40 GB for $24.72 USD per month. Given that the average Joomla website starts out at less than 100 MB and rarely reaches beyond 500 MB – even with hundreds of images – and thus even with a one or two local backups does not need more than 1 GB of disc space, it is reasonable to estimate one can have 30 websites on a 35 GB VPS.

#5 CanHost offers Debian 11 VPS servers
Sadly, many VPS hosts only offer the Ubuntu operating systems. CanHost offers Debian 11 which is more secure.

#6 Stability and Security
We want a web host that is big enough that they will not go out of business tomorrow and so they have a staff who can keep their server up to date. But we do not want the web host to be so big that they are indifferent to the needs of small business owners. This is another reason I do not recommend any major cloud web hosts.

#7 Hard Drive Space
Assuming you are using the Joomla Content Management System for a secure foundation and Phoca Cart for a flexible online store, and several other tools to perform various business functions, a small online store should not require more than 1 GB of hard drive space. However, if you have a lot of products and/or a lot of customers, you will need more space to store this data. You will also need backups of your system and each backup will double the amount of space needed. This can expand the space needed to 10 GB or more. Many businesses require several websites. For example, I have different websites for each of my courses and books. In addition, the Debian Server itself along with its hundreds of programs can take 5 GB or more. Therefore, it may be useful to seek a VPS with 30 GB or more of hard drive space.

#8 RAM
A Linux VPS does not require as much RAM as a Windows computer. But to run an online business with an online store, you need at least 2 GB of RAM and 4 GB is better. Virtual servers come with their own dedicated RAM. With more RAM available, you can run an efficient website loaded with more content. Note that if you have only 2 GB of RAM, you should do a special installation of Hestia that EXCLUDES ClamAV. This is because ClamAV (which is not really needed) will use 1 GB of RAM all by itself. Even if you have 4 GB of RAM, I recommend excluding ClamAV from your Hestia installation as their other better ways to protect your VPS.

Managed versus Unmanaged Servers???
There is a debate as to whether most business owners can even manage their own VPS. Many VPS providers recommend a Managed VPS. CanHost offers dedicated managed servers for $130 per month. Historically, it was so difficult to set up and run your own server that getting a Managed server was the only practical option for many online business owners. However, the Hestia Control Panel is changing that.

While the leaders of Hestia rightly warn that Hestia is not for beginners, it is much easy to set up and run a VPS with Hestia than it has been in the past. The only thing that has been missing has been a Hestia User Manual with lots of images and clear step by step instructions. Hopefully, this guide will fill that need – allowing more online business owners to set up their own VPS – saving your business not only thousands of dollars per year – but also giving you complete control over the future of your online business.

Step 2 Research your Domain Name
It is important to research existing online businesses which may have a domain name similar to the one you would like to use. Quite often domain names are already taken. If the business is an active business on the Internet, you should choose a different domain name in order to avoid future legal problems. If the domain name you want is not currently being actively used, it may still not be available. But you can use a similar domain name without fear of legal problems. If you are setting up a community network, some similar names that mean the same thing as Community Network might include Business Exchange, Education Association or Political Coalition. Let’s do a search for communitynetwork.com

04

This is a company selling phone network texting services. Try communitynetwork.org. This domain name is not actively being used. But is still not available. Try communitynetwork.us. This domain name does not resolve. This means it might be available.

Step 3 Use your Canhost Account to obtain your Domain Name
Use your Linux Debian 11 host computer to obtain your Domain Name through Canhost (or transfer your existing domain name to Canhost). Go to the Canhost website. https://www.canhost.ca/

Click Log In and create an account. Then log into your account and click Domains. If you have an existing domain name, go to your current domain host and unlock the domain and get the transfer code. Then log into your Canhost account and click Transfer a Domain. If you do not have an existing domain, click on Register a New Domain and enter the domain name you would like to use – and which is not currently being actively used by someone else. Try communitynetwork.com:

05

The search confirms that this domain is not available. But the domain name communitynnetwork.us is available. Click Add, then Checkout. Since the domain name ends in us, we need to confirm we are a US citizen and choose the Application Purpose. We will use Association. Then click Continue. Then click Check out. The domain name cost was $12 US. At the order confirmation screen, click Continue to Client Area.

Step 4 Use a Linux Computer to set up a Canhost VPS Account
Use your Linux Debian 11 host computer to set up a VPS server through Canhost. Go to the Canhost website.

https://www.canhost.ca/

Click Hosting, Canadian Virtual Private Servers. Click VPS Express 1, Buy Now.

06

Change the Control Panel from Cpanel to No Control Panel and change the operating system to Debian 11. Increase RAM from 2 GB to 4 GB. Increase Disc Space from 20 GB to 30 GB. The total will be $26 Canadian which is about $21 US dollars monthly. For Hostname, type ns1.yourdomainname.com and enter a Password you will remember. Then scroll down and type in a system username you will remember. Leave the SSH box blank. Then click Continue to finish setting up your account. You will receive an email once your VPS is set up. The email will include your VPS primary IP address.

Step 5 Install Hestia Control Panel on your Debian 11 VPS
Once you have purchased a VPS at Canhost, you are ready to install the Hestia Control Panel on your VPS. There are still a few tasks we need to complete before we install the Hestia Control Panel on our Canhost VPS. Before we start, we need the home computer connected to an Ethernet port.

Step 6 Install Debian 11 on a VPS with a fully qualified domain name. When you signed up for your Canhost VPS account, you hopefully transferred your Domain Name to them. You also provided them with a domain such as ourcommunitynetwork.org. You also provided them with a username and password. They should send you and email with the name of your VPS. For example, ns1.ourcommunitynetwork.org. They will also provide you with your primary IP address which is attached to this server.

Step 7 Log into your Debian server by opening a terminal on your home computer and typing:

ssh This email address is being protected from spambots. You need JavaScript enabled to view it.

Where the IP address is the IP address sent to you by Canhost.

Step 8 Verify your VPS Fully Qualified Domain Name

To verify your VPS fully qualified domain name, start the VPS with Virtual Machine Manager and log in. Then type hostname -f. Then press Enter. It should return ns1.ourcommunitynetwork.org

Step 9 Install Midnight Commander on your VPS
Type: sudo apt install mc

Step 10 Change Permit Root Login to Yes
Copy paste into the terminal:

sudo nano /etc/ssh/sshd_config

to open the ssh configuration file. Use the down arrow to scroll down to PermitRootLogin. Delete the hash at the beginning of the line PermitRootLogin and set the value to yes: PermitRootLogin yes

Save and close the file. To make the new setting take effect, restart the ssh server:

sudo systemctl restart sshd.service

Step 11 Create a password for the root user
Copy paste the following into the ssh terminal: sudo passwd root
Enter your sudo user password. Then add a root password typing it twice. Reply should be: passwd: password updated successfully
Then log out of your SSH session by typing exit (which will leave the VPS server still running). Then close the home terminal.

Step 12 Go to your Canhost DNS settings and make sure your domain name is pointing at the Canhost servers.
Log into your account and click on Domain Names. Then for your domain name, click on Manage Domain, Name servers and make sure they point to the Canhost servers.

Step 13 Start SSH session as root user and install Hestia
Open a terminal on your home computer and copy paste:

ssh This email address is being protected from spambots. You need JavaScript enabled to view it.This email address is being protected from spambots. You need JavaScript enabled to view it. using your own VPS IP address.

Enter the root password. Note that the prompt now says root at yourIPaddress.

Step 14 Uninstall the Canhost Firewall
By default, Canhost installs a Firewall on your VPS to protect it from hackers. However, Hestia comes with its own firewall. Also the Canhost Firewall may actually prevent us from installing Hestia. You need to be logged in as root to uninstall the Canhost Firewall. Open a terminal in your SSH session and type:

cd /etc/csf

This will change the folder to the csf folder. Then type:

sh uninstall.sh

This will uninstall the firewall. Then type the following to go back to the root folder

cd /

Step 15 Install Hestia Control Panel
While logged in as root, and at the root folder, copy and paste the following commands:

apt-get update

apt-get upgrade

Then open a browser and go to the Hestia control panel home page.

https://hestiacp.com/

Step 3 on the Hestia Home page shows the normal install command:

wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh

Copy paste this into the ssh root terminal and press Enter. The above command is normally followed by bash hst-install.sh

However, we do not want clamav because it does very little and uses way too much ram. To avoid installing clamav, we will use this for the second command: bash hst-install.sh --clamav no

07

Then type Y. Then type your email and FQDN:

08

Then press Enter.

09

After the installer finishes, it will end with Press any key to continue.

Do not press any key! First, scroll up the page and copy paste the Hestia URL and password!!!

Admin URL: https://123.456.789.123:8083

Username: admin

Password: ImQwmOHv1rg1Yi9g

Then scroll back down the page and press Enter. Then close the terminal. The server will restart.

You do not need to log into the server. Instead, open a browser and copy paste the Hestia URL: https://123.456.789.123:8083

The Hestia Control Panel Log in screen will appear.

10

For username,

type admin. Then click Next. For password, copy and paste the complex password:

11

Step 16 Configure Hestia
There are some important steps we should take soon after logging into the Hestia Control Panel.

#1 Change the Background Color of the Panel
The dark panel is hard to read and hard to see on screenshots. Therefore, our first task is to change the background color of the panel to a lighter color. Click on the Settings wheel in the upper right corner. Then click Configure on the left side of the screen.

12

Then click Basic Options. Then use the Appearance drop down arrow to change from dark to default and click Save. Then click on the word Back to return to the main panel Settings screen.

#2 Change the Admin Password
Click on Users in the top menu.

13

Then select the Admin User and click the Edit pencil. Type in an easier to remember password. Each Hestia password must be at least 8 characters long with 1 uppercase & 1 lowercase character and 1 number. Then click Save and Back to go back to the User screen.

What’s Next?

In our next article, we will add a new Hestia User and then install our domain name on this user account. We will then use this account to create a custom email address and add Joomla to our website.