Hosting own web site from your home using Raspberry PI

After a long time, I have decided to give it a go. I already had my domain for several years. I hosted it on shared hosting solutions for a few years. And then fed up with the maintenance, I redirected it to my 500px profile for last few years. With the intent of utilizing some extra time during COVID-19 lock down and with some easy access to resources, I decided to resume my tinkering days.

There are plenty of tool to look up the web server details of a web site. If you look up my web site (e.g. Ultratools), you should find something like this:

Server: Apache/x.x.xx (Raspbian)

This tells that this web site is hosted on Apache server running under Raspbian operating system. If you still see this same info, that means the site is still hosted there. If you see something else, I think that would mean that I moved on to something else.

I did not want to spend a lot of time obviously to set up the web site. I did some digging on what exactly to use (for web server, database, cms etc) for the website. There are quite a few options out there. Let me explain my experience briefly about them. Before that, let me tell you what I used finally:

Web Server: Apache
DB: MariaDB
CMS: WordPress

Web Server: As I mentioned that you have several options out there. I found that Apache, Nginx and lighttpd being the front runners for Raspberry Pi installations. You have most documentation and guides available for Apache of course and then for Nginx and very little for lighttpd. Apache is the most robust of all and has most amount of features. Nginx is lighter and faster than Apache, but is powerful enough to run some of the bigger websites in the world. lighttpd on the other hand is very light weight single threaded web server suitable for lighter loads and processing.

I started with Nginx as it is supposed to be give me an ideal balance of speed and power. But I quickly had to go back to Apache because of a little complex configurations that I needed to make it work. I am sure it is not much and most of the tech-lovers would love to do that much self control on the things like this. But I wanted a little more out of the box for this solution which is reliable and repeatable. Apache works out of the box and needs no manual configuration to work with PHP or MariaDB.

Database: Well, this one is where we do not have much choice if I want to use WordPress as CMS as this is the only DB that is supported by WordPress.

CMS: This is where I had a few choices. I looked at flat file CMSs like Grav for a few days. But again, the lack of community support and good guidelines drew me back to WordPress again. It is THE Best CMS out there with no doubt. But it is very commercialized in the theme and plugin market – there is so much going on there. It may not be the best choice to run in my little device like Raspberry Pi, but again I am not making a Youtube or Wikipedia that my machine is going to crash due to traffic load – so WordPress it is!

In the next post I will refer to the guides that I used with the step by step details on exactly how I set it up.

Leave a Reply

%d bloggers like this: