System Requirements

This page describes the system requirements to install or upgrade to the latest version of OpenX. To run OpenX, you need:

Webserver

OpenX is tested with an Apache web server in a Linux environment. OpenX will work with other web servers that support PHP but these are not tested or supported by OpenX.

PHP support

OpenX is fully compatible with PHP 4.3.11 and higher, including when the register_globals setting is turned on.

PHP versions

PHP version Supported RAM required Comments
4.3.11 Yes 16 Security issues
4.4.2 Yes 16 Recommended
5 Yes 16 Recommended
5.1 Yes 16 Recommended
5.2 Yes 24 Recommended

PHP modes

You can install and run PHP in different modes depending upon your web server.

Run PHP as an Apache module (Mod PHP) which is more efficient than running in CGI-binary mode.

Microsoft IIS is not supported. Users report success using IIS 5.1 and IIS 6.0 with PHP running in Fast CGI mode.

PHP configurations

OpenX uses the default PHP settings. However, server administrators sometimes change these settings. Before you install OpenX, check that the following settings are correct:

  • magic_quotes_runtime must be off
  • safe_mode must be off
  • register_argc_argv must be on if you want to run maintenance via command line
  • file_uploads need to be turned on to allow HTTP file uploads

OpenX requires the following PHP extensions:

  • MySQL extension.
  • OpenX needs the ZLib extension to convert links inside compressed Flash files generated by Flash MX.
  • OpenX uses the FTP extension. If the FTP extension is not present, OpenX will try to simulate it, which can be less stable.

PHP timezone configuration

OpenX performs many time-based operations which rely upon the server time zone. You can configure this in PHP:

  • If you are using PHP 5.1 or 5.2 set the correct timezone in your php.ini file:
    date.timezone = Europe/London
  • If you are using PHP 4.3, 4.4 or 5.0 export the TZ environment variable in your web server configuration. If you are using an Apache web server, do this using the SetEnv directive in httpd.conf:
    SetEnv TZ Europe/London
  • If you do not have access to set the timezone on your server ask your system administrator or your hosting provider to set this up for you.
  • Alternatively, you can call "date_timezone_default_set()" on PHP 5.1 and PHP 5.2 or you can set "date.timezone" in a .htaccess file.

Openads can be installed without the PHP timezone setup. OpenX will make a best guess about which timezone your server is in. You can then select a timezone manually if it is wrong. However, OpenX strongly recommends that you set up the timezone in PHP correctly.

Accurate timing is especially important if you are running OpenX on more than one server. Configure you server with a NTP (Network Time Protocol) service to ensure that your server clocks are synchronised. See your operating system documentation for more information.

MySQL database

OpenX needs a MySQL database to store inventory information and statistics.

Database account

You can set up the database in any of the following ways:

  • Create a new database for OpenX.
  • Create a new database account for OpenX.
  • Use an existing database account and prefix the OpenX tables to distinguish them from other tables. This approach is not recommended if you can avoid it.

Important: OpenX recommends that you create a database account specifically for use with OpenX.

Database versions

To support the latest version of OpenX:

  • Use the latest stable version of MySQL, version 5.0, if possible.
  • You must run a minimum of MySQL, version 4.0.18.
  • MySQL 3.x is not supported.

Database permissions

To create the database tables necessary to run OpenX, you must have a database account with at least the following privileges:

  • SELECT
  • INSERT
  • UPDATE
  • DELETE
  • CREATE TABLE
  • CREATE TEMPORARY TABLE
  • DROP TABLE
  • CREATE INDEX
  • DROP INDEX
  • LOCK TABLES

Table types

When you run the OpenX Install Wizard, you can choose one of the following table types in the Database Settings tab:

  • MyISAM: In most cases, select the MyISAM option for faster operation.
  • InnoDB: If you plan to use conversion tracking, select the InnoDB option because it can lock table rows while conversions are tracked. However, InnoDB table performance can be slower.