Path / documentation / ez publish / technical manual / 3.9 / installation / normal installation / requirements for doing a no...

Caution: This documentation is for eZ Publish legacy, from version 3.x to 5.x.
For 5.x documentation covering Platform see eZ Documentation Center, for difference between legacy and Platform see 5.x Architecture overview.

Requirements for doing a normal installation

eZ Publish makes use of and depends on four important things:

  1. A web server
  2. A server-side PHP scripting engine
  3. A database server
  4. 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:

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 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

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


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.

Database server

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:

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 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.

Oracle compatibility

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:

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)

Julia Shymova, Svitlana Shatokhina, Geir Arne Waaler


  • PHP 5

    PHP 5 it's the standard on most linux ditributions. When we ara going to support it? I can't use ez because we have products that request it.
    • Re: PHP 5

      eZ Publish 4 runs on PHP 5
  • PHP5 and PHP4 can be runned on SAME apache server

    • Re: PHP5 and PHP4 can be runned on SAME apache server

      As far as I know php4 does not have a module for apache-2.2.x. So if someone has apache-2.2.x it will only run php5.
  • memory_limit parameter in php.ini

    Although the documentation says that the setup will require the memory_limit parameter to be set to 64Mb my installation worked fine with it at the default of 8Mb.

    64Mb is a heck of a lot of memory for PHP and there are very few hosting sites that will have such a large limit set. My (paid for) hosting service has the limit set to 20Mb so I'm hopijng when I transfer ezpublish from my home system to my 'real' host I won't have any problems.
  • 64MB memory limit

    Sorry, that's not really funny. 64MB is a great deal too much and not eZ.
  • Is this install text still valid - then how should I install on Windows?

    About the Apache web server the text says that only version 1.3. is possible on a Windows installation.

    On the Windows 1.3 version is no longer available for download.

    • Re: Is this install text still valid - then how should I install on Windows?

      Yes, the text is valid. You can download the latest version of Apache 1.3 for Windows from