opnCMS is an simple environment based on CppCMS web-framework for building high-performance modern web applications.
- Configurable plugin system supported both synchronous (GET/POST) and asyncronous (JSON-RPC) connections to core app.
- Flexible template support for plugins with push and pull styles.
- Independant modules to handle view, data, media, authentication tasks with set of extendable drivers.
- Ready-made plugin's code generator like in modern web-frameworks
- Using CppDB for SQL databases, MongoDB, own NoSQL-driver
- Ability of changing type of storage on the fly (to use it simultaneously)
- Universal interface for all type of storages (with capability of using direct DB drivers)
- Basic user plugin to handle Bcrypt authorization (including registration, reset/change password features) with email notifications (supports TLS and authentication on SMTP server)
- [WIP] Basic administration plugin for configuration and pages
-
CppCMS library 1.2.0+ (to build - see instructions)
-
Boost libraries (libboost-system, libboost-thread, libboost-filesystem). For Ubuntu/Debian:
apt-get install libboost-system-dev libboost-thread-dev libboost-filesystem-dev
git clone https://github.com/opncms/opncms.git opncms
git clone https://github.com/opncms/frameworks.git frameworks
# optional plugins
git clone https://github.com/opncms/plugins.git plugins
cd opncms
mkdir build
cmake ..
make
make test
cd opncms
# opncms configs and static files
cp -R install/var/www/opncms /var/www
cp -R static /var/www/opncms
# compiled files
cp build/opncms /var/www/opncms
cp build/libopncms_view.so /var/www/opncms
# plugins (optional)
cp ../plugins/<plugin_name>/lib<plugin_name>_view.so /var/www/opncms
mkdir -p /var/www/opncms/plugins && cp ../plugins/<plugin_name>/<plugin_name>.so /var/www/opncms/plugins
Use Nginx config file opncms.conf
Use bash opncms.sh script