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".
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:
Clone the repository:
```bash
git clone https://github.com/se7enxweb/ezpublishbasic.git
Navigate to the project directory:
```bash
cd ezpublishbasic
Install dependencies:
```bash
composer install
Follow these steps to set up Exponential Basic via Composer:
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: bin/shell/php/ezpgenerateautoloads.php -k;
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;
.
Set up your database in your database server.
You will first need to generate the database SQL file. Run this command: cd /path/to/ezpb/; ./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 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.
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.
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 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.
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.
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
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:
We welcome you to create new code not just bugfix existing code:
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 eZ in 2025 and beyond.