For users coming from shared hosting to hosting their sites on vps, the reality of getting an hosting control panel dawns on them. One is faced with the option of paying for a cpanel license or getting an open source control panel. Cpanel vps license costs about $16 a month, for webmasters on a budget, the open source route is the way to go.
Deciding which open source panel to use can also be a task by itself, because there are numerous options to choose from, ispconfig, webmin/virtualmin, froxo, vesta cp to name a few.
I personally have used ispconfig3, webmin and vesta cp. Of the 3 I recommend vesta cp the most. Vesta cp is so easy to install and configure with little headache, ispconfig3 being the most demanding to install. Vestacp has a beautiful interface, graphs to show usage statistics, setting up users, websites, email, ftp accounts, creating/editing dns records is really simple and easy to adapt to, even for core cpanel users and users with little knowledge of server administration. Roundcube is the webmail app, which has a really beautiful interface.
Installing vesta cp
Installing Vesta is such an easy process that it shouldn’t even be discussed, lol.
# Connect to your server as root via SSH ssh email@example.com
# Download installation script curl -O http://vestacp.com/pub/vst-install.sh
# Run it bash vst-install.sh
Done, a fully functional beautiful server control panel is thus installed in just 2 steps excluding logging in to ssh.
Creating a website
Login with the default administrative account (admin), for a server which will be hosting multiple sites, I recommend creating a new user for each domain to keep things organized.
To add a user click on the Add user button under the Vesta logo, then on the add user page enter the necessary details and then click add.
After adding the user, you can login into the user account from the main admin account, click login as ‘theUsername’ (theUsername being the username of the account you want to work on).
When the user account as being logged in click on Web in the top menu then Add web domain button. Enter the required details and then click add. That’s all your website will be added on the server and all necessary DNS records will be created automatically.
To create a subdomain follows the same process as adding a domain name, log in to the required account, click on web, then add web domain, enter the sub-domain url as the domain in the add domain form.
After adding the domain, vesta cp creates DNS records for your subdomain as though it were a main domain, to make the subdomain work right, click on DNS at the top menu, delete the record for the subdomain, then add a new record for the main domain, to add a record click on “add record” at the top right corner of the domain box.
Add an A record for your subdomain, e.g for a subdomain sub.mywebsite.com, create an A record, with sub as the record, “A” as the record type, then enter your server IP as IP or Value then add.
Creating ftp account
Ftp accounts can be created upon Adding a website or later on. To create an ftp account on the add website or edit website page, towards the bottom of the page, theres a checkbox for Additional Ftp, click on the checkbox to make it active then enter the username and password. You can add as many ftp accounts as required.
Editing Dns records
To add DNS records, click on DNS on the top menu, then click add record on the top right menu of the domain you want to add the DNS records for.
To edit records click on list records on the top right of the domain, then on the records page click on edit to edit the DNS record.
Users can be created to manage their own sites, to create a user, click on User on the top menu, then Add user just underneath, Vesta CP logo. Enter the username, password, select the hosting plan, email and all necessary details. For the username don’t use any username that contains a dot (.), this is to avoid issues later when creating ftp usernames.
Creating hosting plans
Hosting plans can be created to regulate features each user or domain can have access to. Hosting plans are called packages in Vesta CP. To add or edit an existing package, click on package at the very top menu from the main administrator account. Click Add package or edit on the top right of the package to add or edit a package respectively. Use the form to adjust each package as desired.
Creating email accounts
To create email accounts, click on Mail on the top menu, then if the domain for which the email to be created isn’t there click on Add mail domain. After adding the mail domain or of the mail domain is already there click on Add account. To create an email account such as firstname.lastname@example.org, Enter info as the account name, enter a password and click add. To add mail quota, click on advanced options just underneath password box, then enter the quota in megabytes.
To prevent an error where nginx creates a lot of processes leading to high ram usage.
Edit /etc/httpd/conf.d/fcgid.conf (CentOS) or /etc/apache2/mods-available/fcgid.conf (Ubuntu) like so:
AddHandler fcgid-script .fcgi FcgidConnectTimeout 20 FcgidMinProcessesPerClass 0 FcgidMaxProcessesPerClass 10 FcgidMaxProcesses 50 FcgidIdleTimeout 60 FcgidProcessLifeTime 120 FcgidIdleScanInterval 30
# Change the rate at which new FastCGI processes are spawned under load. Higher=faster FcgidSpawnScoreUpLimit 10
# Higher number = spawning more FastCGI processes decreases the spawn rate (controls runaway FcgidSpawnScore 2
# Higher number = terminating FastCGI processes decreases the spawn rate (controls runaway) FcgidTerminationScore 2
# Increase the FastCGI max request length for large file uploads (needed for some sites) FcgidMaxRequestLen 1073741824
FcgidMaxRequestsPerProcess 100000 FcgidIOTimeout 1800
Then restart Apache. Make sure to backup the file before editing.
Vesta CP Pros and Cons
- Very easy to install
- Little to no configuration required
- Beautiful interface
- Automatic backups
- Roundcube webmail client
- Process Manager
- Easy to learn
- No script installer
- Managing subdomain is very different from cpanel
- No web file manager