Requirements for doing a normal installation
eZ Publish 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 eZ Publish installation is deployed. The image conversion system is optional and is only needed if you're planning to use eZ Publish 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:
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 eZ Publish 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 eZ Publish 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 eZ Publish 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.
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
eZ Publish 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 eZ Publish 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.
eZ Publish stores miscellaneous data structures and actual content using a database. This means that a database server has to be available for eZ Publish at all times. By default, eZ Publish is compatible with the following database solutions:
- MySQL 3.23 or later (http://www.mysql.com)
Note that from eZ Publish 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!: 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 eZ Publish. 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 eZ Publish. When setting up a PostgreSQL database for eZ Publish, you will have to register these functions in the database as described in the "Setting up a database" part of the installation instructions.
It is not recommended to use Oracle as a database for eZ Publish 3.9. This is due to a number of issues that make the eZ Publish Extension for Oracle® Database version 1.5 (and earlier) not fully compatible with eZ Publish 3.9. This problem might be fixed in the future.
Image conversion system (optional)
In order to scale, convert or modify images, eZ Publish 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)