Installation Commands for VestaCP

VestaCP provides an excellent “menu” for choosing what one wants to include in VestaCP in ONE installation command.  All one needs to do is navigate to its main page and you will find a menu with some default settings as well as options for the settings with which to  output ONE Installation Command.


The default Install Command will then look something like this:

bash –nginx yes –apache yes –phpfpm no –vsftpd yes –proftpd no –exim yes –dovecot yes –spamassassin yes –clamav yes –named yes –iptables yes –fail2ban yes –mysql yes –postgresql no –remi yes –quota no

I wanted the lightest possible VestaCP for a beginner VPS.  I was planning to use the VPS as a single user, i.e. not allocate hosting accounts, so then elected not to install an FTP server.  VestaCP of course doesn’t come with a free File Manager, however I’m quite happy with FileZilla and decided to go with SFTP instead of FTP. I also decided not to install a mail server as it is easy if not used expertly for it to be vulnerable for exploits.  If mail is needed with my domain later on, I was planning to use a free e-mail host like Zoho or Yandex.  Yandex in particular is very generous with the number of e-mail accounts that are allowed for use with one’s domain.

Initially I thought to go for no DNS either, but soon found that to be a problem, so did a second install where I selected “named” for installation of a Bind Server.  I assumed that if I selected Remi for the Repository that that would make it easier to update VestaCP.  For the hostname I had to think what it should be, and then thought to go with vps.domain.tld, but in hindsight should only have gone with domain.tld.  It was easy to remedy though, as soon as my Panel was up, I created a new domain with domain.tld, and deleted the vps.domain.tld.  I don’t know much about fail2ban, but thought it could only be good to have, so still have to study how it works.

My choices for the Install Command were:

WEB:  nginx + apache
FTP:  No
DNS: I first tried “NO”, but then reinstalled and selected “Named” – I needed the DNS
FIREWALL:  iptables + fail2ban
DB:  mySQL
HOSTNAME:   vps.domain.tld – next time domain.tld

In summary these are the commands I used once I accessed my new VPS with PuTTY (note my VPS host installed a minimal CentOS-6-X86 on my VPS):

yum -y update
yum install wget ( didn’t really need it as it was already there)
yum -y install curl (didn’t really need it as it was already there)
curl -O
bash –nginx yes –apache yes –phpfpm no –vsftpd no –proftpd no –exim no –dovecot no –spamassassin no –clamav no –named yes –iptables yes –fail2ban yes –mysql yes –postgresql no –remi yes –quota no –hostname vps.domain.tld –email –password 123456