This is a beginners guide to setup Linux VPS server. This guide is aimed at covering everything which will be needed by a beginner in order to build and maintain his/her own Linux based Virtual Private Server. If you don't know Linux or don't know what is a terminal, still the guide should help you achieve your goal of setting up your very first VPS Server.
Web hosting can be tricky for beginners - there are wide varieties of hosting services available such as Shared Hosting, VPS hosting and Dedicated Hosting. Usually, most of us starts with shared hosting and gradually move to VPS or dedicated server hosting depending upon the traffic or bandwidth requirement of the website. As your website starts to get more and more web traffic, it excels the need to go for either VPS or dedicated server hosting.
Shared Hosting is usually cheap and easy in setup but very limited in resources. On the other hand - dedicated servers are powerful and easy in customization but they are expensive and need some sort of technical knowledge to run them.
Having said that - Shared hosting is the low end and dedicated server hosting is the high end hosting solution. What if our requirement cannot be met with shared hosting and dedicated servers are too much (i.e. resources) and expensive. That's where - Virtual Private Server comes in. VPS hosting is powerful, flexible, scalable and economic hosting solutions.
As compare to Shared hosting, VPS server offers dedicated RAM and disk space but shared CPU. In Shared hosting - all three parameter - RAM, disk space and CPU are shared among many sites hosted on the same machine. Now as you know that CPU is shared in VPS, it is worth to check the CPU distribution before you buy the VPS hosting from any service provider and check the reviews.
SUMMARIZATION OF HOSTING PLAN:
1. SHARED HOSTING:
Multiple sites share disk space, RAM and CPU. All server level software are installed and full customer support is provided. No customization at server level is allowed and you don't have root access to the server. Sharing RAM, disk space and CPU among multiple site makes shared hosting cheaper and affordable.
2. VPS HOSTING:
RAM and disk space are dedicated for each site but CPU is shared among other sites hosted on the server. Service offerring comes in usually two types - Managed and Un-managed.
Managed VPS allows server level customization and all the server level software are pre-installed. Security updates and management of the server is taken care by the provider. Customized software are installed and maintained by the user. Support levels vary by providers.
In Un-managed VPS, Server level customization is allowed and server level software are not pre-installed. Installation of server level software, security and maintenance is performed by the user. Again, support levels vary by provider.
3. DEDICATED HOSTING:
It offers dedicated RAM, disk space and CPU. Server level software installation, customization and service levels vary by provider.
TYPES OF SERVICE LEVELS IN VPS HOSTING:
Hosting company offers hardware and network support. User responsible for all software (i.e. server level and custom) installation and performance.
Hosting company offers hardware, network and standard software. User handles custom software.
Handles all hardware, network and software issue. User handles installation of custom software.
CONCLUSION - VPS is basically middle ground for many and provides enough flexibility, resource and control but without the cost of dedicated server. You have root access and you can customize apached, PHP and MySQL. In short - VPS allows you to have much of the same characteristics of the dedicated server at lower cost.
TABLE OF CONTENTS
1. Setup Unmanaged VPS
2. VPS vs Shared vs Dedicated
3. Setup a VPS Linux Distribution: Choosing a Linux distribution
4. Setup a command line Interface (CLI) using PuTTY
5. Create a Linux User and Set Permissions
6. Encrypt Data with OpenSSH and Auto-login with PuTTY
7. Harden a Secure Shell (SSH) and create a Firewall
8. Add a domain zone to your VPS
9. Prepare Linux Server for Email with Postfix
10. Install PHP5 and MySQL: (Working with MySQL Database - commands)
11. Setup FileZilla for secure FTP (SFTP)
12. Serve Multiple Site and Blogs with Virtual Hosts
13. Adding Sub-domains with Apache2
14. Integrate a CMS such as Drupal
15. Google Apps for Domain Specific Email
16. How to move or relocate your blog or site with minimal or no downtime
17. Server Backup
In this article, you have learnt about different types of hosting and services. A comparison was discussed - Shared vs VPS vs Dedicated Server.
This is a series of articles. Articles will be linked as they are written and published. Your suggestions and critics in the COMMENT below will be highly valuable to shape this tutorial and make it more useful.