Installing TYPO3

This chapter covers each of the steps required to install TYPO3 using Composer.

For more information on how to deploy TYPO3 to a live environment, visit the deploying TYPO3 chapter.

Pre-installation checklist

  • Command line (CLI) access with the ability to create directories and symbolic links.
  • Access to Composer via the CLI (for local development)
  • Access to the web server's root directory
  • Database with appropriate credentials

Create the project with Composer

The following command will install TYPO3 v12. If you want to install another version of TYPO3 find documentation by using the version selector on the left side of this page.

At the root level of your web server, execute the following command:

composer create-project typo3/cms-base-distribution example-project-directory "^12"
Copied!
composer create-project "typo3/cms-base-distribution:^12" example-project-directory
Copied!
# Create a directory for your project
mkdir example-project-directory

# Go into that directory
cd example-project-directory

# Tell DDEV to create a new project of type "typo3"
# 'docroot' MUST be set to 'public'
# At least PHP 8.1 is required by TYPO3 v12. Adapt the PHP version to your needs.
ddev config --project-type=typo3 --docroot=public --php-version 8.1

# Start the server
ddev start

# Fetch a basic TYPO3 installation and its dependencies
ddev composer create "typo3/cms-base-distribution:^12"
Copied!

This command pulls down the latest release of the given TYPO3 version and places it in the example-project-directory/.

After this command has finished running, the example-project-directory/ folder contains the following files and folders, where var/ is added after the first login into the TYPO3 backend:

.
├── .gitignore
├── composer.json
├── composer.lock
├── LICENSE
├── public
├── README.md
├── var
└── vendor
Copied!

Run the setup process

Setup TYPO3 in the console

New in version 12.1

A CLI command setup has been introduced as an alternative to the existing GUI-based web installer.

Interactive / guided setup (questions/answers):

# Use console command to run the install process
# or use the Install Tool GUI (See below)
./vendor/bin/typo3 setup
Copied!
# Use console command to run the install process
# or use the Install Tool GUI (See below)
./vendor/bin/typo3 setup
Copied!
# Use console command to run the install process
# or use the Install Tool GUI (See below)
ddev exec ./vendor/bin/typo3 setup
Copied!

Or use the GUI installer in the browser

Create an empty file called FIRST_INSTALL in the public/ directory:

touch example-project-directory/public/FIRST_INSTALL
Copied!
echo $null >> public/FIRST_INSTALL
Copied!
ddev exec touch public/FIRST_INSTALL
Copied!
.
├── .gitignore
├── composer.json
├── composer.lock
├── LICENSE
├── public
    └── FIRST_INSTALL
├── README.md
├── var
└── vendor
Copied!

Access TYPO3 via a web browser

After you have configured your web server to point at the public directory of your project, TYPO3 can be accessed via a web browser. When accessing a new site for the first time, TYPO3 automatically redirects all requests to /typo3/install.php to complete the installation process.

Scan environment

TYPO3 will now scan the host environment. During the scan TYPO3 will check the host system for the following:

  • Minimum required version of PHP is installed.
  • Required PHP extensions are loaded.
  • php.ini is configured.
  • TYPO3 is able to create and delete files and directories within the installation's root directory.

If no issues are detected, the installation process can continue.

In the event that certain criteria are not met, TYPO3 will display a list of issues it has detected accompanied by a resolution for each issue.

Once changes have been made, TYPO3 can re-scan the host environment by reloading the page https://example-project-site.local/typo3/install.php.

Install Tool in 1-2-3 mode, first step.

Select a database

Select a database connection driver and enter the credentials for the database.

Install Tool in 1-2-3 mode, second step.

TYPO3 can either connect to an existing empty database or create a new one.

The list of databases available is dependent on which database drivers are installed on the host.

For example, if an instance of TYPO3 is intended to be used with a MySQL/MariaDB database then the PHP extension "pdo_mysql" is required. Once it is installed, MySQL Database will be available as an option.

Install Tool in 1-2-3 mode, third step.

Create administrative user & set site name

An administrator account needs to be created to gain access to TYPO3's backend.

An email address for this user can also be specified and a name can be given.

Install Tool in 1-2-3 mode, forth step.

Initialize

TYPO3 offers two options for initialization: creating an empty starting page or it can go directly to the backend administrative interface. Beginners should select the first option and allow TYPO3 to create an empty starting page. This will also generate a site configuration file.

Install Tool in 1-2-3 mode, fifth step.

Next steps

Now that the installation is complete, TYPO3 can be configured.

Using DDEV

A step-by-step tutorial is available on how to Install TYPO3 using DDEV. The tutorial also includes a video.