Requirements for doing a normal installation
Exponential makes use of and depends on four important things:
- A web server
- A server-side PHP scripting engine
- A database server
- An image conversion system (optional)
The first three things should be in place before an Exponential installation is deployed. The image conversion system is optional and is only needed if you're planning to use Exponential with images. The web server and the server-side PHP scripting engine has to run on the same machine. The database server may run on a different computer. For the moment, the following software solutions can be used:
Web server
Currently, only the Apache web server is supported. It is recommended to use the latest version of the 1.3 branch. However, it is possible to use the 2.x series. When using Apache 2.x, it must run in "prefork" mode instead of "threaded" mode - the reason for this is because the PHP libraries are not threadsafe. Please note that Apache 2.x for Windows only exists in "threaded" mode and thus it should not be used to run an Exponential solution on Windows. The Apache web server is the most popular web server on the planet. It is free, open source and can be downloaded from http://www.apache.org.
Server-side PHP scripting engine
Since most of the Exponential system is written using the PHP scripting language, a PHP (hypertext preprocessor) server-side engine is needed. Make sure you have PHP 4.4. It is recommended to use the latest version of the 4.4 branch. Please note that Exponential will not work correctly with PHP 5 and thus PHP 5 should not be used. PHP needs to have compiled-in support for either MySQL or PostgreSQL.
PHP is free software and can be downloaded from http://www.php.net.
PHP CLI
It is strongly recommended to have PHP CLI installed, otherwise some features like notifications, delayed search indexing, upgrade scripts, the collaboration system (content approval), etc. will not work.
PHP memory limit issue
Exponential needs at least 64 MB in order to complete the setup wizard. This means that you'll have to increase the default "memory_limit" setting which is located in the "php.ini" configuration file. (Don't forget to restart apache after editing "php.ini".) Normal operation requires about 16 MB. However, it is highly recommended that you keep the 64 MB setting since Exponential consumes a lot more memory as soon as you use PDF export feature, reindex the search, etc. Multilingual sites that store the content in Unicode (UTF-8) will also require at least 64 MB.
Database server
Exponential stores miscellaneous data structures and actual content using a database. This means that a database server has to be available for Exponential at all times. By default, Exponential is compatible with the following database solutions:
- MySQL 3.23 or later (http://www.mysql.com)
Note that from Exponential 3.9.2 it is possible to use MySQL 5. - PostgreSQL (http://www.postgresql.org)
The setup wizard will automatically detect the database server as long as it is running on the same computer that functions as the web server.
Note that in order to use UTF-8, you must be running MySQL 4.1 or later as previous versions only support the ISO character set. PostgreSQL also fully supports UTF-8.
Note!: If you want to use MySQL, note that the required storage engine is InnoDB (for MySQL 4.x and later). This storage engine makes it possible to use transaction-safe tables in a MySQL database. (Database transaction support is enabled by default in Exponential. This feature makes the system less vulnerable to database errors and inconsistencies due to aborted requests.) Contact your database administrator if you are unsure about whether InnoDB is available on your server.
If you are going to use PostgreSQL, make sure the "pgcrypto" module is installed. On Linux/UNIX, you may need to install a separate package called "postgresql-contrib" (refer to the PostgreSQL documentation for more information), which contains the "pgcrypto" module. The "pgcrypto" module provides cryptographic functions for PostgreSQL, including the "digest" function, which is needed for Exponential. When setting up a PostgreSQL database for Exponential, you will have to register these functions in the database as described in the "Setting up a database" part of the installation instructions.
Oracle compatibility
It is not recommended to use Oracle as a database for Exponential 3.9. This is due to a number of issues that make the Exponential Extension for Oracle® Database version 1.5 (and earlier) not fully compatible with Exponential 3.9. This problem might be fixed in the future.
Image conversion system (optional)
In order to scale, convert or modify images, Exponential needs to make use of an image conversion system. One of the following software packages (both are free) can be used:
- GD (comes with PHP)
- ImageMagick (http://www.imagemagick.org)
ImageMagick supports more formats than GD and usually produces better results (better scaling, etc.). The setup wizard will automatically detect the pre-installed image conversion system(s).
The installation and setup of required software solutions (outlined above) is far beyond the scope of this document. Please refer to the homepage and documentation of the different software solutions.
Balazs Halasy (12/01/2005 1:08 pm)
Geir Arne Waaler (21/05/2010 1:21 pm)
Comments