Project

General

Profile

Actions

Bug #101059

open

Allow install tool sessions without shared file system

Added by Hannes Lau over 1 year ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Install Tool
Target version:
-
Start date:
2023-06-14
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
11
PHP Version:
8.1
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Fix the session storage for the install tool for systems with multiple web servers without a shared file system.

Our TYPO3 setup consist of multiple nodes without a shared file system. All instances have access to the same S3 storage, database and cache server. A load balancer passes http requests randomly to one of the nodes.

In this setup, the install tool components of the TYPO3 backend do not work. When requesting the "Maintenance" backend module, the user is first required to login. After a successful login, one of two things happens:

  • The user sees the message: 'The install tool session expired. Please reload the backend and try again.'
  • The user is required to login again

Both outcomes indicate that the user session is lost.

The session service of the install tool seems to be hardcoded to file system based sessions.

\TYPO3\CMS\Install\Service\SessionService::__construct

   $sessionHandler = GeneralUtility::makeInstance(
      FileSessionHandler::class,
      Environment::getVarPath() . '/session',
      $this->expireTimeInMinutes
   );

Without a shared file system between multiple nodes (or stickiness on the LB), file system based sessions will not work.

Suggestion: Use the configured `DatabaseSessionBackend` not only for the regular backend user session, but also for the install tool. Alternatively: Add an extra setting to configure the install tool session backend separately from the other backend session backend.


Related issues 2 (1 open1 closed)

Related to TYPO3 Core - Bug #72074: FileLockStrategy fails on NFS foldersNew2015-12-06

Actions
Related to TYPO3 Core - Bug #93878: TYPO3 uses flock() directly (hard-wired) for session lockingClosed2021-04-08

Actions
Actions #1

Updated by Benni Mack over 1 year ago

  • Related to Bug #72074: FileLockStrategy fails on NFS folders added
Actions #2

Updated by Benni Mack over 1 year ago

  • Related to Bug #93878: TYPO3 uses flock() directly (hard-wired) for session locking added
Actions

Also available in: Atom PDF