How to Install Publii Flat File CMS on Ubuntu Linux

office 4694143 640
office 4694143 640

Publii is a light, ultra-fast, static (flat-file) content management system (CMS) with GUI to build an incredibly safe, fast, and stylish HTML for blogs, portfolios, and company websites. It allows users and web adminstto create websites without needing a separate database. Just download the web content files and enjoy!

It offers features that may not be available to other PHP-based CMS, like WordPress, Joomla, or Drupal.

For one, it doesn’t need a database server; call it database-less. Instead, all of your content is stored in the content folder in Markdown (.md) files, and Publii CMS generates the entire site structure and content.

It has an SEO-friendly design, a flexible CSS framework, and more.

For more about Publii CMS, please check its homepage.

This brief tutorial shows students and new users how to install Publii CMS on Ubuntu 16.04, 18.04, and 18.10. To get started with installing Publii CMS, please continue below:

Install Node.Js

Publii CMS runs on Node.js, a javascript runtime, and framework. To install Node.js on Ubuntu from its LTS repository, run the commands below to install:

sudo apt update
sudo apt install curl git python
curl -sL | sudo -E bash -
sudo apt install -y nodejs

After that, Node.js should be installed and ready to use as well.

Install PM2 Process Manager

Another requirement for Publii CMS is a PM2 process manager. To install the PM2 package on Ubuntu, run the commands below:

sudo npm install pm2 -g

After that, your system should be ready for Publii CMS.

Install Publii CMS

To get Publii CMS, you’ll want to clone it from GitHub to your home directory. To do that, run the commands below.

cd ~/
git clone

After that, change into the Publii CMS folder by running the commands below.

cd Publii

Next, install NPM from the folder by running the commands below.

npm install

If you get the message below, fix the error by doing what’s recommended

│                  npm update check failed                  │
│            Try running with sudo or get access            │
│           to the local update config store via            │
│ sudo chown -R $USER:$(id -gn $USER) /home/richard/.config │

When you’re done, run the commands below to install Gulp. A dependency to run Publii CMS.

sudo npm install --global gulp
gulp prepare-editor-css

Next, create these folders.

mkdir -p ~/Publii/app/src/helpers/vendor/tinymcjquery
mkdir -p ~/Publii/app/src/helpers/vendor/tinymctinymce

Once Gulp has finished running, run the commands below to start up npm, a server that Publii CMS runs on.

Make sure you NPM to install jQuery:

npm install jquery --save

Now you can run the Publii app:

npm run build

Please remember to have running the dev command in the second terminal process:

npm run dev

After that, you should be able to open your browser and browse to the server hostname or IP address.

That’s it!

You may also like the post below:

Posted by

I love computers; maybe way too much. What I learned I try to share at

1 Comment

  1. hello, thanks for this tutorial! I don’t understand the last part of browsing to server hostname or address, is publii not meant to be a stand-alone app?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: