Part 7: Installing a Content Management System (CMS)

January 7, 2020 - Reading time: 45 minutes

All our work so far has been to set up a foundation which we can then use to publish content on our site.  We’ve set up Raspbian as a base operating system, configured our firewall, installed Nginx, created an Argo Tunnel, and started using SSL. 

The next step is to install a Content Management System (CMS) which allows us to easily create and publish a blog just like this one.  The most popular CMS today is WordPress, and others include Joomla, Drupal, etc.  Each of these use a database (MYSQL, or MariaDB) to store content, images, and metadata.  However, there are also a few non-database CMS such as Bludit.  These are better for simple blogs as they’re more resource efficient.  Content is stored in JSON formatted text files.  We will be using Bludit for our blog. 


Bludit can be downloaded at  Next, unzip and copy the files to /var/www/html.  Permissions and ownership will need to be updated again as follows:

sudo chown -R www-data:pi /var/www/html/

sudo chmod -R 770 /var/www/html/

Now let’s install some additional PHP modules which Bludit needs to function:

sudo apt-get install php-mbstring php-json php-gd php-xml

Next, we need to modify our Nginx config file again:

sudo nano /etc/nginx/sites-available/default

Comment out the following line:

# try_files $uri $uri/ 404;

And replace with:

try_files $uri $uri/ /index.php?$args;

This is a standard location block for most CMS which use PHP.

Once done, open a browser locally and browse to your domain.  You will see a prompt to install Bludit.  We can further tweak the look/feel/functionality by logging into the admin panel at 

New content can also be created here.  Feel free to create your very first blog post!


We’ve finally created a blog and added some content.  We chose Bludit as a flat-file CMS because it is resource efficient and simple to deploy. 


A playground of creativity that combines Cloudflare technology with hobbyists.