From 5cd9d03ab55f1787753a0664acd28587040dccd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bjo=CC=88rn=20Fromme?= Date: Fri, 24 Jan 2020 13:18:42 +0100 Subject: [PATCH] Extend ddev config for multidomain setup --- .ddev/config.yaml | 152 ++--------------------- .ddev/docker-compose.yaml | 6 + config/sites/ep-events/config.yaml | 36 +++--- config/sites/ep-reisen/config.yaml | 2 +- config/sites/ski-boarderweek/config.yaml | 38 +++--- config/sites/ski-wochenenden/config.yaml | 38 +++--- config/sites/snowzone/config.yaml | 38 +++--- config/sites/unichamp/config.yaml | 38 +++--- public/.htaccess | 19 +-- 9 files changed, 120 insertions(+), 247 deletions(-) diff --git a/.ddev/config.yaml b/.ddev/config.yaml index 3000f1e1..d098edb9 100644 --- a/.ddev/config.yaml +++ b/.ddev/config.yaml @@ -7,153 +7,15 @@ webserver_type: apache-cgi router_http_port: "80" router_https_port: "443" xdebug_enabled: false -additional_hostnames: [] +additional_hostnames: + - ep-events + - ski-boarderweek + - snowzone + - unichamp + - ski-wochenenden + - schnee-event additional_fqdns: [] nfs_mount_enabled: true provider: default use_dns_when_possible: true timezone: Europe/Berlin - - -# This config.yaml was created with ddev version v1.12.2 -# webimage: drud/ddev-webserver:v1.12.2 -# dbimage: drud/ddev-dbserver-mariadb-10.2:v1.12.0 -# dbaimage: drud/phpmyadmin:v1.12.0 -# bgsyncimage: drud/ddev-bgsync:v1.12.0 -# However we do not recommend explicitly wiring these images into the -# config.yaml as they may break future versions of ddev. -# You can update this config.yaml using 'ddev config'. - -# Key features of ddev's config.yaml: - -# name: # Name of the project, automatically provides -# http://projectname.ddev.site and https://projectname.ddev.site - -# type: # drupal6/7/8, backdrop, typo3, wordpress, php - -# docroot: # Relative path to the directory containing index.php. - -# php_version: "7.2" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4" - -# You can explicitly specify the webimage, dbimage, dbaimage lines but this -# is not recommended, as the images are often closely tied to ddev's' behavior, -# so this can break upgrades. - -# webimage: # nginx/php docker image. -# dbimage: # mariadb docker image. -# dbaimage: -# bgsyncimage: - -# mariadb_version and mysql_version -# ddev can use many versions of mariadb and mysql -# However these directives are mutually exclusive -# mariadb_version: 10.2 -# mysql_version: 8.0 - -# router_http_port: # Port to be used for http (defaults to port 80) -# router_https_port: # Port for https (defaults to 443) - -# xdebug_enabled: false # Set to true to enable xdebug and "ddev start" or "ddev restart" -# Note that for most people the commands -# "ddev exec enable_xdebug" and "ddev exec disable_xdebug" work better, -# as leaving xdebug enabled all the time is a big performance hit. - -# webserver_type: nginx-fpm # Can be set to apache-fpm or apache-cgi as well - -# timezone: Europe/Berlin -# This is the timezone used in the containers and by PHP; -# it can be set to any valid timezone, -# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones -# For example Europe/Dublin or MST7MDT - -# additional_hostnames: -# - somename -# - someothername -# would provide http and https URLs for "somename.ddev.site" -# and "someothername.ddev.site". - -# additional_fqdns: -# - example.com -# - sub1.example.com -# would provide http and https URLs for "example.com" and "sub1.example.com" -# Please take care with this because it can cause great confusion. - -# upload_dir: custom/upload/dir -# would set the destination path for ddev import-files to custom/upload/dir. - -# working_dir: -# web: /var/www/html -# db: /home -# would set the default working directory for the web and db services. -# These values specify the destination directory for ddev ssh and the -# directory in which commands passed into ddev exec are run. - -# omit_containers: ["dba", "ddev-ssh-agent"] -# would omit the dba (phpMyAdmin) and ddev-ssh-agent containers. Currently -# only those two containers can be omitted here. -# Note that these containers can also be omitted globally in the -# ~/.ddev/global_config.yaml or with the "ddev config global" command. - -# nfs_mount_enabled: false -# Great performance improvement but requires host configuration first. -# See https://ddev.readthedocs.io/en/stable/users/performance/#using-nfs-to-mount-the-project-into-the-container - -# webcache_enabled: false (deprecated) -# Was only for macOS, but now deprecated. -# See https://ddev.readthedocs.io/en/stable/users/performance/#webcache - -# host_https_port: "59002" -# The host port binding for https can be explicitly specified. It is -# dynamic unless otherwise specified. -# This is not used by most people, most people use the *router* instead -# of the localhost port. - -# host_webserver_port: "59001" -# The host port binding for the ddev-webserver can be explicitly specified. It is -# dynamic unless otherwise specified. -# This is not used by most people, most people use the *router* instead -# of the localhost port. - -# host_db_port: "59002" -# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic -# unless explicitly specified. - -# phpmyadmin_port: "1000" -# The PHPMyAdmin port can be changed from the default 8036 - -# mailhog_port: "1001" -# The MailHog port can be changed from the default 8025 - -# webimage_extra_packages: [php-yaml, php7.3-ldap] -# Extra Debian packages that are needed in the webimage can be added here - -# dbimage_extra_packages: [telnet,netcat] -# Extra Debian packages that are needed in the dbimage can be added here - -# use_dns_when_possible: true -# If the host has internet access and the domain configured can -# successfully be looked up, DNS will be used for hostname resolution -# instead of editing /etc/hosts -# Defaults to true - -# project_tld: ddev.site -# The top-level domain used for project URLs -# The default "ddev.site" allows DNS lookup via a wildcard -# If you prefer you can change this to "ddev.local" to preserve -# pre-v1.9 behavior. - -# ngrok_args: --subdomain mysite --auth username:pass -# Provide extra flags to the "ngrok http" command, see -# https://ngrok.com/docs#http or run "ngrok http -h" - -# provider: default # Currently either "default" or "pantheon" -# -# Many ddev commands can be extended to run tasks before or after the -# ddev command is executed, for example "post-start", "post-import-db", -# "pre-composer", "post-composer" -# See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more -# information on the commands that can be extended and the tasks you can define -# for them. Example: -#hooks: -# post-start: -# - exec: composer install -d /var/www/html diff --git a/.ddev/docker-compose.yaml b/.ddev/docker-compose.yaml index 8b4fab13..b2ce8757 100644 --- a/.ddev/docker-compose.yaml +++ b/.ddev/docker-compose.yaml @@ -112,7 +112,13 @@ services: com.ddev.approot: $DDEV_APPROOT external_links: + - "ddev-router:ep-events.ddev.site" - "ddev-router:ep-reisen.ddev.site" + - "ddev-router:schnee-event.ddev.site" + - "ddev-router:ski-boarderweek.ddev.site" + - "ddev-router:ski-wochenenden.ddev.site" + - "ddev-router:snowzone.ddev.site" + - "ddev-router:unichamp.ddev.site" healthcheck: interval: 1s diff --git a/config/sites/ep-events/config.yaml b/config/sites/ep-events/config.yaml index a9802b33..0a9d4b6e 100644 --- a/config/sites/ep-events/config.yaml +++ b/config/sites/ep-events/config.yaml @@ -1,9 +1,17 @@ -rootPageId: 884 base: 'https://www.ep-events.de' baseVariants: - base: 'https://ep-events.burn.dpn' condition: 'applicationContext == "Development"' + - + base: 'https://ep-events.ddev.site' + condition: 'applicationContext == "Development/Ddev"' +disableStaticFileCache: false +errorHandling: + - + errorCode: '404' + errorHandler: Page + errorContentSource: 't3://page?uid=608' languages: - title: Deutsch @@ -31,16 +39,7 @@ languages: fallbackType: strict fallbacks: '' flag: gb -errorHandling: - - - errorCode: '404' - errorHandler: Page - errorContentSource: 't3://page?uid=608' -routes: - - - route: robots.txt - type: staticText - content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" +rootPageId: 884 routeEnhancers: NewsPlugin: type: Extbase @@ -117,10 +116,15 @@ routeEnhancers: routeFieldName: uid PageTypeSuffix: type: PageType - default: '/' + default: / index: '' map: - '/': 0 - '/json': 1703 - 'sitemap.xml': 1533906435 - 'yoast-snippetpreview.json': 1480321830 + /: 0 + /json: 1703 + sitemap.xml: 1533906435 + yoast-snippetpreview.json: 1480321830 +routes: + - + route: robots.txt + type: staticText + content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" diff --git a/config/sites/ep-reisen/config.yaml b/config/sites/ep-reisen/config.yaml index 6d2ff1b1..8fbc375c 100644 --- a/config/sites/ep-reisen/config.yaml +++ b/config/sites/ep-reisen/config.yaml @@ -7,7 +7,7 @@ baseVariants: base: 'https://schnee-event.burn.dpn' condition: 'applicationContext == "Development/Skimax"' - - base: 'https://ep-reisen-web.ddev.site' + base: 'https://ep-reisen.ddev.site' condition: 'applicationContext == "Development/Ddev"' disableStaticFileCache: true errorHandling: diff --git a/config/sites/ski-boarderweek/config.yaml b/config/sites/ski-boarderweek/config.yaml index fdb9adb7..6404fef8 100644 --- a/config/sites/ski-boarderweek/config.yaml +++ b/config/sites/ski-boarderweek/config.yaml @@ -1,9 +1,17 @@ -rootPageId: 24 base: 'https://www.ski-boarderweek.de' baseVariants: - base: 'https://ski-boarderweek.burn.dpn' condition: 'applicationContext == "Development"' + - + base: 'https://ski-boarderweek.ddev.site' + condition: 'applicationContext == "Development/Ddev"' +disableStaticFileCache: false +errorHandling: + - + errorCode: '404' + errorHandler: Page + errorContentSource: 't3://page?uid=608' languages: - title: Deutsch @@ -17,16 +25,7 @@ languages: hreflang: de-DE direction: '' flag: de -errorHandling: - - - errorCode: '404' - errorHandler: Page - errorContentSource: 't3://page?uid=608' -routes: - - - route: robots.txt - type: staticText - content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" +rootPageId: 24 routeEnhancers: TeamPlugin: type: Extbase @@ -48,11 +47,16 @@ routeEnhancers: routeFieldName: path_segment PageTypeSuffix: type: PageType - default: '/' + default: / index: '' map: - '/': 0 - '/json': 1701 - '/html': 1702 - 'sitemap.xml': 1533906435 - 'yoast-snippetpreview.json': 1480321830 + /: 0 + /json: 1701 + /html: 1702 + sitemap.xml: 1533906435 + yoast-snippetpreview.json: 1480321830 +routes: + - + route: robots.txt + type: staticText + content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" diff --git a/config/sites/ski-wochenenden/config.yaml b/config/sites/ski-wochenenden/config.yaml index f0ad45d4..d880dfab 100644 --- a/config/sites/ski-wochenenden/config.yaml +++ b/config/sites/ski-wochenenden/config.yaml @@ -1,9 +1,17 @@ -rootPageId: 14 base: 'https://www.ski-wochenenden.de' baseVariants: - base: 'https://ski-wochenenden.burn.dpn' condition: 'applicationContext == "Development"' + - + base: 'https://ski-wochenenden.ddev.site' + condition: 'applicationContext == "Development/Ddev"' +disableStaticFileCache: false +errorHandling: + - + errorCode: '404' + errorHandler: Page + errorContentSource: 't3://page?uid=608' languages: - title: Deutsch @@ -17,16 +25,7 @@ languages: hreflang: de-DE direction: '' flag: de -errorHandling: - - - errorCode: '404' - errorHandler: Page - errorContentSource: 't3://page?uid=608' -routes: - - - route: robots.txt - type: staticText - content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" +rootPageId: 14 routeEnhancers: StaticResultsPlugin: type: Extbase @@ -45,11 +44,16 @@ routeEnhancers: filter_settings: '[A-Z\d%\-]+' PageTypeSuffix: type: PageType - default: '/' + default: / index: '' map: - '/': 0 - '/json': 1701 - '/html': 1702 - 'sitemap.xml': 1533906435 - 'yoast-snippetpreview.json': 1480321830 + /: 0 + /json: 1701 + /html: 1702 + sitemap.xml: 1533906435 + yoast-snippetpreview.json: 1480321830 +routes: + - + route: robots.txt + type: staticText + content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" diff --git a/config/sites/snowzone/config.yaml b/config/sites/snowzone/config.yaml index 5ec3d0dd..49ff557c 100644 --- a/config/sites/snowzone/config.yaml +++ b/config/sites/snowzone/config.yaml @@ -1,9 +1,17 @@ -rootPageId: 25 base: 'https://www.snowzone.net' baseVariants: - base: 'https://snowzone.burn.dpn' condition: 'applicationContext == "Development"' + - + base: 'https://snowzone.ddev.site' + condition: 'applicationContext == "Development/Ddev"' +disableStaticFileCache: false +errorHandling: + - + errorCode: '404' + errorHandler: Page + errorContentSource: 't3://page?uid=608' languages: - title: Deutsch @@ -17,16 +25,7 @@ languages: hreflang: de-DE direction: '' flag: de -errorHandling: - - - errorCode: '404' - errorHandler: Page - errorContentSource: 't3://page?uid=608' -routes: - - - route: robots.txt - type: staticText - content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" +rootPageId: 25 routeEnhancers: TeamPlugin: type: Extbase @@ -48,11 +47,16 @@ routeEnhancers: routeFieldName: path_segment PageTypeSuffix: type: PageType - default: '/' + default: / index: '' map: - '/': 0 - '/json': 1701 - '/html': 1702 - 'sitemap.xml': 1533906435 - 'yoast-snippetpreview.json': 1480321830 + /: 0 + /json: 1701 + /html: 1702 + sitemap.xml: 1533906435 + yoast-snippetpreview.json: 1480321830 +routes: + - + route: robots.txt + type: staticText + content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" diff --git a/config/sites/unichamp/config.yaml b/config/sites/unichamp/config.yaml index cad09326..8f5e4ff1 100644 --- a/config/sites/unichamp/config.yaml +++ b/config/sites/unichamp/config.yaml @@ -1,9 +1,17 @@ -rootPageId: 26 base: 'https://www.unichamp.de' baseVariants: - base: 'https://unichamp.burn.dpn' condition: 'applicationContext == "Development"' + - + base: 'https://unichamp.ddev.site' + condition: 'applicationContext == "Development/Ddev"' +disableStaticFileCache: false +errorHandling: + - + errorCode: '404' + errorHandler: Page + errorContentSource: 't3://page?uid=608' languages: - title: Deutsch @@ -17,16 +25,7 @@ languages: hreflang: de-DE direction: '' flag: de -errorHandling: - - - errorCode: '404' - errorHandler: Page - errorContentSource: 't3://page?uid=608' -routes: - - - route: robots.txt - type: staticText - content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" +rootPageId: 26 routeEnhancers: TeamPlugin: type: Extbase @@ -48,11 +47,16 @@ routeEnhancers: routeFieldName: path_segment PageTypeSuffix: type: PageType - default: '/' + default: / index: '' map: - '/': 0 - '/json': 1701 - '/html': 1702 - 'sitemap.xml': 1533906435 - 'yoast-snippetpreview.json': 1480321830 + /: 0 + /json: 1701 + /html: 1702 + sitemap.xml: 1533906435 + yoast-snippetpreview.json: 1480321830 +routes: + - + route: robots.txt + type: staticText + content: "User-agent: *\r\nDisallow: /typo3/\r\nDisallow: /typo3_src/\r\nAllow: /typo3/sysext/frontend/Resources/Public/*\r\n" diff --git a/public/.htaccess b/public/.htaccess index c78f5b06..77d91490 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -1,5 +1,3 @@ -#SetEnv TYPO3_CONTEXT "Development" - ### Begin: Compression ### # Compressing resource files will save bandwidth and so improve loading speed especially for users @@ -238,8 +236,9 @@ AddDefaultCharset utf-8 # Enable URL rewriting RewriteEngine On - # Force SSL for all domains + # Force SSL for all domains except ddev RewriteCond %{HTTPS} off + RewriteCond %{HTTP_HOST} !\.ddev\.site$ RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L] # Store the current location in an environment variable CWD to use @@ -252,20 +251,6 @@ AddDefaultCharset utf-8 #RewriteRule .? - [E=TYPO3_CONTEXT:Development] #RewriteCond %{HTTP_HOST} ^staging\.example\.com$ #RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging] - RewriteCond %{HTTP_HOST} ^eptypo3\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development] - RewriteCond %{HTTP_HOST} ^ep\-events\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development] - RewriteCond %{HTTP_HOST} ^ski\-wochenenden\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development] - RewriteCond %{HTTP_HOST} ^ski\-boarderweek\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development] - RewriteCond %{HTTP_HOST} ^snowzone\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development] - RewriteCond %{HTTP_HOST} ^unichamp\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development] - RewriteCond %{HTTP_HOST} ^schnee\-event\.burn\.dpn$ - RewriteRule .? - [E=TYPO3_CONTEXT:Development/Skimax] # Rule for versioned static files, configured through: # - $GLOBALS['TYPO3_CONF_VARS']['BE']['versionNumberInFilename']