Support #11741

upgrade Typo3 9.5.22 (forkred)

Added by Marc Egger 11 months ago. Updated 2 months ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


Steps to upgrade Typo3 to 9.5.22 with QFQ and UZH CD taken for Forkred Project.

Upgrade Typo3 v8 (to most recent version)

  • Backup LocalConfiguration.php!
  • download 8.7.32
    wget --content-disposition
    tar -xzf typo3_src-8.7.32.tar.gz
    rm typo3_src-8.7.32.tar.gz
  • replace symlink typo3_src
    rm typo3_src
    ln -s /var/www/typo3_src-8.7.32/ typo3_src
  • open T3 backend > install > upgraade wizard

Upgrade Typo3 v9

  • replace symlink
    rm typo3_src
    ln -s /var/www/typo3_src-9.5.22 typo3_src
  • upgrade wizzard
    • go install tool: install.php
    • upgrade > run upgrade wizard
    • execute all except the ones that install extensions
      • side note: executed but not sure if good: Merge be_groups access rights from pages_language_overlay to pages
      • side note: interesting: Introduce URL parts ("slugs") to all existing pages
        • TYPO3 includes native URL handling. Every page record has its own speaking URL path called "slug" which can be edited in TYPO3 Backend. However, it is necessary that all pages have a URL pre-filled. This is done by evaluating the page title / navigation title and all of its rootline.
  • Database analyze tool
    • go to install tool: install.php
    • Analyze Database Structure > apply all changes
      • removed tables renamed to: zzz_tableName
      • removed fields renamed to: zzz_fieldName
      • completely dropped one field: DROP INDEX `sys_log_uid` ON `sys_history` (Not done on forkred-simon !)
  • Optional (not done): Clear User Settings
  • clear caches
    • Maintanance > Flush Cache
  • look at change log (just for info)
    • Upgrade > View Upgrade Documentation
  • delete the other temporary files, which TYPO3 saves in typo3temp/ by doing:
    • Install tool > Maintanance > Remove Temporary Assets
  • upgrade ldap manually (current version breaks Typo3>Extension)
    • extract newest version of ig_ldap_sso_aut to ext
      wget --content-disposition
      unzip -d ig_ldap_sso_auth
      chown -R www-data ig_ldap_sso_auth
  • upgrad extensions in typo3>Extensions:
    • qfq (FAF)
    • uzh cd
    • static_info_tables: kollektion von tabellen mit sprache und country data
    • rdct: deprecated url routing with hash index.php?RDCT=$hash
  • make sure that the upgraded extensions are activated
  • restore LDAP settings (check exactly these boxes):
    • Throw exception if configured incorrectly
    • Backend LDAP authentication
    • Backend user must exist
    • Enable local Backend users
    • Disable Backend group synchronization
    • Keep Backend groups
    • Frontend LDAP authentication
    • Disable Frontend group synchronization
    • Keep Frontend groups
  • check if qfq settings are still there
    • if not: use var_export(unserialize('<qfq settings string>')) on the old qfq settings and replace the ones in LocalConfiguration.php
    • chown www-data LocalConfiguration.php
  • Choose backend layout in Home>Edit>Appearance>Backend Layout > UZH CD - 4 column
  • search and replace title object removal by doing:
    • (Explenation: the line "cd.content.title >" causes exception!)
    • Typo3 > DB check: search for: "cd.content.title >"
    • replace all occurrences in templates with:
      # Hide the content title
      cd.content.title >
      cd.content.title = TEXT
      cd.content.title.value =
  • edit apache config
    vi /etc/apache2/apache2.conf
  • in apache config add directory and AllowOverride rule (adjust for your setup)
    <Directory /var/www/html/forkred-simon/>
      Options Indexes FollowSymLinks
      AllowOverride Indexes FileInfo AuthConfig Options=MultiViews,Indexes
      Require all granted
  • .htaccess
    • copy from here to page root:
    • Add redirect for Extensions for english language before line "# Stop rewrite processing, [...]" (not neccessary anymore since QFQ now creates correct absolute urls)
      # Marc: remove 'en' directory from url if path leads to extension directory and requested file does not exist,
      # e.g.: en/typo3conf/ext/qfq/example.jpg ---> typo3conf/ext/qfq/example.jpg
      # Explenation of used flags for RewritteRule:
      # QSA: Appends any query string from the original request URL to any query string created in the rewrite target
      # L: Stop the rewriting process immediately and don't apply any more rules.
      # NC: Makes the pattern comparison case-insensitive.
      # NE: Prevent mod_rewrite from applying hexcode escaping of special characters in the result of the rewrite.
      # R=307: Forces an external redirect, with the specified HTTP status code: 307 (temporary redirect, keep http request method e.g. POST stays POST)
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME} !-l
      RewriteRule ^en/typo3conf/ext/(.*)$ %{ENV:CWD}typo3conf/ext/$1 [QSA,L,NC,NE,R=307]
  • restart apache
    • service apache2 reload
    • service apache2 restart
  • add site configuration:
    • Typo3 > Sites (left) > Add new site configuration for this site
      • entry point: "" (adjust for your setup)
      • site identifier: forkred (adjust for your setup)
      • Languages
        • Deutsch
          • Entry Point: '/'
          • Language key: English
          • Locale: de_DE
          • Two leter ... : German
          • Navigation Title: Deutsch
        • English
          • Entry Point: '/en/'
          • Language key: English
          • Locale: en_US.UTF-8
          • Two leter ... : English
          • Navigation Title: English
          • Fallback Type: Fallback ...
          • Fallback to language: Default Language
      • Error Page for 403 forbidden (shown when login expired):
        • Error Handling > Create New
          • HTTP Error status code: 403
          • How to handle Errors: Show Content from Page
          • Show Content from Page: t3://page?uid=1
            • this is the home page with the login form
  • Edit root page > fill in "/" as URL Segment
  • remove typo3conf/ENABLE_INSTALL_TOOL
  • flush all cashes
  • Test if all is well
    • excel export testen
    • pdf generation testen
    • email testen
    • login english und deutsch
  • delete backup files <--- forkred/preview


