How to Host Your Own Website from Home (Plus 5 Pros & Cons)

How to Host Your Own Website from Home (Plus 5 Pros & Cons)

Learning how to host your own website sounds like a daunting task, no matter if it’s your first site or 100th. Fortunately, you have tons of options when figuring out where to house your burgeoning online presence.

Just like your choices for making a website range from super-simple site builders to demanding hand-coding, hosting a website can be as easy — or as difficult — as you wish. We much prefer coupling performance and security upgrades with peace of mind by finding a respected hosting provider, but the more adventurous may opt to run a server from home.

Hosting your own website still has some serious obstacles, including dynamic IP addresses, bandwidth constraints, and electricity costs, but we can walk you through how to set up a server for Windows- or Linux-based sites. Up first, take a look at our favorite hosting services, or skip ahead using the links below:

Why You Should Buy Web Hosting

Instead of trying to host a website locally, you can go through a hosting provider and still have the same control over managing the servers yourself. Shared hosting is the best for beginners and those who need affordable solutions, while virtual and dedicated server options allocate more server resources and fine-grain control over your web presence.

Best Cheap (Shared) Hosting

For those looking for the easiest way to host your own website, look no further than the affordable shared hosting providers listed below. Don’t let the low prices fool you — these companies provide premium services with personable tech support available 24/7. Shared computing resources mean you sacrifice a little bit of flexibility, but you should find all your software needs met with easy one-click installations and automatic SSL certificates. Take a look at our reviews of the best that shared hosting has to offer:

InterServer.net

InterServer review

Monthly Starting Price $0.01

  • $0.01 for the first month, then $5 monthly after
  • NO annual contracts and NO sudden price increases
  • Unlimited storage space, data transfers, and email
  • New domain is $11 with 1-month plan ($1.99 otherwise)
  • 99.9% uptime and price-lock guarantee
  • Get started on InterServer now.
CHEAP
RATING
4.9
★★★★★
InterServer: Our Expert's Review
Setup time: 4 minutes
Laura Bernheim (HostingAdvice.com): It's hard to argue with a shared hosting plan that includes unlimited storage, bandwidth, websites, and email — but shared hosting is a crowded industry that turns on name recognition, reputation, and bargain-basement prices. InterServer outperforms some of... Go to full review »
Money Back Guarantee Disk Space Domain Name Cheap Hosting Plans
30 days Unlimited New or Transfer www.interserver.net/shared

Hostinger.com

Hostinger review

Monthly Starting Price $2.15

  • Unlimited everything, from bandwidth to databases
  • FREE site builder & WordPress performance upgrades
  • FREE daily or weekly backups
  • 90+ auto-installation scripts and custom control panel
  • SSH access & SSL certificates
  • Get started on Hostinger now.
CHEAP
RATING
4.8
★★★★★
Hostinger: Our Expert's Review
Setup time: 3 minutes
Laura Bernheim (HostingAdvice.com): As the shared hosting market becomes increasingly saturated, unlimited storage, bandwidth, and email accounts have become surprisingly average. Hostinger, however, extends the routine, expected metrics to greater lengths — the number of websites, databases,... Go to full review »
Money Back Guarantee Disk Space Domain Name Cheap Hosting Plans
30 days 10 GB SSD - 30 GB SSD FREE (1 year) www.hostinger.com/shared

Bluehost.com

Bluehost review

Monthly Starting Price $2.95

  • Known for performance at a low price
  • Endorsed by WordPress.org team
  • FREE Weebly site builder
  • FREE Cloudflare CDN
  • Get 63% off today (was $7.99/month)
  • Get started on Bluehost now.
CHEAP
RATING
4.8
★★★★★
Bluehost: Our Expert's Review
Setup time: 4 minutes
Ryan Frankel (HostingAdvice.com): If you’re looking for an affordable host, Bluehost is a solid, reputable choice; The company's low costs, coupled with its supremacy in the shared hosting arena, is what makes this provider such a valuable deal. The Bluehost name is listed toward the top of... Go to full review »
Money Back Guarantee Disk Space Domain Name Cheap Hosting Plans
30 days 50 GB - Unlimited FREE (1 year) www.bluehost.com/shared

More shared hosting providers »

Best VPS Hosting

The primary advantage with a VPS, or virtual private server, is scalability — and the fact that you can scale up resources only as you need them, making it cost-efficient, too. You get maximum flexibility, whether you choose a managed service or opt to handle server configurations and maintenance yourself. Check out reviews of the VPS providers we recommend if this alternative sounds up your alley:

1.
InterServer.net

InterServer review

Monthly Starting Price $0.01

  • $0.01 for the first month using code HOSTINGADV
  • Then $6 monthly with no contracts, no price changes
  • Latest versions of PHP, MySQL, Perl, Python, and Ruby
  • 7 operating system options for Linux or Windows users
  • Full root access and choice of datacenter included
  • Get started on InterServer now.
