facebook youtube pinterest twitter reddit whatsapp instagram

Getting Started (Overview and Installation)

Tonics CMS is a versatile and flexible content management system that is built with a highly modular, and adaptable architecture. Its unique feature is its event-driven approach, where modules communicate with each other through events, making it easy to develop and customize websites.

Learn More About Its Architecture

Features:

  • Easy Customization: An intuitive and clean user interface, making it easy for users to use
  • Flexible Field Modules: A powerful field builder, which powers the layout of the Tonics interface, as such, it promotes a consistent user interface, and if you are a developer, you can leverage the Field Module to quickly build fields for your app or extension.

  • No Shortcodes: Tonics eliminates the need for shortcodes, streamlining the editing process and making it more user-friendly. Users can insert content directly into the editor, without the need for complex codes or formatting.

  • Media Manager: An event-driven media manager provides users with a powerful tool for managing media assets. This feature allows for easy uploading, organization, and retrieval of media files, making it easy to add multimedia content to websites. Additionally, Tonics' Media Manager ensures that renaming or moving files doesn't break the file link, reducing the risk of broken links and improving the overall user experience.

  • Background Tasks: Includes a robust job and scheduler manager, which allows for easy creation and management of background tasks. This feature helps to improve website performance by offloading resource-intensive tasks to the background, without impacting the user experience.

  • Goodbye To Link-Rot: Due to the way Tonics is designed, once you create a post or you upload a media file to the Media Manager, it sticks, meaning, it doesn't break even when you change the slug, the only way the link would break is if the post, files, etc are deleted.

It is also designed for ready-made solutions, go to the homepage to find solutions you are interested in, an example of solutions is WriTonics which includes modules for blogging, there is also AudioTonics which includes modules and apps for managing and selling audio files, and many more to come.

About Tonics

Tonics CMS is born out of frustration with the limitations of traditional CMS platforms that force users to work within a rigid framework, while most CMS platforms are pluggable to a certain extent, there is no option to unplug features of the Core CMS.

In Tonics, you only use what you need while ensuring your website is tailored to your specific requirements, at the heart of Tonics Core System is an event-driven architecture, modules or apps communicate with each other through events, making it easy to hook into events, this makes Tonics an ideal choice for developers who want to build custom websites quickly and efficiently.

One notable feature of Tonics is the prevention of link rot, link rot occurs when links on a website become outdated or broken over time, leading to a poor user experience and lost traffic.

Tonics is designed to prevent this by ensuring that all links, whether media or post links remain intact and functional, so, you are free to move media files around in folders without worrying about link-rot, you can learn more about its architecture.

Tech Specification

Tonics is a self-hosted PHP application that is built from the ground up with no framework, meaning, it is a vanilla PHP application. It works with PHP8.1+ and currently only support MariaDB10.6+

The following are the required PHP extension:

  • Zip
  • Intl
  • PDO
  • FileInfo
  • BCMath
  • Multibyte String (mbstring)
  • APCU
  • GMP
  • CURL
  • GD
  • Pcntl
  • POSIX

Installation

There are several ways to install Tonics, so, choose whatever option you like:

Automated Script (Debian Only)

Here is what you would need to follow along:

Here is a video walkthrough:

If you don't want to watch the video or you just need a textual explanation, then here you go...

Once you have provisioned your Debian Distro, update and upgrade:

apt update
apt upgrade

Install git if you haven't already:

apt install git

Download the script and change your directory to the script directory:

git clone https://github.com/devsrealm/tonics-scripts.git && cd tonics-scripts

Give it executable permission:

chmod +x tonicsScripts

Run the program (change yourwebsite.com to your websitename):

./tonicsScripts yourwebsite.com

Note: Make Sure You Always Add a Top Level Domain, i.e .com, .net, etc

  1. Once you run the Program, enter 3 and hit enter to install tonics
  2. Enter Y or Yes anywhere you see "seems to be missing" e.g, Nginx seems to be missing, PHP seems to be missing, etc, enter Y and hit enter whenever you see that
  3. If you get yourwebsite.com does not exist, enter Y and hit the enter key
  4. Now, you might be presented with "Enter only sitename (...)", if the name of your website is yourwebsitec.com, you enter yourwebsite, if the name of your website is demo.test.com, you enter demo.test, I hope you get that
  5. Enter MYSQL root password
  6. Enter Tonics Database name
  7. Enter Tonics MYSQL user
  8. Enter password for the user
  9. In the next prompt, you would be presented on whether to install Tonics, enter 1 and hit the enter key
  10. Enter the Download URL, please go to the release link above and choose whatever solution you want, you can start with WriTonics if you just wanna test out blogging
  11. If successful, you should see your details, you can copy them into a notepad.
  12. Skip the rest of the below options if you don't want SSL (recommended if you would be interacting with the media manager)
  13. To create an SSL certificate, re-run the program: ./tonicsScripts yourwebsite.com
  14. Press 4 and hit enter
  15. You should get: "Do you want to secure another website..." enter y and hit enter
  16. Enter the name of your website, don't start with HTTP, just name, e.g yourwebsite.com
  17. Install Certbot if you haven't
  18. Enter email address
  19. Hit Enter
  20. and you are done

Visit the installation URL here: https://yourwebsite.com/admin/installer and fill in your details.