System requirements to safely run TYPO3 on your machine

What's the system environment for TYPO3

To safely run TYPO3 in your server we need to have some of the server settigs adjusted and some packages installed.
There are some minimum requirements that every server should have in order to at least run TYPO3. In this article we wil assume that
we are using PHP & MySQL as web server, mostly because this is the widely used setup around.

In this article we will consider only LTS (Long Term Support) versions of TYPO3.

TYPO3 7.6

Client browser support

The TYPO3 backend is accessed through a web browser. TYPO3 CMS 7 supports the following web browsers:

  • Internet Explorer 9 and later
  • Google Chrome (Windows, MacOS, Linux)
  • Firefox (Windows, MacOS, Linux)
  • Safari on MacOS
  • and other compatible modern browsers

Server system requirements

TYPO3 requires a web server with a PHP environment and a database. The minimum system requirements for running TYPO3 CMS 7 are:

  • Webserver capable of running PHP applications (Apache, Nginx, IIS or other)
  • PHP 5.5 up to 7
  • MySQL 5.5 up to 5.7 or compatible
  • more than 200 MB of disk space

Note: If you use any other webserver than Apache, make sure you add the necessary configuration normally provided in the various .htaccess files inside the TYPO3 core. This configuration is security relevant, therefore only experienced server administrators should create such configuration.

MySQL environment

TYPO3 works with MySQL in the above mentioned versions. It will also work on compatible "drop-in" replacements like MariaDB or Percona.

MySQL required privileges

The MySQL user needs a least the following privileges on the TYPO3 database:

  • SELECT, INSERT, UPDATE, DELETE
  • CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES

It is recommended to also grant the following privileges:

  • CREATE VIEW, SHOW VIEW
  • EXECUTE, CREATE ROUTINE, ALTER ROUTINE

PHP environment

  • memory_limit set to at least 64M
  • max_execution_time set to at least 30s (240s recommended)
  • register_globals disabled
  • AllowOverride in the Apache configuration includes "Indexes" and "FileInfo" (see FAQ below)

PHP required extensions

Your PHP needs to support the following extensions. Install will check if these are available.

  • These are usually part of the standard PHP package on most distributions:

    • filter
    • hash
    • openssl
    • pcre >= 8.30
    • session
    • soap
    • SPL
    • standard
    • xml
    • zip
    • zlib
  • These might have to be installed separately:

    • gd
    • json
    • mysqli

Recommended setup

There are plenty of possible setups for high performance TYPO3 installations (i.e. using Varnish Cache, Nginx, PHP-FPM, etc). Consider this resource for more ideas or suggestions: http://wiki.typo3.org/Performance_tuning

