Recently, I have been trying VestaCP platform for my Digital Ocean droplet, and I can see potential with their work, which is fast and work out-of-the-box. However, the entire UI seems off for me.
With that said, I try to search in Google and found Vesta Web Interface, which has a promising result. In fact, we are going to explore their Version 1.0.0 on our 1 GB / 1 CPU, 25 GB SSD disk VPS.
From here, we will try to compare the entire UI in VestaCP and Vesta Web Interface.
On the other hand, if you wish to try Digital Ocean, you may use my referral link below.
https://m.do.co/c/e3b40a8b20c9
From here, you will get $100 in credit over 60 days.
First stop, what is Vesta Web Interface? — is a PHP Control Panel and Web Interface that integrates with the VestaCP API to provide a beautiful user-friendly experience. VWI features the ability to rebrand the control panel, change the theme, install it wherever you want, restrict access to users, easily edit options and offers integrations to services such as Google Analytics, Cloudflare, Interakt and many more coming soon.
System Requirements
- Ubuntu, Debian, CentOS or RHEL server running VestaCP 0.9.8-17+ with root access.
- Web Server with PHP 5.4+ installed (does not have to be VestaCP powered) and the following PHP extensions & options enabled:
- PHP cURL
- PHP OpenSSL
- PHP gettext
- PHP MySQLi
- PHP FTP
- PHP File Uploads
If you have not
http://vestacp.com/install/
Before You Install Vesta Web Interface
- Create a domain, subdomain or directory within a domain or subdomain. (The /usr/local/vesta/web directory is not allowed. Localhost is allowed.)
- Ensure that your domain, subdomain or directory has no files in it.
- Choose the best installation method for your situation.
Which installation method to use?
Automatic Installation
- You would like to install VWI on a domain or subdomain powered by VestaCP.
Selective Installation
- You would like to install VWI on a domain or subdomain not powered by VestaCP
- You would not like to install language packages.
- You cannot chmod or use the web based configurator.
Manual Installation
- You have circumstances where
manual installation is preferred. - You have encountered errors with other installation methods.
In our situation, let us use the Automatic Install for ease. With that said, please see these steps below.
Automatic Install
To automatically install all VWI components on the same server, follow these steps:
Step 1:
Enter a blank directory within your domain’s document root.
Example:
cd /home/admin/web/mydomain.com/public_html/
Step 2:
Run the automatic installer.
bash <(curl -s https://vwi.cdgtech.one/
When promted during the automatic installer to “Enter the full web address of your installation”, enter the URL where Vesta Web Interface will be accessed from, including the “http(s)://” and the following “/”.
Step 3:
Visit the URL of your installation in your browser, ensure all requirements are met.
Create a new MySQL / MariaDB database and user or use an existing MySQL / MariaDB database and user and enter the details into the installer. The specified user must have basic read and write access to the database.
‘root’ users and users without passwords are accepted but are not recommended for added security.
localhost / 127.0.0.1, web addresses and IP addresses are acceptable hosts.
Ensure that your selected database does not have an existing table named vwi_config (or a table with your specified prefix). If there is a table under the same name, change the prefix to a unique name.
Continue the installation and configure VWI to your liking, entering the desired settings in the web based configurator. For help, visit the configuration documentation.
Step 4:
Secure the installation folder.
chmod the ‘includes’ folder to 755 after configuration is complete. Failure to do so will leave your configuration file open to the public to be re-written or broken.
Example:
chmod 755 includes
Installation is now complete. Visit your URL to start using Vesta Web Interface. At this point, you should have a Vesta Web Interface as shown below.

Now, let us compare the entire layout, like the Dashboard, Menus, and the total experience in using Vesta Web Interface.
Let start with default Dashboard in Vesta Control Panel.



As you can see, it comes with a slick user interface, where you and your users feel at home using Bootstrap Framework. On the left side, you will get all the navigation links.

Top right, you will get Search and Profile links. From here, you have two options, which are My Account and Account Settings.



On the other hand, let us quickly visit the Administration Page, where we manage Users, Packages, IP, Graphs, Statistics, Updates, Firewall, Server, Settings, Plug-ins and Notification.

Vesta Web Interface — Administration








As for the Settings page, you have the option to customize the brand logo, and set Webmail or phpMyAdmin links. Here is the complete option Vesta Web Interface Settings page offers.

Server Configuration
- Server Timezone: Select the timezone in order for CRON jobs and cached config to function.
- Site Name: Enter the name you would like to be displayed as the site title and CP name.
- Theme: Select the theme color for the control panel.
- Language: Default language for control panel.
- Default to Admin: Choose whether or not the admin should go to the admin panel by default after login.
- Email Address: Email to receive alerts regarding installation status and security.
- Vesta Host Address: URL or IP address of VestaCP without ‘http://’, ‘:8083’, or the following slash. Ex: ‘mydomain.com’ or ‘8.8.8.8’.
- Vesta SSL: Leave checked if SSL is enabled for your VestaCP installation. Enabled by default. Leave checked if your VestaCP URL (mydomain.com:8083) starts with ‘https://’.
- Vesta Port: Port of your VestaCP installation. ‘8083’ by default.
- Vesta Method: Whether to use an API Key or Username and Password for API Authentication.
- Vesta API Key: VestaCP generated API Key.
- Vesta Admin Username: Username of the VestaCP admin account. ‘admin’ by default.
- Vesta Admin Password: Password for VestaCP admin account.
- Key 1: Encryption Key. Replace with a random string.
- Key 2: Encryption Key. Replace with a random string.
- Warnings Enabled: Choose who should see warning messages about server connection and security issues.
- Icon: Control Panel Icon.
- Logo: Control Panel Logo.
- Favicon: Control Panel Favicon.
Enable / Disable Sections
- Enable Web: If disabled, hides all web domains and control to web domain settings.
- Enable DNS: If disabled, hides all DNS domains and control to DNS domain settings.
- Enabled Mail: If disabled, hides all mail domains, control to mail domain settings and webmail access.
- Enable Database: If disabled, hides all databases, control to database settings and web-based database access.
- Enable Admin: If disabled, hides admin panel, and all admin specific control. Disables web-based settings (settings must be configured from MySQL).
- Enable Profile Page: If disabled, hides user profile and user settings page.
- Enable Cron: If disabled, hides all CRON jobs and control to CRON job settings.
- Enable Backups: If disabled, hides all backups and control to backup settings.
- Enable Registrations: If disabled, hides link to sign up.
- Enable Softaculous: If disabled, hides the link to Softaculous.
- Enable Link to Old CP: If disabled, hides the link to old VestaCP interface.
Mail Config (Settings Page Only)
- Enable PHPMail: Allows emailing credentials once database or email account are created.
- Mail From: From address for PHPMail messages.
- Mail Name: From name for PHPMail messages.
- SMTP Enabled: Choose whether to send email through PHP SendMail or SMTP.
- SMTP Port: Port for SMTP Connection. Usually 25 (unencrypted), 465 (SSL) or 587 (TLS).
- SMTP Host: SMTP server address. URL, IP or localhost.
- SMTP Auth: Choose whether to authenticate SMTP with a username and password.
- SMTP Username: Username to SMTP account if auth enabled.
- SMTP Password: Password to SMTP account if auth enabled.
- SMTP Encryption Method: SSL, TLS or None.
Optional Links
- FTP Client URL: Link to WebFTP client in menu. Leave blank for default or enter ‘disabled’ to disable.
- Webmail URL: Link to webmail client in menu. Leave blank for default or enter ‘disabled’ to disable.
- phpMyAdmin URL: Link to phpMyAdmin in menu. Leave blank for default or enter ‘disabled’ to disable.
- phpPgAdmin URL: Link to phpPgAdmin in menu. Leave blank for default or enter ‘disabled’ to disable.
- Support URL: Option link to web based support. Leave blank to disable.
Optional Integrations
- Plugins: Comma-separated list of installed plugins. Read the plugins section for more info.
- Google Analytics ID: Create and enter your Google Analytics ID to enable site statistics tracking.
- Internet App ID: Create and enter your Interakt App ID to enable customer support on your site.
- Interakt API key: Create and enter your Interakt API Key to enable user management and tracking on your site.
- Cloudflare API Key: Enter your Cloudflare Global API Key to enable Cloudflare DNS integration.
- Cloudflare Email: Enter your Cloudflare account email address to enable Cloudflare DNS integration.
As for the Web, DNS, Mail, Databases, Crons, and Backups, here are the UI below.






Promising work right? Well, thanks to Carter Roeser. If you wish to try his work, visit their Github repo, via:
https://github.com/cdgco/VestaWebInterface
For Documentation, visit:
https://vwi.cdgtech.one/#/
I wanna hear your experience and challenges you have in Vesta Web Interface by leaving a comment below. I hope this will help you out.