Community Blog Set Up Vesta Control Panel on Alibaba Cloud

Set Up Vesta Control Panel on Alibaba Cloud

In this tutorial, we will be installing and configuring VestaCP on an Alibaba Cloud Elastic Compute Service (ECS) instance with CentOS 7.

By Arslan Ud Din Shafiq, Alibaba Cloud Tech Share Author. Tech Share is Alibaba Cloud's incentive program to encourage the sharing of technical knowledge and best practices within the cloud community.

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 free and is one of the best options available in the market.

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 core has been written in bash which is native programming language in Linux operating system. VestaCP does not support all operating systems. Currently, it supports RHEL, CentOS, Debian, and Ubuntu.

In this tutorial, we will be installing and configuring VestaCP on an Alibaba Cloud Elastic Compute Service (ECS) with CentOS 7 installed.

Hardware Requirements

VestaCP requires a decently sized server to host and manage multiple websites. The following are the minimum requirements for installing VestaCP on your server. You are recommended to use a higher configuration whenever possible to host more websites, but you should manage your hardware requirements according to your actual usage.

  1. Minimum 1 core processor.
  2. You will need 512 MB RAM. I will recommend to use 1 GB.
  3. You will need 20 GB HDD hard disk. Alibaba Cloud offers HDD hard disk as well as SSD hard disk. You can use any of them as per your choice.


  1. You must have Alibaba Cloud Elastic Compute Service (ECS) activated and verified your valid payment method. If you are a new user, you can get a free account in your Alibaba Cloud account. If you don't know about how to setup your ECS instance, you can refer to this tutorial or quick-start guide.
  2. A domain name registered from Alibaba Cloud. If you have already registered a domain from Alibaba Cloud or any other host, you can update its domain nameserver records.
  3. Domain name must be pointed to your Alibaba Cloud ECS's IP address
  4. Access to VNC console in your Alibaba Cloud or SSH client installed in your PC
  5. Set up your server's hostname and create user with root privileges.

Update Your 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.

# yum update

Install VestaCP

There are 2 ways to install VestaCP: basic installation and advanced installation.

Basic Installation:

For basic installation follow the steps below:

  1. Open https://vestacp.com/install/. This link will open the installation page of VestaCP official website. Scroll down and find the heading "Install Instructions". Execute the following commands to install VestaCP.

    For downloading installation script:

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

    For installation:

    # bash vst-install.sh


  2. You will be prompted to the following screen. Type Y and hit enter.


  3. Enter your email address.
  4. Enter your hostname (Fully Qualified Domain Name).
  5. Now wait for 15 minutes. VestaCP usually takes 15 minutes for installation on HDD and 5-6 minutes on SSD.

Advanced Installation Settings:

Skip this section if you have followed basic installation steps above.

For generating advanced installation commands, follow the steps below:

  1. Open https://vestacp.com/install/ . This link will open the installation page of VestaCP official website. Scroll down and find the heading "Advanced Install Settings".


  2. Choose your preferred web settings. You can choose only one of the options below. We will be using Nginx + apache.
    1. Nginx + apache
    2. Apache
    3. Nginx + php-fpm
    4. No
  3. Choose your FTP settings. You can choose only one options from the list below. We will be using Vsftpd.
    1. Vsftpd
    2. Proftpd
    3. No
  4. Choose your Mail settings. You can choose only one options from the list below. We will be using Exim + dovecot + spamassassin + clamav.
    1. Exim + dovecot + spamassassin + clamav
    2. Exim + dovecot + spamassassin
    3. Exim + dovecot + clamav
    4. Exim + dovecot
    5. Exim
    6. No
  5. Choose your DNS settings. You can choose only one options from the list below. We will be using Named.
    1. Named
    2. No
  6. Choose your firewall settings. You can choose only one options from the list below. We will be using iptables + fail2ban.
    1. iptables + fail2ban
    2. iptables
    3. no
  7. Choose to install Softaculous when prompted. Softaculous installer allows to you install your required CMS like WordPress, Joomla, Drupal, AbanteCart, PrestaShop, phpBB, WHMCS, MyBB, Open Real Estate, and Dolphin easily on your host.
  8. Choose other settings and select your database. You can either choose one database or both. We will be using both databases.
    1. MySQL
    2. PostgreSQL
  9. Set your hostname.
  10. Setup email and password for logging in your VestaCP as admin.
  11. Click "Generate Install Command" and use this command to install VestaCP.
  12. There will be a list of commands generated for you. The following screen shows you the commands for installation of VestaCP.


    # 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 *******

Note: The password has been changed for security purposes. Please copy the code directly from your own machine.

Set Up Firewalls for HTTP and HTTPS

If you have activated firewalls, you will have to define a rule in Alibaba Cloud security group for your cloud server to add exception for port 80/TCP, 443/TCP and port 8083/TCP. You can enable these ports while creating ECS instance, but in case, if you have forgotten to unblock these ports, you can follow the procedure below. By default, these ports are blocked by the firewalls.

If you are not sure how to do this, refer to the ECS documentation.

Accessing VestaCP

Your VestaCP is ready to be accessed via IP address of your Alibaba Cloud ECS or domain name. As you can't install SSL certificate to IP address, upon accessing VestaCP via IP Address, you will see the following warning. Click Advance and then click proceed.



You will be redirected to login page of VestaCP. Enter your login credentials, you will be redirected to VestaCP dashboard.


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.

Execute the following command to install git.

# yum install git

Install SSL Certificate for VestaCP

To allow HTTPS access to your VestaCP, you will need to install an SSL certificate. For a free SSL certificate, I will use Let's Encrypt SSL. Follow the steps below to install Let's Encrypt SSL Certificate.

Execute the following command to fetch and clone Let's Encrypt.

# git clone https://github.com/letsencrypt/letsencrypt /opt/letsen

Navigate to directory /opt/letsen by using the following command.

# cd /opt/letsen

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

Execute the following command to install SSL certificate on your domain.

# sudo -H ./letsencrypt-auto certonly --standalone -d softpedia.xyz -d www.softpedia.xyz

Accept the terms and conditions and proceed. Upon successful installation, you will see the following screen.


Confirm or verify the installation of your SSL certificate by executing the following command.

# ./certbot-auto certificates

After successful issuance of SSL certificate, you will need to restart your nginx and apache server by using the commands below.

# service nginx start
# systemctl start httpd

Here you go! Now you can access your VestaCP using HTTPS.

4 0 0
Share on

Alibaba Clouder

2,605 posts | 744 followers

You may also like


thefinalwatcher September 12, 2018 at 7:36 am

Vesta is good but not the best one in the free control panel space. The major downsides of Vesta is the nature of being a web-based app, which can result into a steep server memory consumption for it's installation on the server-end and more risks by keeping connecting to the server through the web. As well as a complex installation and configuration. Personally, I use VPSrobots to manage servers - https://vpsrobots.com/, aside from living on my PC like any other desktop apps, it comes with a free version that includes pretty much all the basic features for the server and site management.

Lucky Bhumkar September 7, 2019 at 2:31 pm

Now SSL activation is an inbuilt option in Vestacp.

5701894740226721 July 17, 2020 at 10:34 am

Hello, guys, I'm facing problems with the installation of ssl lets encrypt. I've tried in many ways but unfortunately it doesn't work. I already followed your tutorial on this link on your blog, but it also doesn't work. I don't know what to do can you help me?

Alibaba Clouder August 6, 2020 at 1:46 am

Hi, there. Thanks for reaching out. You can go to our Forum(https://www.alibabacloud.com/forum) to provide more details and let us see what we can do.

5756980046282161 December 29, 2021 at 11:22 am