Due the high cost of webhosting service ($12 per month), so many webmasters or Bloggers have been asking the question; is it really possible to self-host a website or blog on my own personal computer? Why can’t i host my own website or blog files on my laptop?.
Yes it’s possible to self-host your own blog or website on your laptop or PC (provided that you have the technical skills).
The web files of Torrents, Bitcoins and other illegal websites like thepiratebay.org, kickass.to, silkroad.com and the music&software pirating websites, are self hosted by the website owners themselves and not the webhosting companies . No web hosting company can host the files of such websites on their server. In fact if those illegal websites were hosted by the commercial webhosting companies like Hostgator, Bluehost, Dreamhost etc, it would have been very easy for FBI to take down those illegal websites. But due to the fact that the web files of those illegal websites are self-hosted on the personal computer of the website owners, it has been very difficult for governments to take down those websites. For example It took the FBI a very long time to take down silkroad.com; the most successful classified ad website for cocaine and other contrabands.Why? because the guy running the illegal website was self hosting the website files on his Laptop.
I,m not telling you all this things to motivate (inspire) you to set up your own illegal website, but to enable you to clearly see the possibility of self-hosting your own webfiles on your laptop or PC. It isn,t compulsury that you must rent a hosting space from the web hosting companies in order to set up a website (blog).
Nowadays there’s a very narrow difference between a webserver computer and a PC. Most PCs (especially the Gaming Computers) now have a very high processor speed, Large RAM and a Large Hard disk space that also makes them suitable for webhosting.
So if you have a very powerful PC or laptop like the ones mentioned below, you will be able to self-host your website or blog files on your own PC and kiss Hostgator goodbye.
- Alienware Aurora PC
- Cyberpower PC or
- A Powerful Gaming laptop like the Alienware M18X.
With a powerful computer like the ones mentioned above, all you need to do in order to turn your PC in to your own Webserver and start self-hosting your website or blog files, is by install a webserver software and a database application on your PC. I,m going to show how to do that.
Somebody may likely want to ask, If it’s really possible to self-host our website or blog on our PC or personal laptop, why do many bloggers or website owners still prefer to self-host their blog (website) through Hostgator, Bluehost and other webhosting companies?.
8 Barriers to Self-Hosting on a PC.
Many people are unable to self-host their website due lack of technical knowhow. To effectively self-host your website (especially sophisticated websites like YouTube, Facebook and the likes) on your PC, you will need web programming knowledge (coding skills). However nowadays with the availability of a webserver software package like XAMPP and the content management softwares (CMS), even people with little or no programming skills will be able to selfhost websites like blogs, mini forums and small social networking websites on their PC. When we get to the section about how to self-host a WordPress Blog on a PC,you are going to learn about how to do that.
Unaffordability of Web hosting PC
Like i mentioned earlier, to be able to self-host your website or blog on your PC, you will need a very powerful PC like the Gaming PC. Those computers are very expensive. Rather than buying a $2000 laptop just to host a simple blog, they prefer to spend 1 quarter of that money to subscribe to a 3yrs hosting service at the webhosting companies.
24/7 Internet Connection.
To effectively selfhost your website or blog on your PC, your PC (the webserver computer; where your webfiles will be hosted) needs to be constantly connected to the internet 24/7 in order for your website or blog to be accessible at anytime. Everyday and Everytime of the year, you are able to access the Facebook website… this is because the webserver computer hosting the Facebook website files is constantly connected to the internet. So if you are living in a country where internet connection is unstable or too expensive you won,t be able to effectively host your website or blog. For example in 2017 internet connection was shut down for 3 months in the South West and North West region of Cameroon. If you were living in those two regions during that period and hosting your website, there would have been no way for the internet users to visit your website.
To be able to self-host your website or blog files on your PC, the bandwidth of your internet connection also needs to be very large. For those of you who don’t know what Bandwidth means, bandwidth is the passage way through which data or information flows to and from your webserver computer. It should be noted that after you have successfully turn your PC into a webserver and hosted your website (blog), your PC (now webserver) will start receiving numerous request for webpages from internet users around the world. Those requested web pages needs to be served to the specific internet users very quickly and silmutaneously. The bandwidth of your internet connection will determine the amount of data that can be served per second or minute.
Let,s take for example that the allocated bandwidth of your internet connection is just 50 MB and the size of each web page on your website is 1MB. With a 50MB Bandwidth, your webserver will only be able to serve just 50 Webpages per second (50MB per second). If 2,000,000 request for web pages are sent to your webserver per second, your webserver won,t be able to serve all the requested webpages per second (instantly) due to limited bandwidth. Because of that, your web server will take a long time to serve all the requested web pages and your website will take a long time to load on your web visitor’s browser. But if the alocated bandwidth of your internet connection is increased to 2 GB, your webserver will be able to serve more web pages per second or minute. Limited Bandwidth is the reason why you often hear that certain websites have crashed or take a long time to load.
When website owners start receiving lots of web traffic to their website, most web host will ask them to upgrade to a bigger hosting plan. This is because the allocated bandwidth for their hosting plan will no longer be able to support their amount of web traffic and so their website will take a long time to load or even crash if they don,t upgrade. For example when the website of Kylie Jenner,s cosmetic was launched, the website crashed within 20 minutes. This was because the number of request for web pages that was coming to the her web server per second was far greater than her allocated bandwidth. Let me give you an analogy that will enable you to perfectly understand the concept of bandwidth.
Imagine that you are a cafeteria owner with just 2 hands and you have 1000 very hungry and impatient customers standing infront of you with plates in their hands. They all want their breakfast to be served at the same time i.e. very quickly (within 20 seconds) or else they will leave your restaurant, will you be able to do that. Ofcourse no! because you only have two hands and with 2 hands you can only serve just one customer at a time and so it will normally take you a long time to serve all those 2000 customers. But if you had 2000 employees (more bandwidth), you will be able to serve the meals of all those 2000 hungry customers very quickly. Your bandwidth is just like your number of employees and the request for web pages coming to your server are just like the request for food by the hungry and impatient restaurant customers who impatiently want to be served their meals very quickly (within 20 seconds).
Internet users are just like the hungry restaurant customers. They want to be served their meals urgently. Once most Internet users type in your web address in to their web browser (send a request for a web page to your server) they expect to see a webpage appear on their web browser within 20 seconds (similar to the hungry restaurant customers who wants to see their meals on their table within 20 seconds). So your webserver needs to serve web pages very quickly. Your bandwidth will determine how fast your web server will serve the web pages of your website to internet users. The greater the bandwidth of your internet connection, the quicker your webserver will be and the faster your website will load on your web visitors browser.
So bandwidth determines the amount of traffic that a web server can handle. Like i mentioned earlier, bandwidth is the passage way through which data flows to and from your web server computer.
Limitted bandwidth is the greatest barrier to self-hosting on a PC. That,s why i had to take my quality time to explain what it means.
Most internet service providers often specify the bandwidth of their internet connection. That information may not be important to those who just wish to surf the net with their PC but if you intent to use your PC as a webserver (for web hosting), then you will need to check the bandwidth of an internet connection before subscribing to it.
For most small (text based websites) like blogs that receive not more than 5,000 web visitors (traffic) per day, 1GB of bandwidth will be enough. With a small amount of web visitors, less request for web pages will be sent to your webserver per second (minute) and your web server will be able to serve those requested webpages quickly and silmutaneously. But if you intent to host a very high traffic website (with more than 50,000 visitors per day), you will need a higher bandwidth or else your website will load very slow at a certain time of the day (whenever the request for web pages exceed the allocated bandwidth of your internet connection). You will even need greater bandwidth to host social networking websites and other websites that web visitors will also be able to upload files to your server.
Summarily, the type of website you intent to host, the size of your webpages and the amount of web traffic to your website will determine the amount of bandwidth you will need to successfully host your website on your PC.
Remember!, the higher your bandwidth, the greater the amount of web traffic your webserver can handle.
Limited Bandwidth is one of the reasons why many people don,t host their blog or website on their PC especially those people living in the developing countries.
Lack of a Static IP address.
Most internet service providers often assign a dynamic IP address to their clients and Dynamic IP address are not suitable for web hosting. For those of you who don,t know what a dynamic IP address is , a dynamic IP address is an IP address that isn.t static. For example, whenever you connect to the internet, a new IP address will be assigned to your PC. To effectively self-host your website on your PC, you will need a Static IP address (an IP address that doesn,t change). It should be noted that in order for internet users to access your website through your domain name you will need to point your domain name to your server IP and your server IP address needs to be static (permanent) or else whenever there’s internet interuption or your internet connection disconnects, your website won’t be inaccessible (due to a change in your server IP) and so you will constantly need to point your domain name to the new IP address in order for your website to be accessible.
In certain parts of the world where there’s frequent power outage (especially certain regions of Africa), self-hosting on a PC will be almost impossible. Like i told you before, your server needs to be constantly on and connected to the internet in order for your website to be accessible. Which implies that whenever there’s power outage, your website will be down. However, if you are really serious about self-hosting your website on your PC, you can buy a standby generator. to minimize your server downtime
Limited disk space.
Limited disk space may not be a barier to self-hosting on a PC if you intent to host a blog or other websites where your web visitors will just be able to read your articles and leave their comments. But if you intent to host dynamic websites like Facebook, YouTube and other websites where your web visitors will be able to upload pictures, music and video files to your server, then you will need a very large disk space. Atleast 3 tetrabands will be needed.
With the numerous threats from hackers nowadays, Server security has now become the greatest barrier to self-hosting on a PC. You will need cyber security skills in order to effectively self-host your website on your PC. From time to time, the commercial web hosting companies like Hostgator, Bluehost etc often hire or consult top security agencies to monitor and scan their server for any new vulnerability. You obviously won,t have $10,000 to hire a professional cyber security expert to scan your server.
Summarily, this is what you will need to be able host your website (blog) on your PC.
- You will need a webserver software package like XAMPP (to turn your PC in to a web server). XAMPP is a free web server software. It’s a 3 in one package that contains Apache, MySQL, PHP and other softwares that makes it possible for you to host any kind of website on your PC (provided you have enough bandwidth).
- You will need a very Powerful PC. See the amazon,s list of frequently bought Web Hosting PC.
- You will need a very high bandwidth internet connection. Like i said before, the higher your bandwidth the faster you internet connection will load faster in the browser of internet users.
- You need a static IP address. This is no longer a barrier because nowadays there are websites like no-ip.com that will enable you to obtain a static ip address for your PC (Web server).
- You will need atleast a basic knowledge in web security. Nowadays there are lots of cheap courses in Udemy.com, lynda.com and other tutorial websites that will enable you to easily acquire this skill.
From what you have read, you must have realised that hosting a website on your own personal computer will be 10 times expensive than self-hosting your website (blog) with Hostgator, Bluehost and other commercial webhosting companies. Nowadays, with just $200 you can subscribe to a 3yrs hosting service at Hostgator and successful host your blog or website without worrying about bandwidth, power outage, web security and issues etc.
Unless you have a very special reason to host your website or blog on your PC (apart from saving cost), i won’t advise you to do that. Hosting your website or blog on your PC will make your website or blog to become more like a liability to you than an asset. Still wanna know how to turn your PC in to a Webserver?. Ok let’s get down to business.
How to Turn Your PC into a Webserver
Like i told you before,nowadays its very very easy to turn your personal computer into a webserver. To turn your personal computer into a web server, you just need to install a web server software package on your PC (with just a few clicks of your mouse). As soon as a webserver software package is installed on your PC, your PC automatically becomes a webserver. Yes! just like that. You don,t need do any configuration.
Like i told you before, the web server package that you are going to install on your PC to turn your PC in to a web hosting computer within 2 minutes is called XAMPP. The XAMPP server software package contains Apache, MySQL, PHP and other relevant softwares.
But take note! turning your PC in to a web server is very different from hosting on your PC.
In otherwords after you have successfully turned your PC in to a web server, only you or anybody who have access to your local computer will be able to view any website hosted on your PC. For internet users around the world to be able to view your website, you will need to meet the other requirements mentioned above.
However even if you can’t meet the other requirements in order to make your site accessible to the internet users, you can still use your web server as a testing environment.
For example i have turned my PC in to Web Server, but i don’t host this website on my PC. I just use my web server as a testing environment for various CMS, themes and plugins.
Please take note that after you have successfully turned your PC into a webserver, you will be able to install WordPress, Drupal,Elgg, Simple machine Forum and other CMS on your webserver. So i have installed WordPress on my PC server and use the WordPress site to test various themes and plugins before finally installing them on my Hostgator hosted blog. I even type all my blog posts using the WordPress site on my Server. The autosave of WordPress is far quicker than that of Microsoft Word.
Please take note that you don,t need to connect to the internet in order to access a website hosted on your webserver.I did all those things i just mentioned offline (with no internet service). Like i told you before, after you have successfully turned your PC in to a Web Server, only people working on your local computer will be able to view any website hosted on your PC. When you are offline your web server will only be able to serve web pages only to your PC browser. If you want your web server to serve web pages (web files) to the browsers of internet users worldwide, you will need to meet the other requirements mentioned above.
First! let me show you how to install the XAMPP server software package on your PC (to turn your PC in to a Web Server) and how to install WordPress on your Server before we can start discussing about how you can make your website accessible on the World Wide Web (internet).
Procedures to turn your PC into a Webserver
Step 1. Visit the website of the XAMPP software developers. In case you have forgotten, XAMPP is a free software.
Step 2. At the XAMPP website, download a XAMPP package that’s compatible with the operating system of your PC.
Step 3. After the XAMPP software package installer has been successfully installed on your PC, these are the little things you will need to do to successfully install XAMPP on your PC.
- Click on the XAMPP installer,
- Select your preferred language,
- Choose an installation folder (please install XAMPP on a folder on your PC that you can easily access). It’s in this same XAMPP installation folder that you are also going to store all your website files. Ok after you have chosen an installation folder….
- Just Click on NEXT and the XAMPP server software will be installed on your PC within 5 seconds.
Step 4. After you have successfully installed the XAMPP software package, the control panel of the XAMPP software will automatically show up on your screen. As shown in the screenshot below.
Your PC is now a webserver.
How to install WordPress on your PC server.
Like i told you before, i have installed WordPress on my PC server and i use the WordPress site on my server to test various themes and plugins.
Most of my fellow bloggers often ask me how i managed to master WordPress so fast. Infact the person who introduced me to WordPress is now learning WordPress customization from me. I was able to master WordPress within a short time frame because i had a WordPress site on my server where i test and master various plugins and themes. I,m not afraid to experiment on the WordPress site on my server because even if i break the wordpress site, i have nothing to lose. If i end up breaking the site,i will still reinstall WordPress again and start at fresh (as many times as i want). That’s something that you can,t imagine doing with your hostgator or bluehost self-hosted WordPress site.
Whenever i,m experimenting on my local WordPress site and i end up breaking the site, there,s one question that comes to my mind, what if this mistake (error) i just did would have been commited on my hostgator self-hosted blog, what would i do?. So having a virtual lab where you can freely experiment with the wordpress themes and plugins to determine what works and do not work is very important especially to the non-web programmers like you and i. It’s even more vital to the frelance WordPress designers without coding skills. Because as they work on wordpress powered blogs, they might install a bad plugin (theme) or even make a change on a client wordpress site that will end up breaking the site. So its good to have a testing site!.
Ok the foreplay is over now!. Let me show you how to install WordPress on your Server.
Procedures to install WordPress on your PC server.
Step 1, Download the wordpress application from the WordPress.org website.
Step 2, Extract the WordPress folder from the downloaded Zip File to the desktop of your PC.
Step 3, Copy and paste the WordPress folder in to the htdoc folder found in your XAMPP folder. Remember that when we were about to install the XAMPP Server software, i told you to choose an installation folder that you can easily locate because all of your website files will be stored in it. Now locate that XAMPP folder and paste the wordpress folder inside the htdoc folder. For those of you who don’t know, htdoc is the folder that all your website files will be kept. Only web pages (web files) stored in the htdoc folder will be served by your PC web server.
Step 4, After you have done that, you will need to turn on your server software. This is what you need to do to successfully turn on your server.
- Launch your XAMPP software by clicking on its shortcut found on your desktop.
- Once the XAMPP control panel shows up on your screen, start the Apache and SQL application by clicking on their start buttons as shown in the screenshot below.
Ok now your server is on. Time to install WordPress!!!
Step 5, Type 127.0.0.1/wordpress OR localhost/wordpress in to your web browser or simply click on that link to launch the WordPress Installer. After you have done that, this is what will show up on your screen.
Click on the let’s go button and you will arrive at this page.
Fill the form exactly as shown in the screenshot below. Leave the password field blank.
Ok after you have done that, just click on the submit button and you will arrive at this page.
Cick on run the install button.
Step 6. After you have done that, you will arrive at this page.
Fill all the requested information and click on the install wordpress button below.After you have done that, you will arrive at this page.
Ok wordpress has been successfully installed on your PC server.
Login in to your WordPress dashboard.
This is my WordPress dashboard!.
This is my home blog!.
How to make your WordPress accessible on the Internet.
Like i told you before, after you have set up a website or blog on your PC server, only you or anybody who have access to your local computer will be able to view any website hosted on your PC (when you are offline).
When you are offline your web server will only be able to serve web pages only to your PC browser. If 1000 people want to look at your site (home blog), they won’t come to your home or office to do it. Your webserver also need to serve web pages to their browser for them to be able to access your blog or website.
If you want your web server to serve web pages (web files) to the browsers of internet users worldwide, you will need an internet connection with atleast 1G bandwidth.