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:
- Dependencies and version restrictions are not enforced which means you can for example install
fluidcontent
before you installflux
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. - Database schemas will be updated so you do not need to use the install tool's update wizard.
- 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.
- 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
andfluidcontent
) 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.