System requirements
To install OpenX you will need:
- A web server which has support for PHP; and
- A database server, either MySQL or PostgreSQL.
This page describes the following requirements:
Web Server
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 MB | Security issues |
| 4.4.2 | Yes | 16 MB | Recommended |
| 5 | Yes | 16 MB | Recommended |
| 5.1 | Yes | 24 MB | Recommended |
| 5.2 | Yes | 24 MB | Recommended |
PHP modes
You can install and run PHP in different modes, depending on 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:
- Either the "mysql" extension, or the "pgsql". The "mysqli" extension is not supported.
- 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.
- OpenX 2.6 requires the GD extension to generate graphs on the Home page. If the extension is not enabled you will not be able to view graphs or statistics on your Home page.
- To log on to the Home page, you require either the openssl extension or an SSL-enabled curl extension. If SSL is not enabled you will receive an error message in the Home page, but there is no impact on operations.
If you intend to target delivery based on browser or operating system, then you must enable phpSniff.
PHP time zone 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 time zone 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.
OpenX can be installed without the PHP time zone setup. OpenX will make a best guess about which time zone your server is in. You can then select a time zone manually if it is wrong. However, OpenX strongly recommends that you set up the time zone 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 synchronized. See your operating system documentation for more information.
Database Server
OpenX supports being installed with either MySQL or PostgreSQL.
N.B. We recommend that you install OpenX on a database with UTF-8 encoding.
Database Account
You can set up your database for OpenX 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.

OpenX recommends that you create a database account specifically for use with OpenX.
MySQL
Database versions
OpenX is tested on the three latest versions of MySQL.
- The latest stable version of MySQL (currently version 5.0) is recommended.
- The earliest supported version of MySQL is 4.0.18.
- MySQL 3.x is not supported.
Database Permissions
When installing on MySQL, the following database permissions are required:
- SELECT
- INSERT
- UPDATE
- DELETE
- CREATE TABLE
- CREATE TEMPORARY TABLE*
- DROP TABLE
- CREATE INDEX
- DROP INDEX
- LOCK TABLES
* - Some hosts do not grant the Temporary Table permissions by default. Please check with your server administrator first.
Table Types
OpenX can use either the MyISAM or InnoDB table types. Please see the documentation on the different supported MySQL Table Types, to ensure that you select a table type that is appropriate for your installation.
PostgreSQL
Database versions
OpenX is tested on the three latest versions of PostgreSQL.
- The latest stable version of PostgreSQL. (currently version 8.3) is recommended.
Database permissions
To install OpenX on PostgreSQL the following database permissions are required:
| To be fully defined. For now it's safest to use the "root" PostgreSQL user. |
| OpenX requires that the PL/PgSQL language be installed onto the database you are going to use. Otherwise you need to install using the "root" PostgreSQL user so that this language can be created. |
