Chapter 41. OS requirements, existing and recommended configuration

Table of Contents

41.1. Required software
41.2. Recommended configuration
41.2.1. Hardware configuration
41.2.2. Default configuration
41.2.3. For optimal performances
41.3. Known working configurations
41.3.1. OS
41.3.2. JVM
41.3.3. Storage backends
41.3.4. LDAP

This chapter presents information about the running environment. Listing all required software, giving a recommended configuration and listing some others, known as operational, this chapter aims to help you to validate or define your production environment but the list is not exhaustive and needs to be completed with the users' experience.

41.1. Required software

  • JBoss application server with EJB3 support enabled

  • Java Development Kit (JDK)

41.2. Recommended configuration

41.2.1. Hardware configuration

Nuxeo EP is designed to be scalable and thus to be deployed on many servers. It can be installed on only one server for a start, and can also easily be installed on many servers. The constant is that there is the need to have one high-end server with good performances. Then the other servers can be more lower-end.

So the numbers below are given for the one needed high-end server.

  • RAM: 2Gb is the minimum requirement for using Nuxeo EP

  • CPU: Intel Core2 or equivalent and upper

    You might be better avoiding machines from the Intel Pentium 4 Xeon series since some models have a too small amount of cache. This impairs performance greatly compared to other CPU architecture of the same generation. Intel Pentium 4 servers are quite widespread because of an attractive price politic.

  • Storage (disk) space: the minimum Nuxeo installation, along with the needed JBoss and libs, takes something between 200Mb and 250Mb on a filesystem. Then the final size will of course depend on the amount of data that will be stored in Nuxeo. A safe bet (until we provide better numbers) is to consider data space ratio of 1.5 to 2.

41.2.2. Default configuration

The default persistence configuration is lightweight and easy to use, but it is not made for performance.

  • default Nuxeo 5.1 uses:

    • HSQL for SQL Data (directories, JBPM, Relations ...)

    • FileSystem persistence for Document repository

  • default Nuxeo 5.2 uses:

    • Derby for SQL Data (directories, JBPM, Relations ...)

    • FileSystem persistence for Document repository

41.2.3. For optimal performances

  • Linux

  • PostgreSQL 8.2

    Use PostgreSQL for document repository and all other services except for Compass search engine (nxsearch-compass-ds.xml) which should be set to use filesystem.

    Configure the document repository to externalize the blobs to filesystem.

41.3. Known working configurations

41.3.1. OS

  • Debian GNU/Linux 5.0 Lenny

  • Linux Ubuntu 32 and 64 bits, Edgy, Feisty and Hardy (8.04).

  • Linux Mandriva 2008.1

  • Unix

  • Mac OS X 10.4, 10.5

  • Ms Windows 2003 server 32 and 64 bits, Windows XP

41.3.2. JVM

  • Sun JDK 1.5 update 14, 15, 16

41.3.3. Storage backends

Different backends may be set as well for Nuxeo Core repository as for all other nuxeo services that persist data. See Chapter 43, RDBMS Storage and Database Configuration for more details, here is a list of known working backends.

  • PostgreSQL 8.2

  • PostgreSQL 8.3

    This version need a workaround to be applied as it is much stricter than PostgreSQL 8.2 with respect to value casting.

    Execute the following commands in your PostgreSQL console:

    CREATE FUNCTION pg_catalog.text(integer) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int4out($1));';
    CREATE CAST (integer AS text) WITH FUNCTION pg_catalog.text(integer) AS IMPLICIT;
    COMMENT ON FUNCTION pg_catalog.text(integer) IS 'convert integer to text';
    
    CREATE FUNCTION pg_catalog.text(bigint) RETURNS text STRICT IMMUTABLE LANGUAGE SQL AS 'SELECT textin(int8out($1));';
    CREATE CAST (bigint AS text) WITH FUNCTION pg_catalog.text(bigint) AS IMPLICIT;
    COMMENT ON FUNCTION pg_catalog.text(bigint) IS 'convert bigint to text';

    See FAQ about using PostgreSQL 8.3.

  • MySQL

  • Oracle 10

  • MsSQL 2005

  • HSQL

    Default Nuxeo 5.1 embedded database.

  • Derby

    Default Nuxeo 5.2 embedded database.

41.3.4. LDAP

  • OpenLDAP

  • Ms Active directory