A few hints about setting up an Introduction Package based TYPO3 v7 installation with Composer, Docker CE including Docker Compose and DDEV. I guess this could be helpful for those who still have to do bugfixing and development with the more or less outdated TYPO3 v7. My operating system is Linux Mint 19.1 Tessa MATE (64-bit). Things might vary on other systems.
Packagist provides the Introduction Package only in version 3 or higher. TYPO3 v7 though requires version 2 which is available only via TYPO3 Extension Repository. To use version 2 add https://composer.typo3.org/ to the repositories section of your composer.json file, require typo3-ter/introduction
instead of typo3/cms-introduction
and set ^2
as version constraint.
Starting with version 1.3.0 DDEV includes MariaDB 10.2 which is incompatible with TYPO3 v7 because some field names in TYPO3 database tables use reserved database keywords. Install version 1.2.0 which includes MariaDB 10.1. Since version 1.5.0 one can configure a DDEV project to use MariaDB 10.1 so there is no need to stick to an outdated version of DDEV.
During configuration DDEV creates an AdditionalConfiguration.php file for TYPO3 v8. Change the database section of this file to TYPO3 v7 format. To prevent the creation of this file at all you could choose the project type php instead of typo3 and manually add the file later.
To get around the database error Index column size too large. The maximum column size is 767 bytes. during installation of TYPO3 v7 add some custom database configuration to .ddev/mysql/my.cnf in your project directory to adjust collation and character set settings.
The Application Context of TYPO3 v7 can be set via YAML configuration.
During the trial and error process of setting up the TYPO3 v7 installation at some point the strange Docker related database error Failed to start xyz: db service health check timed out occured. I tried to reconfigure DDEV and deleted all Docker container and images but I didn't manage to fix this. Only creating a new DDEV project with a different name "fixed" this. This happened only once and as I am not yet familiar with all this stuff I probably missed something simple and obvious.
- Install Composer, Docker CE, Docker Compose and DDEV
- Create a project directory
- Create composer.json file inside this directory
- Run
composer install
- Run
ddev config --mariadb-version=10.1
and answer the questions - Adjust AdditionalConfiguration.php file
- Add custom database configuration
- Add Application Context configuration
- Run
ddev start
- Open local project URL in browser
- Install TYPO3 v7
Because of your problems with deleting the database: in the folder ~/.ddev you will find all database you can manually delete if you want.