Vesta Control Panel or Vesta CP- powered by Softaculous is an 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 much more. This guide will go through how almost anyone can configure and install an SSL certificate on VestaCP within minutes.
- Step 1: Generating a CSR and Private Key
- Step 2: Order and Configure the SSL Certificate
- Step 3: Install the SSL Certificate on VestaCP
- Step 4: Check the SSL is working
- Optional Troubleshooting and Further Configuration
Step 1. Generating a CSR and Private Key
1: Login to your VestaCP WHM through your default port; (Generally Port:8083)
2: Click on the Web icon on the top and select your website which you have hosted.
- After you have selected your website, click on the Edit button.
4: Scroll down and check SSL Support. Once you've done that, you can again scroll down and click on Generate CSR near the SSL Certificate dialog box.
5: Now you can fill in all your details accordingly and generate a CSR.
Domain: Enter your domain name
Email: Enter your email address
Country: Enter the two-letter abbreviation for your country.
State: Full name of the state.
City: Complete name of the city, no abbreviations.
Organization: If you are a business; Enter your legal entity name. If you're not a business, any value entered will not be used in your certificate.
After you've filled in all your details, click on Ok
6: You will now see a newly generated CSR (Customer Signing Request) and a Private Key. Make sure that you keep this window open as we're gonna need this information to configure our SSL Certificate.
Step 2. Order and Configure the SSL Certificate
Now we need to order an SSL Certificate. If you visit our SSL Certificates List page, you will have a selection of Certificates you can order. If you have a simple website wanting to secure the one domain, you will be fine to use a Comodo PositiveSSL. If you are a business website you may want to look at using a Business SSL, we recommend a GeoTrust SSL such as the True Business SSL.
If you require any assistance with selecting an SSL Certificate, please feel free to contact our sales team and they will be happy to assist.
1: Order the SSL and complete the checkout.
2: Once you have completed the SSL Certificate Purchase you can begin the configuration process. This can be started by going into your SSLTrust account and managing your recent purchase.
You then will need to click the Submit Configuration button to begin the configuration process.
3: You now need to paste in the CSR you generated in your Web Hosting. This includes the lines:
-----BEGIN CERTIFICATE REQUEST---- -----END CERTIFICATE REQUEST-----
Select OTHER for your Web Server Type.
You will need to also enter the Site Administrator Contact Information.
This information is to be of the individual who is responsible to approve and SSL Certificate. If it is a business SSL, it needs to be a contact under the business.
The Technical Contact Information is the details of the individual responsible for the installation and management of the Certificate.
If you have ordered a business SSL, you will also be required to enter your business details. These should be the correct address and phone number and legal entity name. They will be required to be validated by the Certificate Authority, any mistakes will cause delays. More information on Business Validation can be found here.
4: Click Continue to go to the next Step. Here you need to select the Authentication Method to validate your domain name. This is required to prove you own the domain name and have permission to issue an SSL Certificate for the domain.
Select the method that will be the easiest for you to use; File-Based Authentication ( HTTP / HTTPS ), CNAME Based Authentication ( DNS ) or Certificate Approver Email.
If you have access to one of the listed emails, this can be the quickest method
Click Continue/Submit to finish the Configuration process.
After you complete the domain validation via your selected method, your SSL will be issued. If you ordered a Business SSL, you will need to wait for the Certificate Authority to complete the Business address and phone validation. If the validation has not progressed, or you have not received your Certificate after some time, please contact our support team so we can check on its status.
Step 3. Install the SSL Certificate on VestaCP
When your SSL Certificate has been issued, you will be emailed the Certificate Directly from the Certificate Authority. You can also download it from your SSLTrust Portal. Downloading it from the SSLTrust Portal is a good option as we format the certificate in an easy to use way.Again; View your certificate management page within SSLTrust1: Click on the Manage button and collect/download your certificate2: Go to the first column and click on copy to clipboard3: Head back to the first VestaCP SSL Support window which you must have left open OR Go the VestaCP Dashboard, select you website, click on Edit and then check SSL Support again4: Paste in your certificate in the SSL Certificate Dialog Box.You will now have to paste the private key which was created when generating our CSR. That window would still be open, so copy and paste in you key in the Private Key Dialog Box.and we’re done.In some cases, you will also have to copy and paste you CABUNDLE (Intermediate Certificate) - The chain is required to improve compatibility of the certificates with web browsers and other kind of clients so that browsers recognize your certificate and no security warnings appear.6: Head over to the certificate collection page again and find you CABUNDLE (Intermediate Certificate)Generally, you would be able to click on Copy to Clipboard but, in the case of VestaCP, the whole chain did not seem to work. You can still work your way around it.
You just have to make sure that you copy the second certificate in the CABUNDLE (Intermediate Certificate), where the first one ends and the next one begins.After you're finished with filling all fields, you can scroll down and click on Save Cetificate to install it on your website
Step 4. Check the SSL is working
It is a good idea to go to your website and see if it works via https://www.yourdomain.com We also recommend you use this tool to check the install has been completed successfully: www.ssllabs.com/ssltest/You may need to get your web developer, or update your website yourself, to make sure all files use https:// and all links to your site and within your website use https://If you require any assistance with your SSL Installation please contact our friendly support team.Optional Troubleshooting and Further Configuration
1: TURN OFF OLD TLS AND SSL VERSIONSIf you do not get an A rating on the SSLLabs test, make sure to have installed the CABUNDLE (Intermediate) Certificate and only allow TLS 1.2 and higher to function.
You can block old verions of TLS and SSL by navigating via FTP or SSH to the Apache Configuration and adding a command.
The file directory for apache configuration should be one of these:
/etc/apache2/httpd.conf /etc/apache2/apache2.conf /etc/httpd/httpd.conf /etc/httpd/conf/httpd.conf
The command you will need to add under #SSLProtocol is:
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
After adding the command, restart Apache.
# /etc/init.d/apache2 restart2: REDIRECT ALL HTTP TRAFFIC TO HTTPS AND CHOOSE WHICH VERSION OF YOUR SITE YOU WANT TO BE DISPLAYEDNote:- In the code below, please replace HTTPS with HTTP if you want users to be directed to the old (unsecure) version of your site.
As the interface does not allow redirects for the same domain and does not have a button for forcing redirects, you will have to do it manually. To make either changes, you will have to access/create the .htaccess file via FTP/SSH and make the following changes.
File location:
/var/www/html/.htaccess
- To remove www from your URL, use this code in your .htaccess file:
RewriteEngine On RewriteCond %{HTTPS_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ https://%1$1 [R=301,L]
- To include www from your URL website, use this code in your .htaccess file: (Where YourSite.com must be replaced with your URL)
RewriteEngine On RewriteBase / RewriteCond %{HTTPS_HOST} ^YourSite.com$ RewriteRule ^(.*)$ https://www.yourSite.com/$1 [R=301] RewriteCond %{REQUEST_fileNAME} !-d RewriteCond %{REQUEST_fileNAME} !-f RewriteRule ^(([^/]+/)*[^./]+)$ /$1.html [R=301,L]