Linux Web Hosting in 2025
Once upon a time, in order to host your own website you needed a paid-for web hosting service, a public folder, an index.html file and some HTML coding skills. Fortunately things have moved on a little since then.
Fancy running your own website on your own Linux PC?
You no longer need to know any HTML (although a little appreciation can help) and for relatively modest projects, you no longer need to pay for hosting services. I’m not talking about a specific short term ‘get it for free while it lasts’ product, this has become a long term standard facility offered by many providers.
Why is this free?
Well, it’s a great loss-leader and a way to pick up entry-level customers, with a minimal (if not pretty much zero) operational overhead.
Getting your own self-hosted site
There are many ways to approach this, I’m going to run through the method I use just to give you a flavour of what’s involved.
What you need
- A PC running Linux, pretty much anything will do
- A (free) Copy of WordPress to run on your PC
- A (free) ‘pages’ account with an online provider
What you can expect to pay
For a personal website or small business website nothing. If you find yourself with a really popular site with lots and lots of visitors, probably still nothing. If you start to need dynamic features, user logins and other infrastructure, you may want to add some chargeable features, but you’ll likely still be in the £5 to £20 per month range.
Why Did I Think Websites Were Expensive?
In general the cost is associated with time spent generating and maintaining content, but if you’re doing this yourself, the only cost is your time. If you want a ‘commercial’ template to make your site look really professional (there are plenty of good / free templates) then expect to pay between £20 and £60 from a reputable design firm. (this is a one-off, not a subscription)
WordPress
If you’re unfamiliar with WordPress, it’s a relatively long-lived, open-source Content Management System which has adapted to become a solid platform for building maintainable websites that can be managed and updated by regular people.
Technically it’s a PHP application that runs on top of either Apache or NGINX and MySQL.
You will find a host of video’s on YouTube on how to install WordPress on your computer, or to make life really easy there are Docker images available for both WordPress and MySQL which involve only minimal installation and configuration.
A 'pages' provider
Some companies call the service a ‘pages’ service, others refer it it a ‘JamStack’ account. In each instance it’s typically a static web service that’s driven from either a GitHub or GitLab account. Companies that provide such a service include (but are certainly not limited to);
- CloudFlare
- GitHub
- GitLab
- MadPenguin
The idea in each instance is that you save your static HTML pages to your Git account, then point the Pages service at the Git account. Each time you make a change to your website, save the changes in Git and those changes are automatically re-provisioned in the Pages service.
The Missing Link ...
The problem with all this is that although WordPress solves the website design and maintenance issues, and a Pages provider solves the provisioning and delivery issues, there is a disconnect. WordPress stores it’s content in templates and a MySQL database, but the Pages service needs static HTML files.
The Solution
A service which will make a static copy of your WordPress site. There are a number of such (free) WordPress plugins available, but one in particular provides a seamless service, scanning your site directly into a GitLab repository.

The free “MakeMeStatic” plugin takes a snapshot of your WordPress site at any given point in time and synchronises it with your Git Repository. From there you can apply your own Pages provider who will host the site live for you.
Typically they will all allow you to point your own domain name (for free) at your new Pages site. I’m saying “free”, each provider will have their own Terms you’ll need to check for limitations, fair-use, etc.
By default the plugin will use the MadPenguin Git Repository and Pages platform, so subject to pointing your domain name it’s pretty much zero-config. All you need now is some content …
References
- WordPress Open Source CMS
- CloudFlare Pages
- The MakeMeStatic Plugin (available from the WordPress plugin directory)
- Theme Forest (for professional WordPress Templates)