This template builds the TYPO3 CMS for Platform.sh. It comes pre-configured with MariaDB for storage and Redis for caching. A command line installer will automatically initialize the site on first deploy.
TYPO3 is a Content Management System (CMS) built in PHP.
- PHP 7.4
- MariaDB 10.4
- Redis 5.0
- Automatic TLS certificates
- Composer-based build
-
The first time the site is deployed, the TYPO3 console will initialize the database and create an initial user. It will not run again unless the
installer/.platform.installed
is removed. (Do not remove that file unless you want the installer to run on the next deploy!) -
The installer will create an administrator account with username/password
admin
/password
. You need to change this password immediately. Not doing so is a security risk. -
Enable the
pixelant/pxa-lpeh
plugin. It is already installed by default but must be enabled manually. This plugin changes TYPO3's 403/404 page handling to avoid a self-request HTTP request that can cause a race condition and deadlocks in some situations. See the TYPO3 documentation for more information.
The following changes have been made relative to TYPO3 as it is downloaded from typo3.org. If using this project as a reference for your own existing project, replicate the changes below to your project.
- The
.platform.app.yaml
,.platform/services.yaml
, and.platform/routes.yaml
files have been added. These provide Platform.sh-specific configuration and are present in all projects on Platform.sh. You may customize them as you see fit. - An additional Composer library,
platformsh/config-reader
, has been added. It provides convenience wrappers for accessing the Platform.sh environment variables. - A
sites/main/config.yaml
file is provided that reads the base URL from an environment variable. - A default
public/typo3conf/AdditionalConfiguration.php
file is provided that loads aPlatformshConfiguration.php
file if found. That file maps Platform.sh environment variables to the database, Redis, and base URL environment configuration needed by TYPO3. You may modify both of these files as needed. - The `pixelant/lpeh plugin is included via Composer, but must be enabled manually post-installation.
- Specifically, a relationship named
database
will automatically be wired to the TYPO3 primary database. Additionally, if a relationship namedrediscache
is defined it will be used as the cache backend. (It is included in this template.)