In this short tutorial, you’ll learn the simple steps you need to know in order to install Vesta Control Panel on a server. Additionally, you’ll learn how to install a valid SSL certificate rather than the default self-signed SSL certificate that comes package with Vesta.
Note: I’m assuming that you have already set up your DNS records so that your remote server has a domain name. In this case, I’m using example.com, so please change this to your domain name in any commands below.
Install Vesta Control Panel
First make sure you are using a supported operating system as indicated on the official Vesta Control Panel website. At this time, the following versions are supported.
- RHEL / CentOS 5, 6, 7
- Debian 7, 8, 9
- Ubuntu 12.04 – 18.10
Also make sure your system meets the minimum operation requirements of 512 MB RAM, 20 GB HDD, and a 1 GHz CPU.
After logging into your remote server via ssh, execute the following command to download the Vesta Control Panel installer script.
curl -O http://vestacp.com/pub/vst-install.sh
Next, we can invoke the bash program and execute the shell script.
The installation process will take up to 15 minutes, but in my experience, it only takes about 5 minutes.
Install an SSL Certificate
After a successful installation, you’ll see the following welcome message.
Congratulations, you have just successfully installed Vesta Control Panel
We hope that you enjoy your installation of Vesta. Please feel free to contact us anytime if you have any questions.
Now if you try to navigate to your control panel, you’ll see a privacy security error stating that your connection is not secure. This is because VestaCP comes default with a self-signed SSL certificate that most modern web browsers don’t trust.
We can easily install an SSL certificate for free using Let’s Encrypt.
First, let’s install Certbot, which is the automated software that issues free Let’s Encrypt certificates.
apt-get install certbot
After certbot is installed, we can request and download an SSL certificate. Please execute the following command and change the domain name to your domain name.
certbot certonly --webroot -w /home/admin/web/panel.example.com/public_html/ -d panel.example.com
After asking you for your email and if you accept their terms, certbot will verify that you indeed do own the domain name and then issue your your SSL certificate.
Next, we must copy the SSL certificate and chain and replace the default VestaCP self-signed certificate. To do this, execute the following commands, and restart the Vesta service.
cp /etc/letsencrypt/live/panel.example.com/fullchain.pem /usr/local/vesta/ssl/certificate.crt cp /etc/letsencrypt/live/panel.example.com/privkey.pem /usr/local/vesta/ssl/certificate.key service vesta restart
Now when you navigate to your Vesta Control Panel in a browser, you won’t see the privacy error anymore.
Start to Use VestaCP
At this point, you now have a secure version of VestaCP installed on your server. If you want a basic overview of what you can do with Vesta Control Panel, check out the video below.