A practical guide to setting up web hosting for any website affordably.
Learn to use cPanel, change domain nameservers and setup Cloudflare security with performance optimizations and SSL. This a simple guide for dependably fast hosting without spending more than you need to. Get everything you’d come to expect from a top notch web host:
● High Speed (page load time)
● Great Reliability (uptime)
● Performance (premium hardware)
● Ease of Use (cPanel)
When it comes to hosting, businesses are looking for something that’s not overly technical and difficult to learn. Naturally, shared hosting’s low costs and beginner friendly control panels start to look appealing.
However, the major drawback is that shared environments often result in bottlenecks during peak performance. They have less reliability and suffer in page speed as a result. It’s not unusual for sites to be surprisingly slow and difficult to use on a shared hosting setup.
What is best and what I recommend is a VPS or virtual private server.
A fully managed VPS is preferable to handle any technical problems should they arise. If you’re technically proficient in Linux or comfortable with downtime while you troubleshoot a potential outage, you can use an unmanaged server but the risks in self management are higher.
A VPS is similar to shared hosting in that most can be setup to include cPanel. This provides you with an easy to use control panel for managing your websites.
The difference between shared hosting is that a VPS provides virtual environments with isolated hardware which provides dedicated-like performance. That’s a lot to take-in but means a VPS is comparable to running your website on a dedicated server. Essentially, a VPS allows you to do more without being impacted as heavily by other users.
For any production website or application a VPS provides the dependability that’s needed to handle a growing audience and userbase.
Have you registered a domain name yet?
NameSilo.com may have an old interface but the value is phenomenal. Their low renewal costs and included WhoIs privacy makes it easy to set-and-forget domains.
Privacy has become a necessary addon to avoid spam and NameSilo has managed to bundle it free. I’ve searched everywhere for a better deal on a year-to-year basis and haven’t found one. They have reliably low yearly costs that don’t seem to increase overtime. I have come to trust them over bigger brands such as Godaddy or NameCheap, which have higher renewal costs after the first year.
This guide will include screenshots and examples from NameSilo but if you’re using another registrar, the process will be identical with a different interface.
Once you have a domain registered, you can buy and setup web hosting.
Choosing a web host.
All options featured below will use the industry standard cPanel control panel. CPanel is highly recommended software and is the best solution for most businesses. It allows for easy management of multiple websites. There are others such as DirectAdmin or Plesk but neither are as stable, secure and trusted as cPanel.
Option 1: An Unmanaged VPS
An unmanaged VPS provides great performance but requires self-administration.
Should any problems arise you will be expected to troubleshoot the solution on your own. Issues typically don’t occur often but computers aren’t perfect. Code can have bugs, updates can break things and it’s generally not a good idea to expect that nothing will ever go wrong.
With that said if you’re technically proficient an unmanaged VPS can be a solid way to save money.
One of the best places to get one is Contabo.com. Their German quality really shines through and the low prices and responsive support team are great.
To get started, head over to Contabo and select ‘High Performance VPS’ from their menu.
The small VPS plan is fine for low traffic websites but as you grow you should consider upgrading to provide more memory and processing power for your websites.
During checkout they provide an option to add off-site backup space. This is highly recommended because it allows remote backups to be conducted and exported to another server. Should your data get corrupted or deleted, you can rest assured you always have a backup that can be used to restore your websites.
After selecting your plan, choose to add cPanel and complete the rest of the checkout process. CPanel is a paid upgrade that will raise your month-to-month costs but the stability, security and ease of use are worth the additional cost. After your purchase you should receive an email with your login details, server IP and other useful information.
Note: A VPS is no more complicated than shared hosting and cPanel provides the same familiar control panel.
Option 2: A Managed VPS
A managed VPS provides great performance and covers any technical issues that may arise. The downside to a managed server is that it’s typically a lot more expensive.
This is a safer solution for your websites and the best option for the majority of businesses. With a managed VPS, there’s always a competent technician just a phone call or support ticket away. These servers may cost more but can be well worth it for the peace of mind and long-term reliability.
If you don’t have the ability to troubleshoot and fix servers issues in-house, managed gives you that capacity without having to hire help. Many companies even monitor for unexpected outages and provide emergency care services.
This can be extremely important for large websites or applications where every second of downtime is a concern.
There are plenty of good options for a managed VPS with cPanel. Among my favorites are InterServer and HostWinds.
Be sure to select cPanel and the managed server option at checkout. After your purchase you should receive an email with your login details.
Option 3: Shared Hosting
Most hosting setup guides recommend shared hosts because they are easy and quick solutions.
However, the shared hosting environment should only be considered as a last resort. Shared hosting tends to suffer from major performance issues and for that reason is hard to recommend.
This is where the majority of businesses make mistakes because they choose shared hosting first due to its low costs. Once that inevitably begins to cause issues they upgrade but user confidence has already been degraded.
For any user-facing website or application, it’s best to choose a VPS and avoid the headache. Should you just need to display simple static webpages, shared hosting may suffice but is not a recommended or long-term solution.
Most shared hosts will make CMS systems like WordPress slow and difficult to use. Navigating the admin panel on a shared host can make each click take seconds longer than a VPS. If you are frequently making changes or publishing content this becomes a major irritation.
Should you still need shared hosting for development, testing or other purposes there are providers such as Godaddy, BlueHost or HostGator. Use these companies at your own risk. Shared hosts typically have hundreds if not thousands of users sharing the same server. They are also very predatory and will use ads, time sensitive offers and other manipulative tactics to encourage spending.
Option 4: Dedicated Server
A dedicated server means you own the entire server instead of a portion as is the case with a VPS. Dedicated servers are the most robust hosting solution as you are renting the full hardware capability of the server.
However, I generally don’t recommend dedicated servers unless you absolutely need one. If you’re following this guide you likely don’t and a VPS will serve your needs. Dedicated servers are ideal for companies with high traffic and large userbases. They can be very expensive.
Getting familiar with cPanel.
You may scoff at the additional monthly costs of adding cPanel to your server but not so fast. CPanel is an incredibly powerful control panel with built-in security. Many of the alternatives can cause problems such as errors and bugs that are difficult to troubleshoot.
CPanel has become a highly reliable industry standard. I’ve personally tried free alternatives and have always encountered issues. I wouldn’t host on anything else at this point unless you are willing to take a risk with your websites.
Here’s what the control panel looks like:
Under ‘Domains’ you should find the domain you registered your hosting account with.
You can add additional domains under ‘Addon Domains.’
Should you want to create a subdomain such as example.yourdomain.com you can do that under ‘Subdomains.’
Note: subdomains will only work if you have thefor your domain pointed to your new web hosting account. If you’re using a DNS intermediary such as Cloudflare then you will need to create any subdomains on Cloudflare and not within cPanel. Cloudflare is a highly recommended DNS manager with advanced security features and a base level service that’s completely free.
Cloudflare setup configuration.
Inside the email containing your cPanel details you should have received two servers labeled nameservers. These are important to creating the connection between your domain and hosting. Keep record of these servers.
Within this same email you should also find a server IP. Keep record of this as well.
If you don’t need free security features then you don’t need to use Cloudflare. Feel free to skip ahead. If you would like to use their platform then head over to the website and create an account.
Once inside you should select your domain:
Then select ‘DNS’ – at this time it’s the third option from the left:
Now we need to add an ‘A record’ for your domain. This is where we will enter the IP address from the email.
For Type, simply select ‘A.’ For Name, enter your actual domain name. And for Content, enter your actual IP address. TTL should be set to ‘Auto’ and if you want the advanced security features that Cloudflare has to offer Proxy status should be ‘Proxied.’
Additionally, subdomains and email servers can be configured now or sometime later.
Using the example below, be sure to exchange yourdomain.com with your actual domain name and mailserver.com with your actual mail server. If you do not have a separate mail server this should be your web hosting IP address similar to how the above ‘A record’ was configured.
Now click continue and we will proceed to update your nameservers. You should see something like this on the next page:
This is asking you to change the nameservers at your domain registrar. Keep record of the Cloudflare nameservers.
Head back to NameSilo and login to your account.
Find the link on NameSilo to manage your domains. You should see your domain listed along with its current nameservers:
Select the checkbox next to your domain and click ‘Change Nameservers.’
This is where you will enter the nameservers you intend to use. If you’re using Cloudflare, this will be the two nameservers listed under ‘add Cloudflare’s nameservers’ in the previous section.
If you chose not to use Cloudflare you will simply enter the nameservers provided by the email from your web host here.
The Domain Name System can take up to 48 hours to take effect once you have changed your nameservers. This is because the changes have to propagate through the network and although the Internet is fast, it’s quite large.
Additional Cloudflare settings.
Cloudflare’s free plan is pretty great. To get the most out of it, there are a few settings worth tweaking.
Conveniently, their Quick Start Guide can help you enable these without fumbling through the settings.
Here are those options and where you would find them normally:
Notice that we enabled HTTPS which might have you thinking I’m about to recommend an SSL/TLS certificate. These are the certificates that are necessary to have an https address with encryption and security enabled for your website.
Normally I would recommend buying one but Cloudflare is convenient enough to provide free SSL certificates.
Click on the ‘SSL/TLS’ settings once more and select ‘Full (strict)’ as your encryption mode.
Now navigate under ‘Origin Server’ within the SSL/TLS tab.
Select ‘Create Certificate’ as shown:
On the next page, select ‘Generate private key and CSR with Cloudflare’ for the first option:
For the list of hostnames, enter a wildcard to cover any subdomains and your bare domain name like so:
First hostname to enter: *.yourdomain.com Second hostname to enter: yourdomain.com
Under ‘Certificate Validity’ you should select ’15 years’ and click ‘Create’.
You should now see the following:
We haven’t been there in some time but the last step will be to head back to our web hosting’s cPanel and provide this certificate and private key.
Configuring SSL for your domain.
In the previous section we created a free SSL certificate using Cloudflare. If you decided not to use Cloudflare it’s understandable if you’re having second thoughts. Feel free to backtrack and incorporate Cloudflare into your setup.
Alternatively, you can purchase an SSL certificate from a provider. These can get pretty costly but are more robust than the certificate you receive from Cloudflare.
Do note that SSL is not required just recommended. Search engines and customers often prefer websites with security.
Now that you have your certificate and private key, open up the tab for your web hosting’s cPanel account again.
Under ‘Security’ find ‘SSL/TLS’ and click the link:
In the bottom right, you should see a link to ‘Manage SSL sites’ that allows you to install and manage certificates. Click it.
Once you are on the next page, scroll to the bottom.
- Select your domain from the list under ‘Domain.’
- Copy and enter your certificate within the textbox under ‘Certificate.’
- Copy and enter the private key within the textbox under ‘Private Key.’
- You can leave the textbox for ‘Certificate Authority Bundle’ empty.
Click ‘Install Certificate’ and you’re all done!
If you’re using Cloudflare the certificate is good for 15 years and will auto-renew.
Managing your website’s files.
Now that the domain, DNS and SSL configuration is out of the way we can discuss managing your files.
In cPanel, you will find ‘MySQL Databases’ under the ‘Databases’ section:
This is where you can create new databases and database users. A user must be assigned a username and password for access.
Should you be transferring a website you can use the ‘phpMyAdmin’ tool to import SQL databases. This is also where you will find the export options should you need to transfer a website to another server.
Note: the file format for imports and exports is .sql. Compressed files will need to end in .sql.zip.
You can also find ‘File Manager’ under the ‘Files’ section:
File Manager is a convenient way to upload and edit files. You can even upload a .zip and easily unzip using the interface. Moving files around is also very easy.
If the File Manager just isn’t working for you there is also FTP or File Transfer Protocol. This is useful for uploading or transferring large numbers of files.
When you purchased your server the web host should have provided the FTP details in the welcome email. This is typically your server IP and a username and password. It is possible your FTP account wasn’t setup initially and you will need to do so in cPanel.
Note: you will also need to download an FTP client such as FileZilla in order to connect via FTP.
This guide covered the essentials including what type of web hosting is best for your business, how to setup cPanel and how to get the most out of Cloudflare’s free DNS and SSL.
Should you have other questions on web hosting or website management be sure to explore our other guides.