This repository demonstrates the installation of TYPO3 with symlinks according the Official Documentation.
The installation steps are done on ddev start if TYPO3 is not already setup.
Have a look at the DDEV Local configuration, especially
the post-start hooks which are doing the whole magic.
- Install Docker and DDEV Local (and on Windows also Git)
- Download and extract this repository (see links below)
- [optional] Edit
[project-root-folder]/.ddev/config.yamlto your likings - Open a shell, head to the installation folder created before and run
ddev start
A new browser window opens and displays the TYPO3 Install Tool. Follow the installation steps, most of the settings are already preconfigured by DDEV like the database credentials. Just enter the administrator account credentials and set a name for the site if you like.
Please note there are various branches for all TYPO3 versions since 6.2. Each branch is preconfigured to the latest supported components like PHP and MariaDB:
- Download for TYPO3 11.5
- Download for TYPO3 10.4
- Download for TYPO3 9.5
- Download for TYPO3 8.7
- Download for TYPO3 7.6
- Download for TYPO3 6.2
Enjoy!
Each branch defines the TYPO3_MAJOR_VERSION variable. The install script
fetches the last release of this major version directly from get.typo3.org.
It's also possible to install a specific release by defining TYPO3_SRC_VERSION
in the config.yaml instead. TYPO3_MAJOR_VERSION is ignored in this case.
The default web / document root is set to htdocs which can be changed in the
config.yaml to reflect your production server.
Also PHP and Database version can be changed in the config.yaml.
To avoid side effects please adapt the configuration before the first
ddev start.
To create and show the symlinks correctly on Windows you have to enable the Developer Mode or start your shell (Git Bash, cmd, PowerShell etc.) elevated (as adminstrator).
Otherwise the linked folders and files are shown as regular text files with some information about the target inside. This does not hurt the functionality, container but could be a little bit confusing on the host side if you are not aware of this behavior.
If you want to upgrade your TYPO3 version, please take all the information into consideration that the offical upgrade guide recommends: Upgrading TYPO3.
Here are all the steps to be considered in a nutshell:
- Update all third-party extensions to their latest possible version
- Deactivate all third-party extensions
⚠️ Export and backup the current database with:ddev export --file=db_backup.sql- Stop the project with
ddev stop - Remove
htdocs/typo3temp - Adapt the settings in
.ddev/config.yamlto your new requirements:php_versionmariadb_version/mysql_versionTYPO3_MAJOR_VERSION/TYPO3_SRC_VERSION
- Run
ddev start - Login to the install tool
- Run TYPO3's
Upgrade Wizard: "Upgrade -> Upgrade Wizard" - Switch to the backend
- Update extension list in "Admin Tools -> Extensions -> [dropdown] Get Extensions -> Update now"
- Update third-party extensions
- Activate third-party extensions again
In case you experience troubles with the update, you might want to check things like these:
- Have all third-party etensions been deactivated? If not, check the file
typo3conf/PackageStates.phpand delete all entries that point to a third-party extension. (If this was something you had to do, you might also want to check, if the foldertypo3tempstill exists and, if so, delete it) - Delete all files in
.ddevexceptconfig.yamland runddev startagain - If you have developed your own custom extensions, make sure to adjust the
version dependencies in
ext_emconf.phpin case you have defined any - In case the database has been completely overwritten:
- Check, if database has been completely overwritten by opening the backend
and trying to log in. If you cannot log in, the user has been deleted. (You
can also check the database status with
ddev sequelace, if you are on a Mac) - Import your database backup with:
ddev import --src=db_back.sql - Run TYPO3's database compare: "Admin Tools -> Maintenance -> Analyze Database Structure"
- Check, if database has been completely overwritten by opening the backend
and trying to log in. If you cannot log in, the user has been deleted. (You
can also check the database status with
If you would like to implement local extensions, a composer-like setup is
supported. All you have to do is create a folder for your local extensions at
the root level (default packages) and copy your local extensions to this
folder where each subfolder is an extension.
To use a folder other than packages overwrite the default with the variable
TYPO3_LOCAL_EXTENSIONS in .ddev/config.yaml under the web_environment key:
web_environment:
- TYPO3_LOCAL_EXTENSIONS=[your-folder-name]This project is released under the terms of the GNU GENERAL PUBLIC LICENSE