VestaCP: How to fix LetsEncrypt SSL certificate (Admin Panel)

EDIT: Method 1 still working as of 13/06/2018

Recently I have been playing around with VestaCP, an alternative to cPanel. VestaCP is a free, open source website control panel with website, email, database, and DNS functionalities built in.

The Issue (Symptoms)

Unfortunately, when I installed VestaCP and setup an SSL certificate via LetsEncrypt though the VestaCP admin panel, the certificate was not installed into the VestaCP web interface (admin panel). This meant that whenever I tried to access the VestaCP admin panel, I was presented with the following SSL error:

The Problem

This error was present because the SSL certificate generated by VestaCP and LetsEcnrypt was not installed in the VestaVP admin panel. Instead, it was only installed on the web domain as shown in the image below (please note, the domain, IP address and SSL certificate information have been removed):

The Solution

The solution, therefore, is to install the very same certificate from the web domain (shown above) into the VestaCP admin panel. The SSL certificate information for the VestaVP admin panel is located by default at the following location (for version 0.9.8):


The valid SSL certificate information for your domain can be found in the following location:


The files we are interested in here are “ssl.[your server domain].key” and “ssl.[your server domain].crt”.

There are two methods for solving this issue;

  1. Create a symbolic link from “/home/admin/conf/web/” (for each of the two files mentioned above) to “/usr/local/vesta/ssl”
  2. Simply copy the two files from “/home/admin/conf/web/” to “/usr/local/vesta/ssl”

The Solution – Method 1

This solution consists of creating a symbolic link from the certificate origin location to the destination location. This is the best solution since VestaCP will automatically renew LetsEncrypt certificates – a symbolic link would ensure any updates are reflected for the VestaCP admin panel.

cd /usr/local/vesta/ssl
mv certificate.crt certificate.crt_old
mv certificate.key certificate.key_old
ln -s /home/admin/conf/web/ssl.[your server domain].key /usr/local/vesta/ssl/certificate.key
ln -s /home/admin/conf/web/ssl.[your server domain].crt /usr/local/vesta/ssl/certificate.crt
sudo service vesta restart

Please be sure to replace “[your server domain]” with the domain your server is using for VestaCP.

The Solution – Method 2

This solution consists of copying the certificate key and certificate file.

Downside: Since LetsEncrypt requires certificates to be renewed every three months, you would need to perform this method each time the certificate renews.

cd /usr/local/vesta/ssl
mv certificate.crt certificate.crt_old
mv certificate.key certificate.key_old
cp /home/admin/conf/web/ssl.[your server domain].key /usr/local/vesta/ssl/certificate.key
cp /home/admin/conf/web/ssl.[your server domain].crt /usr/local/vesta/ssl/certificate.crt

sudo service vesta restart

Please be sure to replace “[your server domain]” with the domain your server is using for VestaCP.

Setting up your own website 

This post is targeted at those who wish to create their own websites from scratch (beginners-intermediate users). This guide is not intended for those with no computer background – if this is the case then I highly recommend you use an easy site builder like Wix, 1and1 or SquareSpace. This guide is intended to help those who wish to learn how to code in HTML/CSS/PHP but have no idea how to get their code online.

The advantages of building your own website opposed to using a website builder (such as Wix, 1and1, SquareSpace etc) have been covered in detail by other users. Here are a few articles/posts/links I found on the Internet which helps explain the difference between the two:

Continue reading “Setting up your own website “

Creating custom nameservers with WHM and NameCheap

This is a how-to from one of my old projects (HostWoot). This still applies today so I thought it would be best to immortalise the post here on this blog!

This tutorial will explain how to create custom nameservers when using WHM in combination with NameCheap.

The content below is from the old HostWoot forums: here.

Continue reading “Creating custom nameservers with WHM and NameCheap”

iPhone 6S+ to the Pixel XL: My Experience


This is a topic I have been meaning to cover ever since I switched to the Pixel XL. My SIM only contract was due for an upgrade at the beginning of this year and my mobile service provider offered me a great deal if I upgraded to a contact which included a phone. The choices were between the iPhone 7, Samsung Galaxy S7 and the Pixel (Pixel XL too).

This post will be split into 5 sections: Background, Decisions and Choices, The Switch, My Experience so far and a summary.

TLDR; I switched from an iPhone 6s+ to the Pixel XL. The Pixel XL is an amazing phone and Google have finally addressed my main concerns about the Android operating system.

Continue reading “iPhone 6S+ to the Pixel XL: My Experience”

Sending multiple SMS messages at the same time on the iPhone!

This is just something i threw together quickly for someone on the BiteSMS forums. To do this you will need a Jailbroken device and BiteSMS installed. Trial or full, it does not really matter.

BiteSMS allows the user to send messages though SSH which means it can be coded into scripts which is what i will be showing you in this post. The following code will loop though 5 times and “do” or run the BiteSMS send command to the number 07900000001.

for i in $(seq 5)
do /Applications/ -send -carrier 07900000001 "Test Message $i"

You can change the number, message and the amount of times it runs by editing the script.

Please remember you MUST write this in Linux or convert the file to a UNIX format. This is generally done by using the DOS2UNIX command but as the iPhone does not have this installed you will need to find a converter or use the file attached to this post.

Upload this file as “” (you can name the file whatever you please but ensure it has the .sh extension) to an execuable area on the iPhone file system. I used the following location, “/private/var/mobile”. Once this is done, you must log in to your iPhone via an SSH client and run the following command, “/private/var/mobile/”.

If you get a access denied error then please keep reading.

Umars-iPhone:~ root# /private/var/mobile/
-sh: /private/var/mobile/ Permission denied

This is a simple problem to solve. All this means is that the permissions on the file must be changed and providing you have been following this guide carefully, you can simply copy and paste the following command, “chmod 755 /private/var/mobile/”. If you used your own path then please use the chmod command but on your own file. This can also be done via FileZilla.

Download: (please remember to save this as and not test.txt)