Flat-file content management systems
Simpler Content Management
Not everyone needs a conventional database content management system. For beginners and smaller websites, a flat-file content management system offers ease of use, while eliminating attack vectors.
Almost half of all websites are created with WordPress [1] according to current estimates. While WordPress is a mature, proven, and easy-to-use content management system (CMS), it is still often too complex, especially for beginners and smaller websites, and unnecessarily consumes server resources.
Beginners in particular don't need all the functions provided by a database CMS such as WordPress. Ironically, beginners often turn to WordPress, even though a flat-file CMS would be a far better choice. A flat-file CMS, such as the well-known open source Grav [2], offers most of the features of a conventional database CMS, but it does not require its own database: The content is in the form of files that reside directly on the web server. A flat-file CMS simplifies the software installation and makes it easier to set up and maintain the website. In addition, doing without a database eliminates some attack vectors for hackers.
This article introduces Bludit [3] and GetSimple CMS [4], two flat-file CMS alternatives to Grav. Both are far leaner than Grav, but still come with all the important features. Each provides a graphical user interface, multi-user capabilities, themes for custom website design, and a large selection of plugins to extend functionality. The most important difference between the two programs is that Bludit uses JSON to store web content on the server, while GetSimple CMS relies on XML.
Bludit
Bludit, the younger of the two, has been under development since 2015. Bludit only requires a recent version of the PHP scripting language on the web server. To install, download the Bludit archive from the project page [3] and unzip it. If needed, then connect to your web host via FTP and upload the 6MB content of the unzipped directory to your webroot
directory.
Alternatively, Bludit can also be run in a subfolder below webroot
. To start the Bludit Setup Wizard, call up your domain in a web browser. Then select a language for the user interface and the website, set a password for the site administrator, and click Install.
Bludit now redirects you to a sample page titled Welcome to Bludit. Clicking on the blue admin link will take you to the Bludit login page, where you can log in as admin.
You will then see the dashboard (Figure 1) with visitor statistics at the bottom of the page. On the right, a list of activities shows what you recently changed on the website. Right after the install, you will only see a few entries in this list. The sidebar on the left lets you access various tools, such as the page editor, for creating new content or editing the website settings.
Creating Content with Bludit
To create a new page or blog entry, click New Content in the sidebar. A WYSIWYG editor then appears; you need to enter the post's title in the top input box and the content in the large input box below it (Figure 2). You can then use the tools in the toolbar above the large input box to format the content.
To insert images, do not click on the small image icon in the toolbar. Instead, click on the Images button in the top right corner of the editor. In the upload dialog that opens, click Browse and select the image you want to insert. After uploading, select one of the options to insert the image next to the small square thumbnail. You can either insert a full-scale image or a linked thumbnail. In addition, the image can also be used as the page's lead image.
Bludit basically supports two types of content: static pages and blog posts. You access static pages via a link in the website's navigation bar. However, blog posts are only shown on the homepage. If you select the Sticky page category, the blog post will remain at the top of the homepage, even if there is newer content.
You can define the page type by clicking Options in the top right corner of the page editor and then going to the Advanced tab. When you get there, navigate to the Type menu and select the desired page type. Bludit uses Blog post as the default. To publish the page, just click Save.
Now switch to Content in the sidebar on the left under Manage. You will see a list of all existing pages or blog posts. To the right of the entry titles, you will find links that let you edit or delete the content.
Bludit Page Settings
To edit page settings, click General in the sidebar on the left under Settings. In the first tab, General, you can change the title and subtitle of the website, along with the information and copyright notice in the footer. After editing, press Save in the top right corner (Figure 3) to apply the changes.
You can change the website's design by enabling a different theme via Settings | Themes. To the right of the sidebar, you will see a list of installed themes. In a fresh Bludit installation, there are just two variants; Bludit enables Blog X by default. A very similar theme, Alternative, is also available.
You can also download a new theme from the Bludit website [5]. Once you unzip the theme, use an FTP program to move the contents of the unzipped archive to the bl-themes/
directory of your Bludit installation on the web server. Then reload the Themes page in the Bludit back end to add the new theme to the list. You can then enable the theme by pressing Activate under the theme name. The descriptions of many themes contain hints about their use or operation; you should pay attention to this information.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.