How to Host Your Own Website – A Complete Guide
Web hosting guide last updated: January 2020
Hosting your own website is easy, and something that anyone can learn to do! If it’s something you’ve never done before, that’s ok—this guide will walk you through all of the steps required to get your site up and running on your own server!
There are a lot of benefits to hosting your own website. First of all, you control the server, so you can make any customizations you’d like, and set up things the way you want, not the way someone else does. If you want to run any custom software, that’s another great thing about running your own website on a server that you control. Flexibility with email is another great thing about hosting your own site. Really, the positives are endless and it’s a good thing to do if you’re at all serious about your website.
A really quick note—if you end up purchasing hosting via a link on our page, we might (not guaranteed at all) receive a tiny commission. This helps keep the site running and allows us to create content free of charge!
As mentioned above, hosting a site on a server that you own is pretty easy, but it there is a process that needs to be followed in order to get everything running smoothly.
The basic steps to hosting your own site are:
- Buy hosting
- Back up your old site (if you’re moving an existing site)
- Set up you new server
- Transfer any files
- Install software
- Point your domain name to the new server
- Double check that everything is working properly
Essentially, you need to have a hosting account, then back up any old files (if you’re moving a site), then configure your server and install any necessary software. After that, you can point your domain to the new server, make sure everything’s working properly, and start rolling with your new site!
But obviously each step is a bit more complicated than that, so let’s go over each one in detail.
Step 1: Buy Your Hosting
Obviously if you’re trying to host your own website, you’re going to need hosting. There are a lot of great options out there, and what’s best really depends on your needs.
If you’ve got a big site that gets thousands of visitors per day, you may want to look at a VPS or dedicated server. If you’ve got a small site that’s lucky to get a hundred visitors per day, you’re probably going to be ok with shared hosting. Alternatively, if you’re hosting a WordPress site, you’ll need to make sure you either have WordPress hosting or a company that offers support for WordPress.
There are a variety of options for hosting depending upon your needs, and what type of site you’re using. Here are our recommendations:
Best All-Around Host for Price and Value: Bluehost
Seriously, Bluehost can’t be beat for price and value, and they’re our favorite all-around host. They can host WordPress sites, large sites, small sites—just about anything that you’d need or want to host.
On top of that, we have an exclusive deal with them, which means that you can get hosting for $2.95/month, and that’s honestly the cheapest you’ll find anywhere on the internet. Our Bluehost coupon code is as good as it gets! They also have a 30-day money back guarantee, so there’s really no reason not to try them out.
Best Top-Tier Host: SiteGround
If you’re looking for a few more bells and whistles, you may be interested in trying SiteGround. Their support is amazing, their servers are fast, and they’re one of the best options around. Bluehost is a little but cheaper, but SiteGround definitely has more features like supercaching (which speeds up your website) and more.
SiteGround also has the best support we’ve ever used, although you’ll pay a little more for this as well. We still think Bluehost is the best price-to-value ratio, but SiteGround is also an excellent option.
Step 2: Back Up Your Old Site (If Applicable)
This step may not apply to everyone—for example, if you’ve never had a website before, then you obviously won’t have anything to back up. However, if you have do have a website, you’ll need to back it up.
Depending upon what kind of site you have, you’ll need to go in one direction or the other.
For these sites, you’ll need to export the file structure for the public or web directory into a backup folder. Then later, you can zip this folder and upload it to your new server.
CMS-Based Websites (Like WordPress)
Content Management Systems (CMS) based sites typically consist of two different things working together: a file system and a database. If you’re moving one of these sites, you’ll need to back up the file system and the database as well.
Once you’ve got everything backed up (or if you’re building a new site and don’t need to), you can move onto the next step.
Step 3: Set Up Your New Server
When you sign up for web hosting, you’ll typically receive a welcome email that has all of the details about your web server that you need to know. It’s a good idea to save this information in a secure place, and make sure that you keep it on a computer that is well-protected from viruses and other attacks.
What you do next to set up your server really depends on the type of site you have and your personal preferences. Here are some things that are commonly done when setting up a web server for the first time.
If you’re getting started with your own server and hosting your own site, you’ll most likely want to set up email. This way, you can have a custom email system on your own domain name, which can be very convenient.
Set Up the Security Features on Your Server
Things like firewalls and permissions are important to configure on a new web server, as well as user accounts if you’ve got other people who need access.
Set Up Notifications
Whether it’s something like an over-bandwidth notification or some other type of alert, you need to make sure that you set up alerts on a web server so you can be notified of potential problems and changes that might happen.
Enable Uptime Monitoring
What happens if your server goes down? How would you know? You might not until people who visit your website start to complain, so it’s a good idea to enable (if your server has it as a feature) uptime monitoring to make sure you get notified if your server is ever offline. If your server doesn’t offer uptime monitoring, there are services like Dotcom-Monitor or Pingdom that can help you with this.
Change the Default Passwords
Typically when your server is first instantiated, you’ll get a default password and login to various aspects of the server. It’s always a good idea to change these right away and record the new login credentials somewhere safe.
If you have any problems or trouble setting up your server, then you should open a ticket with support or contact them via phone or chat (whatever is easiest) and let them know. Good hosting companies like Bluehost and SiteGround have excellent support and they’re always there to help.
Step 4: Transfer Your Old Files to the New Server (If Applicable)
This step may not apply to you if you’re building a new website from scratch, but if you’re moving an old site to a new server, now is generally the time to transfer the files from the old website to the new hosting server.
Transferring an HTML Site
If you’re moving an HTML site, you can just zip the files and upload them to the root directory and then unzip them—that’s really most of what needs to be done with an HTML site.
Transferring a WordPress Site
A WordPress site is a bit more complicated to move, but generally speaking you’ll need to do the following:
- Create a database on your new web server and a user for that database
- Add the user to the database with all permissions
- Import the old database SQL file into the into the new database
- Change the information in the wp-config.php file to match the new database information
- Test your site by locally editing your host file to temporarily point to the new server
Those are the basic steps for moving a WordPress site, but once you get the hang of it, you can generally do it in less than 10 minutes; it’s not a difficult thing to do.
Testing Your Website Locally
Before you change the DNS and make your transferred site live for the world to see, you’ll want to edit your host file on your computer to point to the IP of your server so you can test your website locally.
You could simply “flip the switch” on the DNS and make your site live, but if there are any problems this isn’t a good idea. Testing your site locally is a great way to make sure everything is ok before you go live with your website.
Step 5: Install/Setup Your Website Software (If Applicable)
If you’re setting up a new website and not moving an existing website, now’s the time install that software.
HTML Site Setup
For an HTML site, you really don’t need to install any software. You just need an index.html file so your domain will resolve properly. Another good idea is to have a 404.html website file so that if a page can’t be found, this page can be displayed in its place.
Installing WordPress is a bit more complicated that setting up an HTML site, but newer technologies like one-click installers have made it much easier. If you’re using Bluehost or SiteGround, they both have one-click installers in cPanel where you can simply click a button and choose a username and password, and the software will install WordPress for you in a few minutes. This is by far the easiest way to install WordPress and it’s what we recommend.
If you’re having trouble figuring out how to install WordPress, the best thing you can do is contact support and they’ll be able to walk you through it or just set it up for you.
Step 6: Point Your Domain Name at the New Server
Once your site is fully-transferred to your server and it appears to be working properly when you check locally, or your new site is working (if you don’t have an older site to transfer), it’s time to point your domain name at your web server. If your site is brand new, you technically could’ve done this in the last step, but either way it’s not a bad idea to wait until now.
To switch the DNS, you simply login to your domain name registrar (we recommend Namecheap) where your domain name is registered, and navigate to the DNS settings page where you can change nameservers.
Once on this page, you update the nameservers to reflect the information listed in your welcome email. For example, if you have Bluehost, they may have told you in your welcome email that your nameservers are:
You’d then update these entries on your domain, click save, and then give it about 30-60 minutes to make sure everything is working properly. Yes, DNS changes can technically take 24-48 hours to fully propagate, but in all reality it typically takes an hour or less at a good registrar.
To test that your site is running off of the new server, you can ping that site from the command prompt on your computer and note the IP address or do a quick nslookup in command prompt as well. Once your site is live, you should see the values (IP and nameservers) from your new server being returned when you query the records. You can also use a site like Dotcom-Tools.com to get the full DNS and IP information of your site to ensure that it’s propagated. Another great site for this is IntoDNS.com.
Step 7: Check to Make Sure Your New Site is Working Properly
Once your site is appears to be propagated and the DNS is updated, you’ll want to make sure everything is working properly. You should make sure that:
There are no 404/error pages
That WordPress loads properly without error messages
Images and other parts of the site load properly
The site load time is quick and doesn’t lag
All of the menus and navigational links work properly
Once you’ve gone through this checklist and all these things appear to be in place, then congratulations—you’ve successfully hosted your own website!