Although it’s not a particularly arduous task to install, configure and maintain a web server by hand, it’s certainly nice to have simple Web GUI to help alleviate some of the manual work for us. VestaCP is a completely free and open source web server install script and front end and makes for a great free alternative to CPanel. It focuses on simplicity and ease of use and it’s a great first step for a noobie seedbox builder wanting to take things one step further.
VestaCP will install a “LNAMP stack” which means it uses both Apache and Nginx together. Nginx will act as our front end (“Proxy”) and it will serve all static content. Any Dynamic content will be passed down to Apache and handled there. The result is an ultra fast and low ram usage server taking advantage of both web server’s strengths.
It’s recommended you run this on at least 512mb of ram, however a 256mb ram VPS would probably do.
Installation of VestaCP couldn’t be simpler. Regardless of whether you are running Debian/Ubuntu or RH/CentOS you can simply use their script installer. Head to the site for instructions and the most recent links, or simply follow our steps below. Please note that any detailed instructions from here on will be assuming you are on CentOS but they can of course be translated to Ubuntu quite simply by using apt-get instead of yum.
wget http://vestacp.com/pub/vst-install.sh bash vst-install.sh
If you get an error on the wget command you may need to install wget through the repositories first:
yum install wget
You may get some warnings from the script if you already have some components installed. You can take the time now to remove those packages or take your chances with a force install to overwrite the existing packages.
bash vst-install.sh --force
Let the script run. Depending on your connection and server disk speeds it shouldn’t take more then a few minutes. At the end you will get an admin username and password which should also be emailed to you.
Logging In First Time
At the end of the script you should have gotten the control panel URL. If you missed it, it should be your IP (or any fully qualified domain name you have setup) using https:// and ending with port :8083.
Take a minute to browse around. There isn’t a lot to explore, what you see is what you get. Like I said, the focus here is simplicity and the panel is designed to just take care of the basic webmaster tasks we need to do.
I suggest going in and deleting all the “default” data that was created. In the list of packages I also delete everything except for “Default” which I will use as my template for users. On the “Default” package I set backups to 0 (for a seedbox, we don’t want to be duplicating large amounts of data constantly), and set appropriate disk and bandwidth limits.
When we are ready we can create our first user:
Then login as that user and create their web space:
We are now ready to go with the first user on our seedbox. A home directory will have been added for the new user and their web site will be under ~/web/[sitename]/public_html. We are free at this point to start building their seedbox.