How to setup VPS with a free VPS control panel: VestaCP

How to setup VPS with a free VPS control panel: VestaCP

How to setup VPS with a free VPS control panel: VestaCP

Want to set up a VPS with a free VPS control panel? Do you host websites for yourself or for clients? Or are you planning to? Do you want to switch from shared hosting to your own VPS? Or you don't even want to get started with shared hosting because of the slow speeds, the high spam scores and the limited control you have over your own websites? You have come to the right place. In this full guide, we will discuss how to set up your own VPS with a free VPS control panel in just 30 min.

We will discuss:

VestaCP: Free and open-source VPS Control Panel

In this guide, I am going to provide you with step-by-step instructions on how to install a free VPS control panel on a Ubuntu 18.04 VPS host. I'll be using Vesta control panel (VestaCP). VestaCP is a full-fledged open source hosting control panel, which can be used to manage multiple websites, create and manage email accounts, FTP accounts, and MySQL databases, manage DNS records and more. So if you need a VPS that can do any of the following with an easy-to-use interface, you've come to the right place:

  • Create and manage multiple websites
  • Use Softaculous for easy app installation (like WordPress) (Optional)
  • Set up unlimited mail accounts per domain (Optional)
  • Allow for multiple user management (for reseller hosting for example) (Optional)
  • Create FTP Accounts (Optional)
  • Add and manage MySQL databases (Optional)
  • Manage DNS records (Optional)
  • Automatic backups (Optional)
  • Much more

Why choose VestaCP as your VPS Control Panel?

You might be familiar with DirectAdmin or cPanel already. So you might ask, why not install those admin panels instead? Most people opt for VestaCP mainly because it’s free, compared to DirectAdmin and cPanel, which cost between $2 – $45 dollars per month, depending on your needs.

Where to get your VPS

Do you already have a VPS set up? Click here to go straight to the VPS Control Panel installation part!

There are several great VPS providers out there. Too many if you ask me hehe😜
I've used quite a few over the years, but these are my favorites:

Versio – Best value for money VPS

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at2 10 42PM a14bfb61c09ddc60e747fc078e2b0226 800
VPS Versio

Versio is my absolute favorite. Besides having an easy to use interface and offers from small to large VPS boxes, they are by far the cheapest as well. I haven't seen any VPS provider with these prices. If you want to host in Europe/The Netherlands, I would go for Versio.

DigitalOcean – Cheap and lots of features/extras/upgrades

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at2 10 29PM 20cd0e394888f80e16766408084e8b91 800
With DigitalOcean VPS’s are called Droplets

DigitalOcean is the best option if you want to go for network speed, features and easy to use combined with a great price. They are very cheap compared to the other VPS providers out there and comes packed with features. DigitalOcean has servers in several locations (so you can host all around the world, wherever you want). Besides, they have pre-made Operating Systems that come with Docker/Wordpress/LAMP/Grafana/cPanel/Plesk pre-installed (which they call 1-click-apps) which saves you a lot of time during installation. They have special CPU-Optimized or Memory-Optimized VPS'es if that's what you're looking for.

Setting up your VPS for VestaCP

In order to set up your VPS for VestaCP, I recommend using Ubuntu 18.04. You may, of course, choose any other OS, but the guide below is based on Ubuntu Server.

Before we get started preparing your VPS for VestaCP, you're going to need a domain for your VPS. Versio is a great place for cheap domains as well, so in this guide, I am going with them, but feel free to register your domain wherever you like.

Step 1: Register a domain for your VPS

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 07at11 52 35AM f464d158510361656a390afdc2986ce7 800
Choose a domain and add it to your cart
How to setup VPS with a free VPS control panel: VestaCP Image2020 04 07at11 55 24AM 6fb6ff2ffa54189986aacfe637e09440 800
Add the VPS to your order

In the following screen, Versio will ask for the hostname of the VPS. In this case, they are asking for the FQDN (Fully Qualified Domain Name) for your VPS. This has the format of

myvps.domain.com

if "domain.com" is the domain you just added to your cart to register, you will have to add the hostname to the VPS in front of it. In our example we're going for: panel.eglas.online. eglas.online is the domain name we just added to our cart, and panel is going to be the hostname of the VPS. Set your FQDN and choose Ubuntu as the OS for your VPS