This is a basic recommended setup for best performance and increased functionality:

  • Apache with mod_expires and mod_rewrite enabled

  • MySQL 5.5 or newer

  • GraphicsMagick or ImageMagick v6 or newer installed on the server

  • PHP

    • version 5.5 or later
    • memory_limit set to at least 128M
    • max_execution_time set to at least 240s
    • max_input_vars set to at least 1500
    • always_populate_raw_post_data set to -1 (PHP version >= 5.6, <7.0)
  • Additional PHP extensions:

    • PHP opcode cache, i.e.: apc, xcache, eaccelerator, Zend Optimizer, wincache (in case of an IIS installation)
    • apcu caching (with at least 100 MB of memory available)
    • curl
    • mbstring
    • FreeType 2 (usually included within the PHP distribution)
    • bcmath or gmp (needed if you'd like to use the openid system extension)
    • fileinfo (mandatory for proper file type detection)

TYPO3 6.2

Client browser support

The TYPO3 backend is accessed through a web browser. TYPO3 CMS 6.2 LTS supports the following web browsers:

  • Internet Explorer 8 and later
  • Google Chrome (Windows, MacOS, Linux)
  • Firefox (Windows, MacOS, Linux)
  • Safari on MacOS
  • and other compatible modern browsers

Server system requirements

TYPO3 requires a web server with a PHP environment and a database. The minimum system requirements for running TYPO3 CMS 6.2 LTS are:

  • Webserver capable of running PHP applications (Apache, Nginx, IIS or other)
  • PHP >5.3.7 up to 5.5 (PHP 5.4 or later recommended)
  • MySQL 5.1 up to 5.6 or compatible (no "strict mode", see below)
  • more than 200 MB of disk space

MySQL environment

TYPO3 works with MySQL in the above mentioned versions. It will also work on compatible "drop-in" replacements like MariaDB or Percona. Note that MySQL "strict mode" is currently not supported by TYPO3. If your MySQL server is configured with either STRICT_TRANS_TABLES or STRICT_ALL_TABLES (especially true with MySQL 5.6, as this is a new default), you need to configure setDBinit in the Install Tool. See question 2 in the "Installation FAQ" below for more information.

MySQL required privileges

The MySQL user needs a least the following privileges on the TYPO3 database: SELECT, INSERT, UPDATE, DELETE CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES It is recommended to also grant the following privileges: CREATE VIEW, SHOW VIEW EXECUTE, CREATE ROUTINE, ALTER ROUTINE

PHP environment

  • memory_limit set to at least 64M
  • max_execution_time set to at least 30s (240s recommended)
  • register_globals disabled
  • disabled safe_mode (not supported)
  • disabled magic_quotes (not supported)
  • AllowOverride in the Apache configuration includes "Indexes" and "FileInfo" (see FAQ below)

PHP required extensions

Your PHP needs to support the following extensions. Install will check if these are available.

  • These are usually part of the standard PHP package on most distributions:

    • fileinfo
    • filter
    • hash
    • openssl
    • pcre
    • session
    • soap
    • SPL
    • standard
    • xml
    • zip
    • zlib
  • These might have to be installed separately:

    • gd
    • json
    • mysqli

Recommended setup

There are plenty of possible setups for high performance TYPO3 installations (i.e. using Varnish Cache, Nginx, PHP-FPM, etc). Consider this resource for more ideas or suggestions: http://wiki.typo3.org/Performance_tuning

This is a basic recommended setup for best performance and increased functionality:

  • Apache with mod_expires and mod_rewrite enabled

  • MySQL 5.5 or newer

  • GraphicsMagick or ImageMagick v6 or newer installed on the server

  • PHP

    • version 5.4 or later
    • memory_limit set to at least 128M
    • max_execution_time set to at least 240s
  • Additional PHP extensions:

    • PHP opcode cache, i.e.: apc, xcache, eaccelerator, Zend Optimizer, Zend OPcache, wincache (in case of an IIS installation)
    • apc caching (with at least 100 MB of memory available)
    • curl
    • mbstring
    • FreeType (usually included within the PHP distribution)
    • bcmath or gmp (needed if you'd like to use the openid system extension)
  • PHP access to /dev/urandom or /dev/random on Unix-like platforms for increased security. Make sure to add "/dev/random:/dev/urandom" to open_basedir settings if you use it. If these paths are unavailable, TYPO3 will attempt to simulate random number generation. This is less secure, reduces performance and throws out warnings in the TYPO3 system log.

  • TYPO3 works with PHP's IPv6 support, which is enabled by default since PHP 5.3. If you compile PHP 5.3 on your own, be aware not to use option "--disable-ipv6", because this will break the IPv6 support and the according unit tests.

TYPO3 4.5

The following configuration is the minimum required:

A web server capable of running PHP - PHP 5.2.0 or newer with the following extensions:

  • filter
  • GD2
  • JSON
  • mysql
  • pcre
  • session
  • SOAP
  • SPL
  • standard
  • xml
  • zlib 

Some extensions can be optionally compiled into PHP. A list of loaded extensions can be checked using the phpinfo() function.

  • memory_limit set to at least 64M in php.ini
  • MySQL 5.0 or newer
  • 200 MB of disk space
  • AllowOverride in the Apache configuration includes "Indexes" and "FileInfo" (see FAQ below)

The following configuration is recommended:

  • Apache 2.x
  • mod_expires and mod_rewrite enabled in the Apache configuration
  • PHP 5.2.0 or newer with the following extensions:
    • cURL
    • filter
    • GD2
    • hash
    • JSON
    • mbstring
    • mysql
    • openssl
    • pcre
    • session
    • SOAP
    • SPL
    • standard
    • xml
    • zlib

Some extensions can be optionally compiled into PHP. A list of loaded extensions can be checked using the phpinfo() function.

  • memory_limit set to 128M or more in php.ini
  • MySQL 5.1 or newer
  • GraphicsMagick - 200 MB or more of disk space
  • AllowOverride in the Apache configuration includes "Indexes" and "FileInfo"

Get future articles by E-mail