VestaCP – Simple & Clever Hosting Control Panel
Vesta control panel (VestaCP) is an open source hosting control panel, which can be used to manage multiple websites, creat and manage email accounts, FTP accounts, and MySQL databases, manage DNS records and more.
Vesta core is written in bash. It is native programming language of linux server administrators. They see dreams in bash, thats why vesta grows so fast. … Bash and gpl allows Vesta to fix problems and implement new features very fast.
Now I will show you how to install it on VPS or Dedicated Sever.
Requirements
- RHEL / CentOS: 5, 6, 7
- Debian: 7, 8, 9
- Ubuntu:12 . 04 – 18 . 10
- RAM: 512MB
- Disk: 20GB
- CPU: 1 Core 1Ghz
Installation
Download installation script first
# curl -O http://vestacp.com/pub/vst-install.sh
Install everything
# bash vst-install.sh
Only install web hosting (MySQL) and email server and firewall
# bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous no --mysql yes --postgresql no
Only install web hosting (PostgreSQL) and email server and firewall
# bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous no --mysql no --postgresql yes
Only install web hosting (MySQL) and firewall
# bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql yes --postgresql no
Only install web hosting (PostgreSQL) and firewall
# bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql no --postgresql yes
Do you need Nginx + Apache?
Easy way to do this, first change --apache yes
to --apache no
. And change --phpfpm
no to --phpfpm yes
.
Do you need MySQL + PostgreSQL at same time?
You only need a simple operation, change --mysql no --postgresql no
to --mysql yes --postgresql yes
.
Centos 7 downgrade PHP 7.4.0 to PHP 7.3.x
I came across this post an tried several methods. What worked for me is
# yum install yum-utils -y
# yum-config-manager --disable remi-php5*
# yum-config-manager --disable remi-php74
# yum-config-manager --disable remi-test
# yum-config-manager --enable remi-php73
# yum remove php php-*
And using php-fpm so I need to install it
# yum install php-fpm
As you also need Webmail and PHPMyAdmin, you have also installed them
# yum install roundcubemail phpmyadmin -y
Then restart php-fpm
# service php-fpm restart
How to change VestaCP port?
Use nano
to edit nginx.conf
, change listen 8083;
to any port you want.
# nano /usr/local/vesta/nginx/conf/nginx.conf
Find this lines and change new port
# Vhost
server {
listen 8083;
After this, please try to restart VestaCP
# service vesta restart
How to change IP default page?
You should go to /var/www/html/
and delete that index.html
and upload yours.
Fail2ban like stoped running after yum update?
It works fine if I change in line 273 in the /usr/local/vesta/bin/v-list-sys-services
From
# Checking FIREWALL Fail2ban extention
if [ ! -z "$FIREWALL_EXTENSION" ]; then
get_srv_state $FIREWALL_EXTENSION fail2ban-server script
data="$data\nNAME='$FIREWALL_EXTENSION' SYSTEM='brute-force monitor'"
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'"
fi
to
# Checking FIREWALL Fail2ban extention
if [ ! -z "$FIREWALL_EXTENSION" ]; then
get_srv_state $FIREWALL_EXTENSION f2b/server script
data="$data\nNAME='$FIREWALL_EXTENSION' SYSTEM='brute-force monitor'"
data="$data STATE='$state' CPU='$cpu' MEM='$mem' RTIME='$rtime'"
How to change Webmail, phpMyAdmin and phpPgAdmin?
RHEL / CentOS:
Roundcube path /etc/httpd/conf.d/roundcubemail.conf
phpMyAdmin path /etc/httpd/conf.d/phpMyAdmin.conf
phpPgAdmin path /etc/httpd/conf.d/phpPgAdmin.conf
Debian / Ubuntu:
Roundcube path /etc/apache2/conf.d/roundcube
phpMyAdmin path /etc/apache2/conf.d/phpmyadmin.conf
phpPgAdmin path /etc/apache2/conf.d/phppgadmin
Next we will modify these to our favorite characters
1. Roundcube
First you need to delete Alias /webmail /usr/share/roundcubemail
, and next change Alias /roundcubemail /usr/share/roundcubemail
to Alias /YOUR-CHARACTERS /usr/share/roundcubemail
.
2. phpMyAdmin
First you need to delete Alias /phpmyadmin /usr/share/phpMyAdmin
, and next change Alias /phpMyAdmin /usr/share/phpMyAdmin
to Alias /YOUR-CHARACTERS /usr/share/phpMyAdmin
.
3. phpPgAdmin
First you need to delete Alias /phppgadmin /usr/share/phpPgAdmin
, and next change Alias /phpPgAdmin /usr/share/phpPgAdmin
to Alias /YOUR-CHARACTERS /usr/share/phpPgAdmin
.