How to setup VPS with a free VPS control panel: VestaCP screencapture versio eu vps hosting order cloudi 2020 04 07 20 34 18 6f5e16877fcfbf4f39dbcac773f6b005 800

Click continue and go for the following options:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 07at7 49 42PM 962d9cb90d37f696d124c1dad8bb4c02 800
Continue without webhosting (we are going to host on our VPS)
How to setup VPS with a free VPS control panel: VestaCP Image2020 04 07at7 50 32PM ad6c5ecb12986cb95138d9125f08a5d7 800
Continue without SSL certificate

You can continue without a SSL certificate as well, we’re going to set up free SSL certificates within our admin panel and LetsEncrypt later.

Step 2: Setting up private nameservers for your VPS

Now it’s time to set up private nameservers for your VPS. In order to do so, make sure to go to your customer portal:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 07at8 09 05PM 6232806b1f083041244e5ddfa33986c2 800
Customer portal

And click on my products > Domain names > Overview on the left-hand side.

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at10 54 22AM ad88e671001f82c0a8fc4d138b207624 800
Go to your domain overview

Click on your domain and then turn DNS management on:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at10 56 04AM e02b0e3027874355af90db4e705db37c 800
Click on your domain
How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at10 57 48AM edbe1042427497f690981dca94586913 800
Turn on DNS management

Delete all the records that are present and make sure to add the following records:

You will find the IP Address of your VPS in the email you’ve received after checkout.

@ | A Record | your_vps_ip
ns1.yourdomain.com. | A Record | your_vps_ip
ns2.yourdomain.com. | A Record | your_vps_ip
yourhostname.yourdomain.com. | A Record | your_vps_ip
www.yourdomain.com. | CNAME Record | yourdomain.com

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at11 51 34AM c7bc771e12a2f58cf4a640550d814eff 800
Set your DNS records

After you’re done, it can take up to 48 hours until your DNS records are properly propagated, but usually, it’s just a few hours.

Step 3: Log in to your VPS control panel

After your purchase, it can take a few minutes for your VPS to be ready. Once it’s ready you will receive an email with the login details for your VPS (and a free backup server to place your backups, sweet!). If you’re on windows, download an SSH client like Putty, if you’re on Mac or Linux, just open your terminal and enter:

ssh [email protected]<your-vps-ip-address>

alternatively, if enough time has passed for your DNS records to propagate, you can also enter:

ssh [email protected]_FQDN

so for me that would be: ssh [email protected]

Next, enter the password you received in your email for your VPS.

Step 4: Set up a user account

Great! You’re logged in. As you might know, it’s not smart to operate on the root account all the time. So let’s quickly create a new user with root privileges before we start installing your VPS Control Panel. In your terminal type:

adduser <yourusername>

In my case I’m going for user called cmdnick:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 07at8 14 55PM ee8c373d93be9a83f9e9cd1001eb39da 800
Create a new user

Add your password, then enter the required details (or skip them by pressing return). Now that we have our new user, let’s give it some root privileges by executing:

usermod -aG sudo cmdnick

let’s switch to this user:

su cmdnick

Awesome! You’re good to go, let’s install VestaCP!

Installing your VPS Control Panel: VestaCP

Great! You’ve made it so far, now it’s time to install the VPS Control Panel. First, let’s make sure your package list and the OS packages are up to date by running the following commands:

sudo apt-get update
sudo apt-get upgrade

After that’s done, we’re ready to download the vesta install script:

curl -O http://vestacp.com/pub/vst-install.sh

Now you can use the command below or head over to https://vestacp.com/install/ and generate install command to install nginx, apache, vsftpd, exim, dovecot, spamassassin, named, iptables, fail2ban, softaculous, MySQL and use file system quota:

sudo bash vst-install.sh –nginx yes –apache yes –phpfpm no –named yes –remi yes –vsftpd yes –proftpd no –iptables yes –fail2ban yes –quota yes –exim yes –dovecot yes –spamassassin yes –clamav no –softaculous yes –mysql yes –postgresql no –hostname YOUR_HOSTNAME_HERE –email [email protected]_DOMAIN –password YOUR_PASSWORD_HERE

Don’t forget to change ‘YOUR_FQDN_HERE’ with your FQDN and ‘YOUR_DOMAIN’ with your actual domain name above and use a strong password for your VestaCP Admin user.

