How to Guide

How to Host Your Own Website from Home

Have you ever wondered whether it’s possible to host a website for free? Did you know you can turn your home computer into a WAMP server (Windows Operating System)?


We’re here to show you exactly how you can do so – our step by step guide will help you set up your own server so that you can host your own website on Windows WAMP.

I often get questions about how to host a website from home…It’s easily possible but there are many elements (and costs) involved.

If you’re short on time then check out SiteGround (who I recommended to anyone starting out).

How to Host a Website Using WAMP (Using Windows)

How to install WAMP

There are quite a few different WAMP programs available, but for the purpose of this guide, we’re going to use WampServer which is completely free to download.

downloads

  1. Make sure you download the latest version of WampServer
  2. Select download and start the installation
  3. Navigate through the installation steps, keeping all of the default settings where prompted

Bear in mind that WAMP Server is quite a large program, so it may take some time to install and extract the necessary files:

wamp setup

You’ll be prompted to choose your default browser which WAMP will automatically locate for you:

iexplore.exe

If you want to choose another browser, click ‘Yes’ and locate it on your PC. The same prompt will apply for your default Text Editor which usually defaults to Notepad (again, you can change this if you want to).

file manager

You may be asked by Windows whether or not you want to allow Apache through your Windows Firewall; make sure you add a security exception for Apache via your private and public networks:

windows firewall

How to use WAMP

Once you’ve installed WAMP, a directory on your computer will have been created; this will most likely (if you didn’t change the default settings) be located at c:\wamp\www

After you’ve located your WAMP directory, you can create sub-directories, such as, Projects, which can contain HTML or PHP files within them.

Once you’ve launched WampServer, click on the icon in your system tray by left clicking on it to bring up the following menu:

wamp

Select ‘Localhost’ – this will launch a webpage in your chosen internet browser which looks like this:

wamp configuration

You can also navigate directly to this page by typing in the following into any web browser: http://localhost/

How to create a HTML/PHP page

Now that WampServer has been installed, and it runs correctly, we can test it out! Using the same menu (by clicking on the WampServer icon in your system tray), select ‘www directory’ like this:

wamp

Using your text editor, create a new file and enter the following line of code, save the file in the www directory, and ensure the file extension is .php:

<title>PHP Test</title>

info.php

