If you do the Birdbox Rock Throwing challenge (which is not a thing–don’t make it one), said rock will land on a CMS tool. That’s how many exist out in the wild. Some CMS tools are better than others. Some work well with standard browsers, while others can function with any browser from any device. And then there’s PageKit.

PageKit is a modern CMS that offers a simple user interface (that works with any browser) and includes a marketplace, where you can install various add-ons to customize the tool into exactly what your company needs.

SEE: Vendor comparison: Microsoft Azure, Amazon AWS, and Google Cloud (Tech Pro Research)

PageKit features

Available extensions include:

  • Formmaker
  • Analytics
  • Blog
  • TinyMCE
  • Portfolio
  • Bixie Framework
  • Gallery
  • User Profile
  • Breadcrumbs
  • Sitemap
  • Social Share
  • Listings
  • Search
  • Shortcodes
  • Maps Widget
  • Slideshow
  • Calendar
  • Manifest
  • SEO
  • Mailchimp Widget
  • Twitter Widget
  • WordPress Import
  • Github User Repositories
  • And more

PageKit’s initial stable release was in 2016, so it’s still somewhat new to the CMS market. Although three years is actually a nice span in tech time, it does feel like quite a few holes can be found in the Marketplace. For example, where is the extension to add e-commerce? Even with that missing piece, PageKit displays a really clean interface that many businesses would find appealing for many deployments.

With that said, let’s install PageKit on Ubuntu Server 18.04.

What you need

The only thing you’ll need is a server running Ubuntu 18.04 and a user account with sudo privileges. With those things in place, let’s install.


The first thing to do is update and upgrade your server. Do note that, should the kernel be updated in the process, a restart of the server will be required. Because of this, run the update/upgrade process during a time when an update is possible.

To run the update/upgrade process, log into your Ubuntu server and issue the following command:

sudo apt-update
sudo apt-get upgrade -y

Should your kernel be upgraded, reboot the server at this time.

Install dependencies

The next step is to install the necessary dependencies. We need to have Apache, MariaDB, and PHP installed. To do this, open a terminal window and issue the following command:

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip wget unzip -y

Before you continue on, PHP must be configured. Issue the command:

sudo nano /etc/php/7.2/apache2/php.ini

Make sure the following lines are configured as such:

memory_limit = 300M
allow_url_fopen = On
upload_max_filesize = 200M
max_execution_time = 400
date.timezone = YOUR_TIME_ZONE

Where YOUR_TIME_ZONE is set to your locale.

Save and close that file. Enable and start the web and database servers with the following commands:

sudo systemctl start apache2
sudo systemctl start mariadb
sudo systemctl enable apache2
sudo systemctl enable mariadb

Configure the database

Next, we need to secure the database. Issue the command:

sudo mysql_secure_installation

Make sure to set a password for the admin user and answer y for the remaining questions.

With MariaDB secured, it’s time to create the database and database user. Gain access to the database prompt with the command:

mysql -u root -p

Once you’re at the prompt, issue the following commands:

CREATE USER pagekit;
GRANT ALL PRIVILEGES ON pagekitdb.* TO 'pagekit'@'localhost' IDENTIFIED BY 'PASSWORD';

Where PASSWORD is a strong, unique password.

Download and unpack PageKit

It’s time to download PageKit. From the terminal window, issue the following command:

wget https://pagekit.com/api/download/latest -O pagekit.zip

Unpack the file into the Apache document root with the command:

sudo unzip pagekit.zip -d /var/www/html/pagekit

Give the newly moved folder the proper permissions with the commands:

sudo chown -R www-data:www-data /var/www/html/pagekit/
sudo chmod -R 777 /var/www/html/pagekit/

Configure Apache

Next, we need to inform Apache of PageKit’s whereabouts. To do this, we need to create a new configuration file with the command:

sudo nano /etc/apache2/sites-available/pagekit.conf

Paste the following contents into that file:

ServerAdmin admin@example.com
DocumentRoot /var/www/html/pagekit
ServerName example.com

Options FollowSymlinks
AllowOverride All
Require all granted

ErrorLog ${APACHE_LOG_DIR}/pagekit_error.log
CustomLog ${APACHE_LOG_DIR}/pagekit_access.log combined

Save and close that file. Enable the site with the command:

sudo a2ensite pagekit

Enable the rewrite module and restart Apache with the commands:

sudo a2enmod rewrite
sudo systemctl restart apache2

Complete installation

Open a browser and point it to http://SERVER_IP/pagekit (Where SERVER_IP is the IP address of your hosting server). Click on the right-pointing arrow (Figure A) to begin the final process.

Figure A

The next window asks you to choose a language. Do that and click Next. In the resulting window (Figure B), set the details for the database and database user.

Figure B

Click Next. You will then be asked to set up the site. In this window (Figure C), give the site a name and create an admin user.

Figure C

Click Install and the installation will commence and complete. You can then point your browser to http://SERVER_IP/pagekit (Where SERVER_IP is the IP address of your hosting server), log in with the admin credentials, and start adding extensions to your new PageKit site.

From the Dashboard, click on the three horizontal lines and click the Marketplace button (Figure D) to begin installing the tools you need to make PageKit best work for your company.

Figure D

With a little work, PageKit can serve your small business quite well. Once the CMS and necessary extensions are installed, it won’t take you long to get up to speed with the interface and further configurations.