VPS
RATING
4.9
★★★★★
InterServer: Our Expert's Review
Setup time: 6 minutes
Laura Bernheim (HostingAdvice.com): InterServer's on-site datacenter and hands-on involvement with configuring and provisioning virtual private servers give customers a level of flexibility not seen with many other hosting providers. InterServer rations VPS and cloud resources through slices.... Go to full review »
Money Back Guarantee Disk Space Domain Name VPS Hosting Plans
N/A 30 GB SSD - 480 GB SSD New or Transfer www.interserver.net/vps

2.
Hostwinds.com

Hostwinds review

Monthly Starting Price $5.17

  • Managed or unmanaged virtual servers available in Windows or Linux
  • Cloud hosting instances with hourly or monthly billing
  • Instant upgrades without downtime
  • FREE around-the-clock monitoring
  • Automatic nightly backups available
  • Get started on Hostwinds now.
VPS
RATING
4.9
★★★★★
Hostwinds: Our Expert's Review
Setup time: 6 minutes
Laura Bernheim (HostingAdvice.com): Does any hosting provider have more virtual private server packages than Hostwinds? The company offers 10 configurations — and that's just for managed Linux server partitions. Hostwinds provides 10 additional plans each for managed Windows VPS and unmanaged... Go to full review »
Money Back Guarantee Disk Space Domain Name VPS Hosting Plans
N/A 30 GB - 750 GB SSD New or Transfer www.hostwinds.com/vps

3.
LiquidWeb.com

Liquid Web review

Monthly Starting Price $19.99

  • High-speed hosting that's faster than AWS, Rackspace, and Digital Ocean
  • FREE backups, CDN, root access, and DDoS protection
  • Up to 16 processors with all-SSD storage
  • Choice between cPanel or Plesk Onyx control panel
  • Real-time monitoring and 100% uptime guarantee
  • Get started on Liquid Web now.
VPS
RATING
4.8
★★★★★
Liquid Web: Our Expert's Review
Setup time: 7 minutes
Alexandra Leslie (HostingAdvice.com): It's no secret by now that Liquid Web is known for best-in-class technology and reliability that exceeds expectations. The company's cloud VPS environments embody that reputation to its fullest — including managed WordPress and WooCommerce products.Liquid... Go to full review »
Money Back Guarantee Disk Space Domain Name VPS Hosting Plans
N/A 30 GB SSD - 150 GB SSD New or Transfer www.liquidweb.com/vps

More VPS hosting providers »

Best Dedicated Servers

The perks to dedicated hosting include as much RAM and processing power as you want, complete isolation so a neighboring website’s demise won’t bring down your own, and the best uptime and performance stats money can buy — and we’re not talking a boatload of money. While dedicated servers are the priciest of the server types, they’re a dream when compared to the costs and headaches of hosting a website yourself. Below are a few top-recommended dedicated server plans:

1.
LiquidWeb.com

Liquid Web review

Monthly Starting Price $67.58

  • 100% network and power uptime guarantees
  • Custom configurations, SSDs, and instant provisioning
  • Auto-migrations, backups, and real-time monitoring
  • Block/object storage and load balancer add-ons
  • Our visitors pay $67.58/month! (usually $109/month)
  • Get started on Liquid Web now.
DEDICATED
RATING
4.9
★★★★★
Liquid Web: Our Expert's Review
Setup time: 8 minutes
Alexandra Leslie (HostingAdvice.com): Liquid Web's strong suit is managed dedicated server hosting. The company owns and operates five state-of-the-art datacenters in the US and Europe works tirelessly to build and maintain custom solutions for added performance and security.Liquid Web offers... Go to full review »
Money Back Guarantee Disk Space Domain Name Dedicated Hosting Plans
N/A 500 GB SSD - 5 TB New or Transfer www.liquidweb.com/dedicated

2.
InterServer.net

InterServer review

Monthly Starting Price $50.00

  • 24/7 uptime monitoring and privately owned datacenter
  • Up to 24 cores, 256GB of RAM, and 100TB of bandwidth
  • Choose among 12 operating systems and 3 control panels
  • Custom configurations built and maintained in-house
  • Price-lock guarantee without contracts
  • Get started on InterServer now.
DEDICATED
RATING
4.8
★★★★★
InterServer: Our Expert's Review
Setup time: 8 minutes
Laura Bernheim (HostingAdvice.com): You know a hosting company means business when it owns and operates its own datacenters. Because InterServer employees build and manage servers in the same building as company headquarters, dedicated hosting customers get the utmost in flexibility, support,... Go to full review »
Money Back Guarantee Disk Space Domain Name Dedicated Hosting Plans
N/A 250 GB - 12 TB New or Transfer www.interserver.com/dedicated

3.
A2Hosting.com

A2 Hosting review

Monthly Starting Price $99.59

  • Root access available with 3 levels of server management
  • Expertly-tuned servers deployed in 30 minutes or less
  • Choose from 4 datacenters spread across 3 continents
  • FREE redundant SSD storage in RAID-1 arrays
  • Choice of 13 Linux operating systems
  • Get started on A2 Hosting now.
DEDICATED
RATING
4.8
★★★★★
A2 Hosting: Our Expert's Review
Setup time: 7 minutes
Alexandra Leslie (HostingAdvice.com): Whether you're looking for managed or self-managed hosting, A2 Hosting offers three extremely reliable dedicated server plans to meet your needs, depending on your levels of comfort and experience.With A2 Hosting's Unmanaged Flex Dedicated Server plan, users... Go to full review »
Money Back Guarantee Disk Space Domain Name Dedicated Hosting Plans
30 days 256 GB SSD - 8 TB HDD New or Transfer www.a2hosting.com/dedicated

More dedicated server providers »

How to Host Your Own Server

For the more adventurous tech nerds out there, and we mean that endearingly, there are few greater allures than running your own machine. Cut out the third-party hosting providers

Windows: How to Host Your Own Website Using Your PC as a WAMP Server

First, let’s try hosting a website using your personal computer with the Windows operating system. Less than one-third of all websites use Windows, meaning your hosting options tend to be a little more limited than those of Linux developers. But if ASP.NET and C are what you code in, then Windows is the way to go.

Step 1: Getting Started With WAMP

To make this super easy, we’ll use a WAMP installation program (of which there are several) called WampServer. This will cover your Windows, Apache, MySQL, and PHP. You could also opt to install each package manually, but this process requires much more work and is error-prone.

WampServer screenshot

WampServer is one of several environments available to create Apache, MySQL, and PHP applications on Windows.

First, download the 32-bit or 64-bit WAMP-binary here, follow the on-screen instructions, and launch WampServer when it’s done. (Note: There may be a port 80 conflict with your Skype software, but there’s a fix for that.)

Upon installation, a www directory will be created automatically. You’ll likely find it here: c:\wamp\www

From that directory, you can create subdirectories (called “projects” in WampServer), and put any HTML or PHP files inside those subdirectories. If you click on the localhost link in the WampSever menu or open your internet browser with the URL http://localhost, you should be shown the main screen of WampServer.

Step 2: Creating an HTML Page and Configuring MySQL

To test our WampServer, we can put an example file called “info.php” into our www-directory. Go directly to this directory by clicking “www directory” in the WampServer menu. From there, create a new file with the sample code like <title>PHP Test</title> and save it.

Now you can browse to http://localhost/info.php to see the details of your PHP installation. You can create any HTML and PHP file structure to suit your needs.

If you click on the phpMyAdmin menu option, you can start configuring your MySQL databases (which may be needed for a CMS like WordPress). The phpMyAdmin login screen will open in a new browser window. By default, the admin username will be root, and you can leave the password field blank.

From there, you can create new MySQL databases and alter existing ones. Most software, like WordPress, will automatically set up a new database for you, though.

Step 3: Make the Site Public

By default, the Apache configuration file is set to deny any incoming HTTP connections, except in the case of someone coming from the localhost. To make your site publicly accessible, you need to change the Apache configuration file (httpd.conf). You can find and edit this file by going to the WampServer menu, clicking Apache, and selecting httpd.conf. Find these two lines of code:

And replace them with these:

Restart all WampServer services by clicking “Restart All Services” in the menu. The site should now be accessible from beyond your localhost. Confirm there isn’t a PC firewall blocking web requests. You may need to set up port-forwarding on your internet router as well.

Step 4: Using a Domain Name

To use a domain name with your WAMP installation, we’ll need to configure some files first. Let’s assume that our example.com domain has an A record in your DNS with the IP address 100.100.100.100.

First, we need to add the following line to the C:\Windows\system32\drivers\etc\hosts file: 100.100.100.100 example.com

Next, we need to edit httpd.conf again (accessible via the WampServer menu) to add a virtual host. Once that file is open, look for “Virtual hosts,” and uncomment the line after it, like this:

Now we need to add a file manually in “C:\wamp\bin\apache\Apache-VERSION\conf\extra\” (VERSION is your Apache version). Create a file in Notepad, or your text editor of choice. Add the following code, and save the file in that Apache directory.

Click “Restart All Services” in the WampServer menu to activate these changes, and confirm that your site is accessible via its domain name. Voila!

Linux: How to Host Your Own Website on a Linux Machine

Let’s now cover how to set up Apache, MySQL, and PHP on a Linux system. LAMP stacks are far and away the most common Linux hosting configuration but don’t be afraid to play with NGINX or LiteSpeed webservers, either.

