Attention
TYPO3 v11 has reached end-of-life as of October 31st 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
Requirements
TYPO3 version
Composer packages for TYPO3 can be found on packagist.org down to version 6.2.0: typo3/cms-*.
Composer
Composer is a program that is written in PHP. Instructions for downloading and installing Composer can be found on getcomposer.org.
Folder structure
If the root folder of your project is identical to your web root folder, you
need to change this. 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: files in the vendor/
folder could be directly
accessible via HTTP request.
Bad:
$ tree typo3_root
├── index.php
├── fileadmin/
├── typo3/
├── typo3conf/
└── typo3temp/
You will need a web root folder in 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. We will use public/
in our example.
Good:
$ tree typo3_root
└── public/
├── index.php
├── fileadmin/
├── typo3/
├── typo3conf/
└── typo3temp/
If you do not have such a web root directory, you will have to refactor your project before proceeding. Please be aware that you may need 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 their 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 system extensions or publicly available extensions, this tutorial about applying patches via Composer could help, but requires some advanced steps.