Vesta Control Panel is an open source software to host your websites. When you are tired of using command line for making any changes to your hosting or you want to work instantly and faster, VestaCP is best option. Most of the web hosting software are expensive. You can only afford them if you are running a web hosting selling business, otherwise, for personal use, I won’t recommend to use any paid hosting control panel software. VestaCP is available for using free and for personal use, it is one of the best options available to you.
VestaCP allows you to manage your websites, ftp accounts, databases, email and DNS settings. The web interface of VestaCP is developed in PHP and JS. Vesta Open API is used for CLI calls. Vesta Open API has 381 commands available in console. Vesta core has been written in bash which is native programming language in Linux operating system.
VestaCP is open source, hence, you can change, update and redistribute the code under GPL GNU General Public License Version 3.
VestaCP supports multilingual web-interface. You can make firewall settings for iptables and fail2ban. You can host Apache + NGINX, Apache and NGINX + php-fpm. For email, SpamAssasin, ClamAV, Dovecot and Exim are available. For database administration, phpMyAdmin is available for MySQL and phpPgAdmin is available for PostgreSQL.
VestaCP does not support all operating systems. Currently, it supports RHEL, CentOS, Debian and Ubuntu.
In this tutorial, I will be using Alibaba Cloud Elastic Compute Service (ECS) with Ubuntu CentOS installed on it; however, the installation steps would vary according to the choice of operating system.
Hardware Requirements:
Following are the minimal requirements for installing VestaCP on your server. If you need to host more number of websites, manage your hardware requirements according to your usage.
Prerequisites:
Update CentOS System:
Before proceeding with installation of any kind of package, use the following command to update your Ubuntu system. To execute this command, remember to login from non-root user with sudo privileges. After execution of this command, you will be prompted to Is this ok? Type ‘y’ and hit Enter key.
# yum update
Install VestaCP:
You have 2 ways to install VestaCP.
Basic Installation:
For basic installation follow the steps below:
For downloading installation script:
# curl -O
http://vestacp.com/pub/vst-install.sh
For installation:
# bash vst-install.sh
Advanced Installation Settings:
Skip this section if you have followed basic installation steps above.
For generating advanced installation command follow the steps below:
# curl -O
http://vestacp.com/pub/vst-install.sh
# 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 yes --softaculous yes --mysql yes --postgresql yes --hostname imarslan --email test@example.com --password 654321Ab
Now your VestaCP is ready to be accessed via IP address or domain name.
As you can’t install SSL certificate to IP address, on accessing VestaCP via IP Address, you will see the following warning. Click Advance and then click proceed.
Here you will be redirected to login url of VestaCP.
Use your login credentials, you will be redirected to VestaCP dashboard.
Let’s install Git
For installation of Let’s Encrypt SSL certificate, you will need to install Git to fetch Let’s Encrypt form official GitHub Repository. I will use /opt/letsen directory for this purpose.
Step 1:
Execute the following command to install git.
# yum install git
Install SSL certificate for your VestaCP installation:
To allow https to your VestaCP, you will need to install SSL certificate. For free SSL certificate, I will use Let’s Encrypt SSL. Follow the steps below to install Let’s Encrypt SSL Certificate.
Step 1:
Execute the following command to fetch and clone Let’s Encrypt.
# git clone https://github.com/letsencrypt/letsencrypt /opt/letsen
Step 2:
Navigate to directory /opt/letsen by using the following command.
# cd /opt/letsen
Step 3:
Before asking for issuance of SSL, you will need to stop your apache and nginx server because issuance of certificate will utilize port 80.
To do so, execute the following commands.
# service nginx stop
# systemctl stop httpd
Step 4:
Execute the following command to install SSL certificate on your domain.
# sudo -H ./letsencrypt-auto certonly --standalone -d softpedia.xyz -d www.softpedia.xyz
Step 5:
Accept the terms and conditions and proceed.
Step 6:
Confirm or verify the installation of your SSL certificate by executing the following command.
# ./certbot-auto certificates
Step 7:
After successful issuance of SSL certificate, you will need to start nginx and apache server again by using the commands below.
# service nginx start
# systemctl start httpd
Here you go, now you can access your VestaCP using https. Thanks!
If you are living in a digital world you must know how to protect your…
Software Development Life Cycle Model, also known as SDLC or Software Development Process, is base…
Go, often referred to as golang is a modern open-source programming language created by Google…
Torque published an article on October 18, 2016, about WordPress statistics. According to this article,…
PostgreSQL, often known simply as Postgres, is an open-source general-purpose object-relational database management system. In…
SEO is free as well as paid. To achieve SE ranking, money is not enough.…