You will see the following output:

Vesta Control Panel

The following software will be installed on your system:
– Nginx Web Server
– Apache Web Server (as backend)
– Bind DNS Server
– Exim Mail Server + SpamAssassin
– Dovecot POP3/IMAP Server
– MySQL Database Server
– Vsftpd FTP Server
– Softaculous Plugin
– Iptables Firewall + Fail2Ban

Hit ‘y’ and wait for the installer to finish doing its thing. Wait until you receive the following output:

Congratulations, you have just successfully installed Vesta Control Panel

https://your_server_ip:8083
username: admin
password: YourPasswordHere

Now go to https://your_vps_ip:8083 and enter the login details from the terminal output.

A quick tour through the VPS Control Panel

Now that Vesta is installed, let’s have a look and see what we can do. If your DNS is ready, go to:

https://your_fqdn:8083

Alternatively, you could enter:

https://your_vps_ip:8083

When you do, you’re probably going to see the following:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 23 33PM a6a054f45034383c2a2e7432e6d89bdf 800
Your connection is not private message

That’s because Vesta self-generated an SSL certificate for you, which cannot be verified. Let’s set up a verified Let’s encrypt certificate before we continue.

Let’s Encrypt SSL Certificate for your VPS Control Panel

In order to proceed click ‘advanced’ and click “Proceed to {your_domain}”

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 27 28PM 48ea6f05cd2bca8e176ce215871d278a 800
Proceed with the self-signed certificate

Enter your username and password:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 37 05PM 65fd8d06fd3e977b12b5ecb6cb09c946 800
Enter your username and password
How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 38 03PM 89c1dec10f7403d85a15a73770ed5188 800
Welcome to your VPS Control Panel

Now check the following boxes and hit save at the bottom of the page:

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 43 54PM 0fe62fba883dd8b25e24d18d8543945f 800
Check SSL Support and Check Let’s Encrypt support

This will only work if you waited for your DNS records to propagate and you were able to reach your VPS Control Panel by entering the domain in your browser instead of your VPS IP address.

That’s it! Within a few minutes Let’s Encrypt will create a new verified SSL Certificate for your domain.

Add new domains

Let’s say I registered a second domain called yourseconddomain.com on which I want to host a website. To add this domain to your account, simply click on ‘WEB’ >> click the green plus button that will say: ‘ADD WEB DOMAIN’ >> enter your new domain name and click ‘Add’.

For every domain you register, make sure the nameservers are pointed towards ns1.yourdomain.com and ns2.yourdomain.com. In my case, the nameservers for yourseconddomain.com are pointing towards ns1.eglas.online and ns2.eglas.online

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 50 03PM 6787f2edd700967f9edf35ae63bb4bc2 800
Add new domains to your account

Add new email accounts

To create a new email account for any given domain, just click on ‘MAIL’ at the top >> hover over the domain name >> click ‘ADD ACCOUNT’ >> enter your new email address (without the domain name), click generate to generate a password for your email account and click ‘Add’.

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 52 13PM 7b4d35ffb472ee2aa7bc1a6a3315f341 800
Add new mail addresses to your account

Add new databases

To create a database, click on ‘DB’ at the top >> ‘ADD DATABASE’ >> enter your new database name, database username, click generate to generate a password for your MySQL user, and click ‘Add’.

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 55 22PM 8e986df01c00a8e9546684abadc018c4 800
Add new databases to your account

Set automatic backups

If you registered with Versio as I did, you will be supplied with a free backup server. In order to set this up with Vesta, all you have to do is go to ‘server’ at the top >> click configure >> backup >> remote backup. Select SFTP as the protocol and enter your backup server details. In the directory field, you can specify a directory where your backups would go. For mine I choose ‘vestacp_backups’.

How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at1 59 42PM fb7aa894b181dfbe37c3ef3a064281e2 800
Go to Server, then configure
How to setup VPS with a free VPS control panel: VestaCP Image2020 04 08at2 01 50PM 62f246c479df5474eb5638024f55e976 800
Enter your backup server details

Congratulations! You’ve completely set up your own VPS with a free VPS Control Panel. I hope you will get a lot of use out of it. If you liked this article and want to receive more articles like these, make sure to subscribe to my newsletter:

Receive an email when cmdnick.com releases more articles

Share this story:

Write a comment