Step 1: Install Your Software Using the Terminal

To start our LAMP software install, type the following in the terminal:

During the installation process, you will be asked to enter (and re-enter) a password for the MySQL root user. Technically, it’s not necessary (as it should have been done upon installation), but just to be sure, we will restart the Apache webserver. Any time you change the global configuration of Apache, you need to execute the command below, unless you do the configuration using local .htaccess files.

Step 2: Check PHP

To confirm your PHP server works and see what PHP modules are currently available, you can place a test PHP file in the webserver root directory (/var/www/html/):

We can now visit that PHP page by browsing to http://localhost/info.php.

You should see the currently running PHP version, current configuration, and currently installed modules. Note that you can later install other PHP modules using the Ubuntu package manager, as some PHP applications might require that. To determine which extra modules are available, search within the graphical package manager, or simply use the command line:

Step 3: Check MySQL

As most content management systems, including WordPress, Joomla, and Drupal, use MySQL databases, we should also confirm our installation worked and the software is fully updated. To see if your MySQL installation is working, type service mysql status into the terminal.

If you don’t see that the MySQL Community Server started, you can type sudo service mysql restart to restart the MySQL server. From here, we can use the MySQL command line client to manage databases.

For this, we need to use the admin credentials we typed earlier when MySQL was installed. Reach the login prompt by entering: $ mysql -u root -p

Often times, the CMS will automatically create the database for you, but sometimes you need to do something to the database manually. PHPMyAdmin is a friendly database management tool most web experts will recommend and can be installed with: sudo apt install phpmyadmin

Finally, configure the /etc/phpmyadmin/config.inc.php file using the steps described here.

Step 4: Configure DNS

To use your own domain for your local web server, you’ll need to configure Apache to accept web requests for your domain. First, make sure your domain’s DNS has an A record (which points to a specific IP address) for your domain name, e.g., www.example.com. Your DNS hosting provider will have online tools to correctly set up these DNS records.

Once that is done, you should be able to see something like this using the dig tool. To request the A record for www.example.com, type:

Here, a web link for http://www.example.com would be directed to the server with IP address 100.100.100.100.

Step 5: Configure Apache

Now, we need to tell Apache to accept web requests for our name www.example.com and from what directory to serve content when we get those requests. To do that, we’ll set up a directory for our example.com domain and create an example index.html file before setting some filesystem permissions:

To see this page, the last step is to set up a Virtual Host file for Apache for our domain.

Now edit the file to look like this (the optional comments are not shown here):

Now reload Apache for the changes to take effect:

Edit your local /etc/hosts file by adding a line with your IP address and domain name. Be sure to change the “100.100.100.100” to match the IP address of your domain:

We should now be able to visit our self-hosted site by going to http://www.example.com.

Why We Say Hosting a Website Yourself is a Bad Idea (1 Pro, 4 Cons)

So we’ve covered that it’s doable — but just because you can do something doesn’t mean you should. Let’s look at the pros and cons.

The Upside (1)

The upshot: Setting up your own website and its hosting is not just a highly educational experience but it’s rather fun to execute. It’s a geeky project, sure, but if you’re reading this, you probably fall into the category of folks who would call that fun.

Once you’ve done it, you will have the power to make any system changes you desire. A lot of folks have gone from learning to host a site locally to learning more about programming, web design, and online commerce. The experience is the biggest draw.

The Downsides (4)

Unfortunately, there are still quite significant downsides to self-hosting your website:

  1. You’ll experience slow connections compared to professional hosts. Your ISP upload speed is likely much slower than your download speed, so serving content to your website visitors will be very slow, too.
  2. You have to deal with an ever-changing (dynamic) IP address. Though there are DNS configuration tools to help with this somewhat, this can potentially cause problems at any time.
  3. It costs a lot of electricity and you’ll run into power outages often.
  4. You’re responsible for hardware and software maintenance.

So you can see why we highly encourage investing in a quality web host for your site or application. And we have you covered there, too. Take a look at the types of hosting available to see what hosting options are out there and within your budget.

Learning How to Host a Website From Home Is Fun But Impractical

Though we covered the steps to setting up a good website hosting system on both Windows and Linux, I’d like to remind everyone that self-hosting is ultimately not practical for any serious project. While we can hope this will become more feasible in the future, it’s not the case as of late.

Fun fact: There are folks working on things like IPFS, and several other distributed content-serving ideas, which could allow people to create decentralized content hosting networks — eventually. The internet keeps surprising us, so who knows what the future of hosting holds! Follow us to follow the industry and all its twists and turns.

Alexandra Leslie

Questions or Comments? Ask Alexandra!

Ask a question and Alexandra will respond to you. We strive to provide the best advice on the net and we are here to help you in any way we can.