Templating manual · Installation · Unattended installation

2.4 Unattended installation

First, a general note about our branching strategy: we use a development, staging and master branch strategy which briefly described means that the master branch contains stable releases, the staging (and/or legacy, see full description) contains code being built for new releases - and the development branch contains all new features and major changes which will be merged into stable releases when completed. You can find the full description of this branch strategy in our Git strategy chapter, but the essense is: when our extensions depend on each other and you use the git repositories, you must make sure to check out the same branches on all repositories. for example if you downloaded Flux's development branch, then fluidcontent and others should also be downloaded from the development branch.

Getting a TYPO3 core using Git

You can check out the current master or any specific version of TYPO3 through the official (Github mirrored) core repository:

git clone "https://github.com/TYPO3/TYPO3.CMS.git" --depth 1

And preparing the base layout is a matter of running three commands:

ln -s TYPO3.CMS typo3_src
ln -s typo3_src/index.php
ln -s typo3_src/typo3

On 6.1 and below you will also need to link the t3lib folder:

ln -s typo3_src/t3lib

After this is performed, when the site is first opened, it will initialise the database tables if they do not exist - and present the first visitor with the install guide. To load a custom or pre-initialised set of database tables you can create your own fork of the "introduction" package from the official TYPO3 repositories, then adapt the SQL it contains. You can find a bit more about this strategy in our Github workflow description.

Unassisted installation from Git

When using the git repositories as sources for your unattended installation process you should of course first be familiar with our git branch strategy which is described briefly above. Checking out the proper branches is essential (and when using git, you can also choose to install stable or development states). To see command examples and information about the cloning and checkout of our repositories you can read the Install from Github chapter. You can then use those commands to prepare the extension files:

Unassisted installation with Composer

TODO: Write, @cedricziel

Extension installation commands

TYPO3 6.2 offers CLI commands to install extensions - the same commands are not possible on 6.1 and below, which means a fully unassisted install on 6.1 and below, will require at least one extension installation which cannot be performed with a command but must be inserted using scripting or a custom LocalConfiguration.php file. This guide is only concerned with the 6.2 CLI commands and will not teach you how to perform these steps on 6.1 and below.

Dispatching these commands is very simple:

./typo3/cli_dispatch.phpsh extbase extension:install flux
./typo3/cli_dispatch.phpsh extbase extension:install fluidcontent
# and so on with other extensions, always using the lowercase_underscored name

A few essential facts about installing extensions using these CLI commands:

  1. Dependencies and version restrictions are not enforced which means you can for example install fluidcontent before you install flux and can install versions usually not compatible with your current core version. This means you should make yourself aware of any dependencies and install those manually, in the right order.
  2. Database schemas will be updated so you do not need to use the install tool's update wizard.
  3. Caches will not be cleared so you should either perform these commands before TYPO3 has cached available classes, or clear the caches manually after installing.
  4. There is currently no way to insert TypoScript automatically using a CLI command - many of the Fluid Powered TYPO3 extensions do not require TypoScript (for example, flux, vhs, fluidpages and fluidcontent) but for those that do, the static TS templates must be added manually after installing.

Using this install procedure with your own Provider Extension is ideal - this way you can deploy a blank site with your custom templates available, without dumping and importing a database full of log records, deleted content/pages and more. A Provider Extension is also capable of loading TypoScript without requiring the static TypoScript to be included manually - this is described in the chapter about Configuration usage.

Jump to...