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.
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.
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.
/ 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.
/ 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.
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.
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.