Qubus CMS is no longer being maintained. It has been replaced by Devflow, a headless content management framework with CQRS and Event Sourcing.
Qubus CMS is a developer centric, lightweight content management system (CMS) and content management framework (CMF). It is easy to install, easy to manage, and easy to extend. The majority of Qubus' codebase is derived from WordPress, however, Qubus CMS is not a fork of WordPress. It also should not be seen as a replacement for WordPress, Drupal, Joomla or any of the top used CMS's out there.
The main purpose of Qubus CMS is to give developer's an option that is geared toward how they think, how they code, and how they build websites. Although you can use Qubus CMS for your traditional CMS needs, you can also use it to build API centric applications.
Qubus CMS is pretty stable at the moment, but it is currently in beta and should no be used in production until release 1.0.
- Easier installation and deployment
- Easier to migrate from one server to another
- API first
- Go headless or nearly-headless
- Caching (JSON by default when on)
- Multisite
- PHP 7.3+
- gd graphics support
- zip extention support
- APC, XCache or Memcache(d) (optional)
- Apache or Nginx
- Install composer if not already installed
- Download the latest release
- Extract the zip to the root or a subdirectory
- Copy config.sample.php to config.php
- Open config.php and edit the following constants and save the file:
TTCMS_MAINSITE
&TTCMS_MAINSITE_PATH
. If you install on a dev server and then move it to a new server with a different domain, you will need to edit these for the new server. - Run composer to install needed libraries:
composer install
- Open your browser to
http://replace_url/login/
and login with the login credentials below:- username: qubus
- password: qubuscms
- Visit
http://replace_url/admin/options-general/
, and change the API Key to something unique and secure. - Create a cronjob on the server:
http://replace_url/cronjob/
. It should run every minute.
- Open your config.php file, and edit the
cookies.secret.key
to something unique and secure.
Qubus CMS stores important files on the server. Whether you are on Apache/Nginx, you must make sure to secure the following directories so that files in those directories are not downloadable:
- private/cookies/*
- private/db/*
- private/sites/{site_id}/files/cache/*
Here is an example of what should go inside of the .htaccess file to secure the above directories. Make sure to change the key
to something unique and secure.
# BEGIN Privatization
# This .htaccess file ensures that other people cannot download your files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} !key=replace_me
RewriteRule (.*) - [F]
</IfModule>
# END Privatization
- Learn - TriTan documentaion.
- Reference - Documentation of classes and functions.
- Rest API - REST API documentation.
As mentioned previously, Qubus CMS is also a content management framework. You can use Qubus CMS to build websites, API centric applications or both. Via composer, the following libraries become available to you to use.
Components | Description |
---|---|
Validation | The most awesome validation engine ever created for PHP. |
Zebra Pagination | A generic, Twitter Bootstrap compatible, pagination library that automatically generates navigation links. |
Fenom | Lightweight and fast template engine for PHP. |
Mobile Detect | Mobile_Detect is a lightweight PHP class for detecting mobile devices (including tablets). It uses the User-Agent string combined with specific HTTP headers to detect the mobile environment. |
Graphql | This is a PHP implementation of the GraphQL specification based on the reference implementation in JavaScript. |
RulerZ | Powerful implementation of the Specification pattern in PHP. |
RulerZ Specification Builder | This library provides an object-oriented way to build Specifications for RulerZ. |
Guzzle | Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services. |
SEO Analyzer | Basic PHP library to check several SEO metrics of a website. |
Schema.org | A fluent builder Schema.org types and ld+json generator. |
Html Menu Generator | The spatie/menu package provides a fluent interface to build menus of any size in your php application. |
SEO Helper | SEO Helper is a package that provides tools and helpers for SEO (Search Engine Optimization). |
Parsedown | Better Markdown Parser in PHP. |
JoliNotif | Send notifications to your desktop directly from your PHP script. |
dcrypt | A petite library of essential encryption functions for PHP 7.1+. |
php-encryption | This is a library for encrypting data with a key or password in PHP. It requires PHP 5.6 or newer and OpenSSL 1.0.1 or newer. |
Parse, build and manipulate URL's | A simple package to deal with URL's in your applications. |
Throttle | A basic throttling implementation to limit requests. |
sitemap.xml builder | A complex of services to build Sitemaps.xml and index of Sitemap.xml files. |
There is currently no theme repository due to the nature of the project. However, you can download the Vapor theme. Use this theme as an example to build your own theme.
The Liten Framework was used in the build of Qubus CMS. So, if you are interested in adding a head to your Qubus CMS install, you will need to learn about routing and middlewares.
Check out the repository for available Qubus CMS plugins.
You are welcomed to contribute by tackling anything from the Todo list, sending pull requests, bug reports, etc.