Exponential Basic is an open-source project to modernize the classic Exponential 2.x CMS, bringing its functionality up-to-date with PHP 8 standards while retaining its simplicity and community-focused design.
This project is led by 7x and aims to ensure the long-term viability of Exponential 2.x for community portal solutions and their future portability (export to another cms).
"Please Note: This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".
- Current release: Version 2.4.0.0 (Stable) Release
- Download: zip or tar.gz
- LICENSE: GNU GPLv2 (or later)
- Website: https://basic.exponential.earth
- Current unreleased Version In Development: Version 2.4.0.1 (Stable)
- Source Code https://github.com/se7enxweb/exponentialbasic
- Maintainer: 7x
- Document Last revised: 2025.08.18
Read more about our project and it's historic value added services it provided early users, developers and businesses in the early 2000s era of web based application development environments and their required systems.
Follow these steps to set up Exponential Basic via GitHub:
Please note that thr installation of required PHP software packages via composer package manager is required. Download and install composer first before proceeding.
- Clone the repository:
git clone https://github.com/se7enxweb/exponentialbasic.git;
- Navigate to the project directory:
cd exponentialbasic;
- Install dependencies:
composer install;
Follow these steps to set up Exponential Basic via Composer:
Please note that thr installation of required PHP software packages via composer package manager is required. Download and install composer first before proceeding.
- Clone the latest release:
composer create-project se7enxweb/exponentialbasic -s dev exponentialbasic; cd exponentialbasic
- Configure your environment:
-
Web Server setup a new virtual host for the website(s) that power this software package. There are two by default. User and Admin websites.
- You will require separate virtual hosts for www and admin domains.
-
Database Server
- You will require a new database and database user and password access configured.
-
Filesystem User and Group Permissions
-
Generate Exponential Basics Autoloads
- Use this command:
cd /path/ro/exponentialbasic;
bin/shell/php/ezpgenerateautoloads.php -k;
- Use this command:
-
Create the two most used shell script alias commands via Shell script command aliases or by creating symbolic links in Linux / Unix / BSD / GNU.
- Use this command:
ln -s ./bin/shell/php/ezpgenerateautoloads.php regenerate-autoloads; ln -s bin/shell/clearcache.sh clear-cache;
-- Then you can run./reginerate-autoloads -k;
(your shell autocomplete feature will make this easy to type twice. also shell aliases) or run./clear;
.
- Use this command:
- Set up your database in your database server.
-
You will first need to generate the database SQL file. Run this command:
cd /path/to/exponentialbasic/; ./bin/shell/db-generate.sh
-
Then load the MySQL Schema SQL file generated from: ```mysql -u user databaseName -p < ./update/generated/publish_mysql.sql;``
-
Then load the SQLite Schmea SQL SQL file generated from: ```sqlite3 var/site/db/site.db < ./update/generated/publish_sqlite.sql;``
2.1 Install Default Content Database Data and Image File Content into a Mysql Database
- Then load the MySQL Default Data SQL file from:
mysql -u user databaseName -p < ./update/database/content/data_mysql.sql;
- Then uncompress the Default File Data tar.gz file from:
tar -vzxf ./share/data/data.tar.gz;
- Then finally run permissions assignment the script from:
./bin/shell/modfix.sh;
2.1 Install Default Content Database Data and Image File Content into a SQLite Database
- Then load the MySQL Default Data SQL file from:
sqlite3 var/site/db/site.db < ./update/database/content/data_sqlite.sql;
- Then uncompress the Default File Data tar.gz file from:
tar -vzxf ./share/data/data.tar.gz;
- Then finally run permissions assignment the script from:
./bin/shell/modfix.sh;
- Update settings files
Update settings file settings/override/site.ini.append.php
as needed to include the default settings customized to your own needs.
- Update site name, domain hostnames for user and admin websites, default design, database name and database connection username and password settings all in the site.ini in settings/override/site.ini.append.php
- Configure .htacesss or Web Server Mod_Rewrite Rules
This will direct all trafic by hostname match to index.php or index_admin.php as needed.
A reference file for the required configuration is available in file, .htaccess_example
.
4.1 Add your user website domain name (escape periods for syntax match) to the provided .htaccess file configuration.
4.2 Add your admin website domain name (escape periods for syntax match) to the provided .htaccess file configuration.
4.3 Add your IPv4 address (escape periods for syntax match) to the provided .htaccess file configuration.
-
Run shell script to set permissions for webserver to own the user and group and have file permissions of 775. Run shell script,
./bin/shell/modfix.sh;
-
Initialize the application in your web browser. We recommend loading the admin site first but it doesn't matter much.
- Username: 'admin'
- Password: 'publish'
- Example usage via web browser using eZ User URL: https://basic.demo.exponential.earth/user/login
- Example usage via web browser using eZ Admin URL: https://admin.basic.demo.exponential.earth/user/login
Note: Your work is now done. Enjoy the free software and a healthy snack. :)
Up next default content creation in the admin for your first visitor to see!
Further documentation can be read from the documentation directory README.
More information can be found at our project website
Older documentation on the core of our framework design fundamentals should be studied at the Older v2 Era Documentation @ Wayback Machine
This includes the following key documentation (from the above doc link archive):
Exponential Basic provides a feature rich cms based website building platform that is ready to use upon it's quick installation setup.
-
Webserver support: Any web server (Really) preferably one that supports a url rewriting module like Apache's mod_rewrite.
-
PHP Support for PHP 8.1+, 8.2+, 8.3+, 8.4+
-
Database Support for MySQL, MariaDB (via the MySQL Driver) PostgreSQL, SQLite, Informix and More through plugin based system.
-
Simple application kernel design. Easy to learn and change.
-
Module based kernel application functionality. Extendable by default (Settings based).
-
Exponential Basic version 2 Kernel Transformed into Exponential 3 Kernel in Directory Structure and Storage of Code. This was then transformed into a hybrid of Exponential 2.4.0.0 kernel and Exponential 6 kernel sub system classes forming Exponential v2.4.0.1 our second version.
-
Exponential Basic supports specific overridable INI File configuration settings. Try it today and load your database and other minor customizations isolated and overriding thr dedault settings in new file
settings/override/site.ini.php
. -
Exponential Basic supports a rather larger amount of customizable settings organized into groups or blocks which can completely change the display and configuration of your Exponential Basic website. Use INI settings overrides (described above) to completely customized Exponential Basic in hundreds of different ways.
- One configuration many users do is to define a global default section across all module settings blocks DefaultSection settings values to make EB display a single design frame.php for all functions of a user facing website unique to your own website requirements.
- Today we recommend starting with the
ecommerce
design for your default section (configured in the admin under ezsitemanager / sections).- In the future we will release a customized example ini settings file which clearly documents these changes for you to use as a basis for your own custom settings override:
settings/override/site.ini.php
. - We will also document briefly the instructions for the steps to use this example settings and the admin steps required to activate a design in a new section + design + language configuration.
- In the future we will release a customized example ini settings file which clearly documents these changes for you to use as a basis for your own custom settings override:
-
Administration that makes creating content quick and simple.
-
User side provides full functionality to create content through existing module views. This helps your users engage with your site.
-
Exponential (Basic) is one of the very oldest CMS Projects under the GPL with over 20 years of history. It stands as the leader in cms design throughout this time, leaving others to refactor their own solutions while Exponential Basic Developers just keep developing solutions with little need to refactor.
-
Exponential Basic is Free Software! We respect your freedoms. Try our software and join our community.
-
Support / Discussion Forums available on Share Exponential! Forums for Exponential Basic
-
Heavily tested software that is supported. If you find an issue we will fix it promptly. Report your issues with the software today!
-
Refactored kernel provides for future expansion to begin to provide support for even more extension based functionality. -- Autoloadable functionality within a plugin known as an extension -- Extensions could contain designs/settings/classes/modules/sql/doc/bin/etc. -- Extensions could be loaded based on settings based whitelist array of extension names.
-
eZ is a web based application suite. It delivers functionality ranging from publishing, web logs and diaries, through web shop functionality like shopping carts and wishlists and forums to intranet functions like contact handling and bug reporting.
-
The software uses caching and other optimization techniques to speed up page serving. It handles users, user preferences and user tracking through a user database and both cookie-based and non-bookie sessions.
-
It supports statistics for page views, links to followed and banner ads, both images and HTML with presentation logic.
-
The package lends itself to customization, from changing the look and feel by changing templates, localizing the languages and other internationalization issues to add new functionality.
-
The target audience for eZ is e-commerce, ASP (Application Service Providers), BSP (Business Service Providers), news publishing, intranets, bug reporting, content management, discussion boards, FAQ and knowledge handling, file and image management, group ware, calendaring, polls, todo lists, appointments as well as personal web sites.
-
Advertising with statistics
-
Article Publication and Management
-
Bug handling and reporting
-
Calendar functionality for creating appointments and events
-
Contact handling for keeping track of people and businesses
-
File manager for keeping track of uploaded files
-
Moderated forums for discussions
-
Image manager for keeping track of uploaded images
-
Link manager which is used to categorize links
-
News Feeding, fetch news and headlines from other sites and to incorporate in your own
-
Poll module for creating user polls.
-
Session module for keeping track of users and their preferences
-
Statistics module for information about page views and visitors
-
To-do module for assigning tasks to people
-
Trade module which is an online shop, with shopping cart and Wish list
-
User management for registering users, giving access to different groups to different parts of the site
Learn more about Exponential Basic features in detail. Study our documentation, FEATURES.md.
Learn more about Exponential Basic features roadmap in detail. Study our documentation, ROADMAP.md.
For the latest information about the development of php 8 compatibility read our documentation, COMPATIBILITY.md - Exponential Basic Module Compatibility with PHP8.x.
For the latest detailed list of views in Exponential Basic read our documentation, MODULES.md.
We are currently seeking others with Exponential 2 code improvements to share them with our project to grow the default installation feature set even further.
The worldwide eZ community on the internet likely holds old copies of custom modules. Some community members may be willing to contribute their modules for inclusion in Exponential Basic.
We welcome contributions from the community! To get involved:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request.
We welcome you to create new code not just bugfix existing code:
- You could contribute a new module providing additional desired features of any kind.
- You could add new template system support for additional templating engines like smarty or twig.
- You could add new database driver support for additional database server implementations as needed or desired. Note: they are very simple in design currently and quick to get working; 7x just added SQLite Database Support in the latest GitHub version (v2.4.0.1; unreleased officially)
- You could help extend the kernel to support cleaner features like settings based debug output by type. We are working on this in the near future.
- You could help extend the language translation files to support more complete translation of all language file strings and phrases. Also you could provide new translations in new languages based on eng_US (the new default for 2.4.0.1).
- You could help extend the library of site designs by providing a new design folder implementation. 7x just did this in providing the ecommerce design and related module templates design + templates based on eng_US language for strings in v2.4.0.1. It's very simple to create a custom design and share it.
Try today for starters. Become a Exponential Contributor and Share your work with everyone.
Check out the Contributing Guidelines for more details.
Developed with ❤️ by 7x. The company driving Exponential Basic development in 2025 and beyond.