There are different type of hosting services are used in the computer technology such as shared hosting, VPS (Virtual Private Server) and Dedicated Server hosting. For new website with low number of visitors, i would highly recommend getting a shared hosting. If you need more control of the server, then you should moving from shared hosting to a VPS. There are plenty of hosting companies offering Virtual Private Servers, and VPS hosting is getting cheaper. Your website will affected on a super slow website performance due to limited amount of resources when running a VPS hosting and also the number of visitors had increased to tens of thousands or even hundreds of thousands per day. At the situation when you are hitting super slow website performance due to huge number of traffics, i would recommend you to getting dedicated server that will provide you excellent processing performance of your website. This because the memory, hard disk storage capacity, processing power, and network access are all 100% to dedicated server instead of shared amongst multiple VPS customers or dozens of shared hosting customers. Great websites in internet have a great server behind them. In this post, i would like to share 9 steps you will need to Setup Dedicated Server for your Website.
9 Steps to Setup Dedicated Server
1. Choose and Install Linux operating system :
Choosing the right platform on which to host your dedicated server. Please make sure that you are familiar with the preferred operating system (OS) either CentOS or Fedora or Ubuntu. I would recommend you do clean minimal install of the OS.
2. Update operating system :
Make sure that the OS has been applied the latest patches.
How to Update CentOS 6.4 System using ‘yum update’
3. Install Apache or Nginx Web server :
Apache httpd is one of the most popular web servers and has a lot of features that make it very extensible and useful for many different types of websites. Alternative to Apache http server, you also can install NGINX. Nginx or “engine x” is a free, open-source HTTP server that provide high performance edge web server with the lowest memory footprint and the key features to build modern and efficient web infrastructure.
How to Setup Nginx With PHP-FastCGI on CentOS 6.2/CentOS 6.3 VPS Server
4. Install MySQL Database server :
MySQL server is a database server that can stores and retrieves data for the blog, websites and applications. It is one of the most popular most used in the internet especially for content management and blogging site.
5. Install PHP :
PHP: Hypertext Preprocessor is a widely used, free and open-source server-side scripting language that was especially designed for web development to produce dynamic web pages and can be embedded into HTML.
6. Install Bind DNS server :
BIND (the Berkeley Internet Name Domain) also known as NAMED is the most widely used DNS server in the internet. Bind DNS helps to resolve domain name to ip address and ip address to domain name.
7. Install FTP server :
File Transfer Protocol (FTP) is a network protocol used transfer file in the network. one of the most popular FTP server for Unix/Linux is vsftpd. Vsftpd stand for Very Secure FTP Daemon. Vsftpd not only just another popular FTP server for Unix/Linux systems, but vsftpd delivers excellent performance by consuming less memory.
8. Harden and Secure the dedicated server :
There are a few steps to harden the OS of dedicated server.
a) Install a host based firewall to protect your dedicated server from unauthorized access:
Once you have your web server running, you have to install host based firewall and open only certain port in your firewall. I would recommend you tosetting up iptables on your linux dedicated server.
b) Use Strong passwords :
Password complexity requirements should be in place to enforce strong password. A strong password should have mixed case, special characters, numbers, and be longer than 8 characters. Additional security, the passwords should be changed regularly.
c) Disable Unnecessary Processes, Services and Daemons :
I would recommend you to disable unneeded processes,services and daemon such as bluetooth, hidd, cups, yum-updatesd, ypbind, nfs, snmpd, saslauthd, netfs, gpm, pcmcia and sendmail. SELinux also should be set to “Disabled”. This is still very experimental so I would leave this disabled unless you really know what you are doing.
9. Install or migrate over the content of your website or blog :
You can start to migrate over the content of your website or blog to your new dedicated server. For dynamic content blog, i would recommend you to use WordPress as a platform. WordPress is an open-source blogging platform. It’s a free blogging tool and content management system (CMS) based on PHP and MySQL.