Getting Started with VPS – The Beginners Tutorial
Ever wondered how a website or a web application works? Heard about virtual private servers, but did never had a chance to understand what’s that exactly? OR Wanna host your website in a better server with less limitations? OR Just bought your own vps and wondering how to setup everything to make it live as a working, secured and performance optimized web server? OR Knowing them very well, but still wanna tweak performance, reliability and security issues with your server? Then you are at the right place.
In this step by step guide you will learn to setup and configure almost every aspect of vps hosting without having prior knowledge. In this journey you’ll learn that server management is NOT that daunting hard task as it appears to be. No more you have to pay extra dollars for a managed server, no more you’ll have the limitations imposed in a shared hosting environment and you’ll have full control over the features of your server and web applications hosted there. Don’t be scared looking at those black terminals, you’ll love to spend more time with unix terminal commands and take control over your kingdom :-D
Wait wait, why do I need a server anyway?
Well, a server is a physical computer that stores your files, webpages etc and serves them to the internet traffic. When you type a web url such as http://www.idolbin.com/ in your browser, your computer requests a DNS query to find out the registered ip-address the domain is pointing to. A registered ip-address has a server computer attached to it. The server computer normally have a lightweight webserver program installed that always listen to a specific port for incoming requests. The webserver program is pre-configured to serve files and dynamic scripts (for example PHP) from a specific directory. When a server computer receives your request a connection is established with your computer and the server. The server computer then serves files, webpages etc according to the request url parameters sent from your computer or whatever device you are using. The following picture explains the scenario:
I think you’ve already understood that you need a server where your web application will be hosted and of-course this server needs to run 24 hours every day for serving pages to the whole world. Fortunately you don’t have to run your own computer for 24 hours every day. Rather a convenient and cheap solution is to spend less than $20 per month to have a VPS (virtual private server) located in a suitable data-center with high performance server machines and internet connection with decent bandwidth. You can easily manage your server by remotely logging into it using ssh from anywhere around the world and setup everything to serve dynamic web applications and webpages. You might be wondering why I’m not referring to shared cpanel hosting services that offer almost everything unlimited, no setup hassles and much more cheaper in most cases. To sooth your heart read the next article to know why.
Articles in this Step by Step VPS Setup Guide
Getting Started with VPS – The Beginners Tutorial
Introductory concepts on web servers and virtual private servers. Introducing you to the world wide web from a technical point of view.
Shared Hosting, VPS, Dedicated and Cloud Servers
Comparing the popular server hosting solutions. Basic understanding of shared, dedicated, vps and cloud servers.
Deploy a Linux VPS Server using Linode
Tutorial on deploying your linux distribution in your VPS server and setting up hostname and initial configurations
Setup NginX Web Server (Not Apache!) on Ubuntu 10.04
Analyzing why NginX web server is better for you instead of the mostly used Apache. Demonstration on how to setup and configure NginX on Ubuntu server.
Enable HTTPS (HTTP+SSL) in NginX Web Server
Tutorial on enabling secure http connections for NginX web server. Demonstrating how to self sign your SSL certificate for the VPS server.
NginX Password Protect Web Directory
Helping you to protect specific web directories with passwords for restricting access to administration section or important private files that need to be accessed through the web.
Setup PHP-FPM with APC on Ubuntu 10.04 for Faster Performance
Installing and Configuring PHP5 with Fast CGI Process Manager along with the excellent op-code cache solution APC for faster and optimized PHP backend.
Setup MySQL with PHPMyAdmin on Ubuntu 10.04
Setting up MySQL database server and configuring for better performance in low memory environment. Also setup a web based database management front-end named PHPMyAdmin.
Configure Domains and Subdomains in your VPS Running NginX
Tutorial on DNS setup for adding additional domains and subdomains. Also configuring NginX for handling each domains/subdomains.
Domain Emails for Free Using Google Apps
Setup domain specific email addresses without installing any email server in your VPS. Google Apps seems to be a better solution in this regard.