Attention

TYPO3 v9 has reached its end-of-life September 30th, 2021 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

You can order Extended Long Term Support (ELTS) here: TYPO3 ELTS.

Requirements

TYPO3 version

TYPO3 composer packages on packagist.org can be found down to version 6.2.0: typo3/cms

Composer

Of course, you need Composer. It's a program, written in PHP. Instructions how to download and install Composer can be found on getcomposer.org.

Folder structure

If your project root folder is identical to your web root folder, you must change that. Composer will add a vendor folder to your project root and if your project root and your web root are identical, this can be a security issue, because files in the vendor could be accessible directly via HTTP request.

Bad:

/
  index.php
  fileadmin/
  typo3/
  typo3conf/
  typo3temp/

You need a web root folder inside your project. You can find many tutorials with different names for your web root folder. The truth is: the name does not matter, because we can configure it in the settings in a later step. I will use public in my example.

Good:

/
  public/
    index.php
    fileadmin/
    typo3/
    typo3conf/
    typo3temp/

If you do not have such a web root directory, you must refactor your project before continuing. Please be aware to tell your web server about the changed web root folder, if necessary.

Code Integrity

Your project must have the TYPO3 core and all installed extensions in original state. If you applied manual changes to the files, these will be lost during the migration steps.

Note

If you need to apply hotfixes or patches to the TYPO3 core or publicly available extensions, this tutorial about applying patches via Composer could help, but requires some advanced steps.