push_to_preview.txt (7.2 KB) push_to_preview.txt stand 15.12.2020 Simon Grüning, 15.12.2020 12:16

Related issues

Related to QFQ - Feature #11747: Maintenance Page with RedirectNewCarsten Rose16.12.2020


Updated by Simon Grüning 11 months ago

For the UZHMob migration see also switchdrive file /forkred/UZHMob/push_to_preview.txt for SQL statements and specific checks.


Updated by Marc Egger 11 months ago

  • Description updated (diff)

Updated by Marc Egger 11 months ago

  • Description updated (diff)

Updated by Marc Egger 9 months ago

  • Status changed from New to In Progress

Updated by Marc Egger 9 months ago


Updated by Marc Egger 9 months ago

  • Description updated (diff)

Updated by Marc Egger 9 months ago

  • Description updated (diff)

Updated by Marc Egger 9 months ago

  • Description updated (diff)

Updated by Marc Egger 8 months ago

  • Description updated (diff)

Updated by Marc Egger 8 months ago

  • Status changed from In Progress to New
  • Assignee changed from Marc Egger to Carsten Rose

Dieses Ticket beinhaltet meine doku wie ich Forkred auf Typo3 9 hochgezogen hab.

Dario hat dies benutzt um seine Instanz hochzuziehen, hat gut geklappt.

Soll ich die doku noch an einen andern ort kopieren? falls ja wohin?


Updated by Carsten Rose 8 months ago

  • Assignee changed from Carsten Rose to Marc Egger

Updated by Marc Egger 8 months ago

  • Status changed from New to Closed

Habe einen Link zu diesem Ticket dort eingefuegt. Die Formatierungssyntax vom wiki und von Redmine sind nicht kompatiebel und das von hand zu übersetzen erscheint mir den aufwand nicht wert.


Updated by Carsten Rose 7 months ago

  • Target version changed from 21.8.0 to 21.3.1

Updated by Marc Egger 2 months ago

  • Description updated (diff)

Also available in: Atom PDF