Navigate to the page you’ve just created by inputting the following into your browser (http://localhost/info.php) which should look something like this:

localhost

You can then repeat the steps above to create any HTML or PHP document within your www directory – pretty cool right?

How to configure MySQL

If your website relies on databases, you’ll need to configure your MySQL database. If you’re using WordPress or a similar CMS platform to create your website, then the databases should all be automatically set up for you.

Click on the WampServer icon in your system tray and select the ‘phpMyAdmin’ option which will open in a new browser window for you:

wamp

The default username should be root and the password field can be left blank unless you wish to change it. Once you’ve logged in, you’ll then have access to create new databases and change existing databases as/when you need to:

phpmyadmin

Making your website public (live)

Once you’ve created your website and setup your databases, you’re going to want to make it live so that the world can see it.

Go back to the WampServer menu and select ‘Apache’:

wamp

You’ll need to change the configuration settings to make your website public, as by default, they are set to private. Locate the Apache configuration file (httpd.conf), right click on it, and edit with your text editor.

Change the existing settings which should look like this:

query 1

And amend them to look like this:

query 2

Once you’ve performed the above steps, go back to the WampServer menu and select ‘Restart All Services’.

How to Host a Website (on a Linux Machine)

As well as there being a way to host your website from home on your Windows machine, you can also do the same on Linux. So, let’s take a look at how we can install Apache, PHP, and MySQL on your Linux system (LAMP).

How to install LAMP

Start by launching your Linux terminal:

terminal

Then run the following command in the terminal:

install apache

When you’re installing your LAMP software, you may be asked to confirm your MySQL password for the root user, so make sure you have this to hand in order to proceed.

If you make any changes to your Apache configuration, you’ll need to enter the following command:

restart apache

Alternatively you can amend the configuration through your local .htaccess file.

How to check PHP

To ensure that your PHP server is working correctly, create a test version of your PHP file in your web server’s root directory like so:

info.php

Now launch your PHP test page by visiting http://localhost/info.php

This will display your PHP version, configs, and any installed modules you have. You can install more PHP modules using Ubuntu. If you’re not sure which modules you can install, you can download the graphical package manager here.

How to check MySQL

As we said previously, some (well, most) CMS platforms like WordPress use MySQL databases, so you’ll need to check that your MySQL installation works as intended in order to proceed.

Launch the terminal and check your MySQL installation by typing ‘service mysql status’. An example can be seen below:

mysql status

If for any reason the above does not appear for you, you can restart the MySQL server by typing ‘sudo service mysql restart’.

Once your MySQL command line is available, you can manage your databases. Use the admin information you entered earlier when you installed MySQL:

mysql root

Now you’re free to create your databases, or do anything you want with MySQL:

create db

Most of the time your databases will be automatically created by your CMS platform, but if you want to manually make any changes, you’ll need MySQL.

If you’re not 100% comfortable with databases, you can use PHPMyAdmin which is user-friendly and allows you to manage your databases hassle free.

Further information on setting up your LAMP server can be found here.

Configuring your Domain Name (DNS)

If you’ve purchased a domain name, e.g. www.mywebsite.com then you’ll want to link that to your hosting, as you normally would with a web hosting provider, to your domain name provider.

Your domain’s DNS will have an A record pointing to an IP address – if you’re not sure how to access this, contact your domain name provider for further information (this is where you purchased your domain name from).

Once your DNS records have been setup, you can query your DNS by using a tool such as dig:

dig

Configuring Apache

Once you’ve configured your domain name, you need to tell Apache about it in order to accept requests, and which directory to use. Before we begin, we need to setup the directory for your domain name, create a test index.html file, and setup permissions:

apache

In order to be able to see the page created, you’ll need to setup a virtual host file:

sudo cp and nano

Then edit the file to display the following (replace the examples with your actual information):

server admin

You’ll then need to tell Apache to reload in order to see your changes, so reconfigure it by using the following:

reload

Navigate to your local hosts file (/etc/hosts) and add a line with your IP address and domain name from earlier – remember to correctly enter your details otherwise the server will not be able to connect:

host

Now you can go to your domain name, e.g. www.mywebsite.com and see your website live on the world wide web!

Pros and Cons to hosting your own website

Although it’s entirely possible, as we’ve seen, to host your own website without the use of a web hosting company, we wanted to cover the pros and cons of doing so.

Pros:

  • You’re completely in control of your server; you don’t have to share your server space with anyone at all, so your website’s performance and uptime is almost entirely within your control
  • Configuring your own server could be useful for the future. Even if you don’t use the server to host your own website, and you did it just for fun, the learning process could lead to a new career

Cons:

  • Unless your internet service provider (ISP) is running the same speeds as a dedicated server (unlikely), you’ll probably experience slow performance and connection speeds. If you’re uploading a lot of files to your website, depending on your upload speed, it could take a very long time to get your files live
  • Reliability is in some ways a pro, but more of a con. Unless you can guarantee that your computer won’t turn off, restart, or be prompted to perform a windows update (which you can’t guarantee), then your server will experience a period of downtime
  • As well as maintaining your own software and hardware, your computer will need to remain on at all times, so could end up costing you a small fortune

Options similar to hosting your website from home

If you’re not convinced that the pros outweigh the cons, when hosting a website from your home, you may be surprised that there are alternatives that are just as good. The main reason why people would want to host their own website from home is to have full control of their server, understandably. But as we’ve seen, in the long-run this can become very costly, time consuming, and isn’t always reliable. For beginners to web hosting, hosting your website from home is not recommended.

Web hosts now offer many different hosting packages that aren’t just your normal shared hosting, so you can still pay an affordable amount without losing too much of the control you’re after. For example, you could look at cloud hosting for fast speeds and high reliability, or dedicated servers that give you full control, but are more on the pricey side.

Conclusion

This guide provides in-depth step by step instructions on how to setup your own website hosting from home, using Windows or Linux – it’s possible, but not practical. As we said earlier, if you’re looking for a project, or simply want to learn more about the possibilities of website hosting from home, then it’s a great opportunity to sink your teeth into. However, the practicalities of doing so really don’t outweigh the cons in our opinion.

Firstly, you’re going to require a little technical know-how in order to begin the process; there’s lots of technical jargon that probably won’t make sense unless you have some background knowledge. Secondly, if you’re looking to run a popular high-traffic generating website, or even a business website, hosting it from home is going to be expensive. Your website will need to be online constantly, which means that your home computer will need to be both capable (performance and hardware wise), and never receive any updates to prompt a restart.

Windows updates can be a pain, however, they are there for a reason, for your own security. If you don’t update your operating system, you could be opening a big can of worms that could ultimately take your website and computer offline for good.

When you can get web hosting from as little as £1.50 per month it seems (if you don’t mind us saying) silly to do it from home. Web hosting providers are there for a reason; to provide a service for you, so you don’t have to go through the hassle. Perhaps in the future there will be a better way of hosting your website from home, but for now we would recommend not to – though it’s pretty fun to give it a shot!

Still, don’t have a clue as to how to host a website? Well, you can always pick one of our best performing hosting companies. 

1.

SiteGround

Best Overall Web Host (£2.95/Month)

  • Server Response Time:  487ms
  • Live Chat Waiting Time: ~2 Seconds
  • Uptime: 100% (past 30 days)
  • Free SSL certificate
  • Cost: £2.95/Month

VISIT SITEGROUND.COM (£2.95/MONTH)

(Read our in depth review on why SiteGround is our #1 choice)


2.

iPage

Best Budget Web Host (£1.50/Month)

  • Server Response Time: 596ms
  • Live Chat Waiting Time: ~3 Seconds
  • Uptime: 99.72% (past 30 days)
  • Cost: £1.50/Month

VISIT IPAGE.COM (£1.50/MONTH)

(Read our in depth review on why iPage is rated #2)


3.

BlueHost

Best WordPress Hosting (£2.25/Month)

  • Server Response Time: 512ms
  • Live Chat Waiting Time: ~7 seconds
  • Uptime: 100% (past 30 days)
  • Cost: £2.25/Month

VISIT BLUEHOST.COM (£2.25/MONTH)

(Read our in depth review on why BlueHost is rated #3)


4.

InMotion

Best Business Hosting (£4.50/Month)

  • Server Response Time: 553ms
  • Live Chat Waiting Time: ~1min
  • Uptime: 100% (past 30 days)
  • Cost: £4.50/Month

VISIT INMOTIONHOSTING.COM (£4.50/MONTH)

(Read our in depth review on why In Motion is rated #4)


5.

HostGator

Best Hosting for Beginners (£2.00/Month)

  • Server Response Time: 512ms
  • Live Chat Waiting Time: ~3min
  • Uptime: 99.91% (past 30 days)
  • Cost: £2.25/Month

VISIT HOSTGATOR.COM (£2.00/MONTH)

(Read our in depth review on why HostGator is rated #5)


6.

FatCow

Best Hosting for Blogging (£2.25/Month)

  • Server Response Time: 660ms
  • Live Chat Waiting Time: ~6min
  • Uptime: 99.0% (past 30 days)
  • Cost: £2.25/Month

VISIT FATCOW.COM (£2.25/MONTH)

(Read our in depth review on why FatCow is rated #6)


7.

GreenGeeks

Best Eco Web Host (£2.25/Month)

  • Server Response Time: 477ms
  • Live Chat Waiting Time: ~1min
  • Uptime: 100% (past 30 days)
  • Cost: £2.25/Month

VISIT GREENGEEKS.COM (£2.25/MONTH)

(Read our in depth review on why GreenGeeks is rated #7)


8.

1&1

Best Domain Hosting (£3.99/Month)

  • Server Response Time: 477ms
  • Live Chat Waiting Time: ~1min
  • Uptime: 100% (past 30 days)
  • Cost: £3.99/Month
 

VISIT 1&1.COM (£3.99/MONTH)

(Read our in depth review on why 1&1 is rated #8)


9.

HostRocket

Best SSD Hosting (£4.50/Month)

  • Server Response Time: 477ms
  • Live Chat Waiting Time: ~1min
  • Uptime: 100% (past 30 days)
  • Cost: £4.50/Month

VISIT HOSTROCKET.COM (£4.50/MONTH)

(Read our in depth review on why HostRocket is rated #9)


10.

WPEngine

Best Premium Hosting (£22.00/Month)

  • Server Response Time: 477ms
  • Live Chat Waiting Time: ~1min
  • Uptime: 100% (past 30 days)
  • Cost: £22.00/Month

VISIT WPENGINE.COM (£22.00/MONTH)

(Read our in depth review on why WP Engine is rated #10)


View Comments
There are currently no comments.