The system requirements listed here are for the the current master version of TYPO3. Please head over to version 10.4 of the guide for information regarding the system requirements of TYPO3 version 10.4.
TYPO3 requires a web server, PHP and a database system.
- TYPO3 requires a web server which can run PHP (Apache httpd, Nginx, Microsoft IIS, Caddy Server). If you use an Apache web server, some modules (for example mod_rewrite) must be activated. XAMPP is a software package which includes Apache, MariaDB, PHP and Open SSL for Windows and Linux. See Web server environment for details.
- The current master of TYPO3 requires PHP >= 7.4 <= 8.0. For PHP, several PHP extensions are necessary, others recommended. You possibly want to adjust the memory limit. See PHP environment.
- TYPO3 can be used with many database systems (MariaDB >= 10.2 <= 10.5, Microsoft SQL Server, MySQL 5.5+, PostgreSQL, SQLite). See Database environment on this page for details.
- If you want TYPO3 to automatically carry out image processing – for example scaling or cropping – you will need either GraphicsMagick (version 1.3 or newer) or ImageMagick (version 6 or newer) installed on the server. GraphicsMagick is recommended.
- Open SSL. Under Windows you must manually add the system environment variable - for example +OPENSSL_CONF = C:WebXamppXamp-7.3.28apacheconfopenssl.cnf*
For an overview see also get.typo3.org.
Should you encounter problems, the “Troubleshooting” chapter will help.
TYPO3 works with database management systems in the above mentioned versions. The InnoDB engine is required to be enabled in MySQL.
Required database privileges¶
The database user needs at 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
Web server environment¶
- Make sure AllowOverride
in the webserver configuration includes “Indexes” and “FileInfo” if you use Apache as
webserver and override the default configuration with
.htaccess(as done by default).
- Enable Apache modules (see Enable mod_rewrite in the Troubleshooting
section). The following modules are used by the default
- Block access to vcs directories (strongly recommended for security reasons).
- Block access to specific files and directories (strongly recommended for security reasons).
- Used for disabling directory listings (strongly recommended for security reasons).
- Used for compression, better performance.
- Adds HTTP headers for browser caching and better performance
- Used with mod_deflate. For Apache versions below
version 2.3.7 you don’t need to enable
- Used in combination with
- Enable human readable urls.
- Also used with
If the modules are not active, the corresponding directives in
not be activated (due to the
<IfModule conditions). This leaves you with a system,
which is less secure, slower and / or where some things will simply not work
(for example URL rewriting due to missing
<IfModule> directives in the default
for more clues about which modules are used for what purpose. Not all used modules
may have directives in the .htaccess file so do not necessarily expect
to contain a complete list of modules.
- During the installation process (first install) the default
.htaccessfile is copied to the document root folder of the project, if the file does not exist already.
Microsoft Internet Information Services (IIS)¶
- During the installation process (first install) the default IIS web config file is copied to the document root folder of the project, if the file does not exist already.
- Default IIS web config file with rewrite rules can be found in
- Make sure that the URL Rewrite plugin is installed on your system.
- NGINX web server does not support any static file like htaccess in the document root by default. The NGINX configuration has to be setup manually.
memory_limitset to at least 256M recommended
max_execution_timeset to at least 30 (240 seconds recommended)
max_input_vars setto at least 1500
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 and
are mandatory for a proper function:
- pcre >= 8.38
- These are optional but highly recommended:
- These might have to be installed separately:
- mysqli (if you use MySQL, MariaDB as DBMS)
- postgresql (if you use PostgreSQL as DBMS)
- sqlsrv (if you use SQL Server as DBMS)
- sqlite (if you use SQLite as DBMS)