Mise à jour de l'instance typo3 de la 10.4.36 vers la 11.5.29 LTS
Pour cette mise à jour, on reste en PHP 7.4.1
L'analyse des fichiers des extensions signale deux extensions "maison" comme incompatibles : ot_admin et ot_connect.
Au total, ce sont trois méthodes qui sont concernées par les dépréciations.
Un ticket est créé pour la mise à niveau : V8-4761
| Extension | Version actuelle | Dernière version | Compatibilité Typo3 11 | Compat. PHP |
|---|---|---|---|---|
| fluidtypo3/flux | 9.7.2 | 9.7.4 | ^11 | ^7.4.0 - ^8 |
| fluidtypo3/vhs | 6.1.2 | 6.1.3 | ^11 | ^7.4.0 - ^8 |
| georgringer/news | 9.0 | 11.1.2 | ^11.5.24 | 7.4 -> 8.3 |
| helhum/typo3-console | 6.6 | 7.1.6 | ^11.5.26 | >=7.4.1 |
| causal/image_autoresize | 2.1 | 2.2.0 | ^11 | ^7.4 - ^8 |
| friendsoftypo3/frontend-editing | 2.0 | 3.1.1 | ^11.5 | ? |
| sgalinski/lfeditor | 6.0 | 7.1.11 | ^11.5 | ? |
| waldhacker/hcaptcha | 2.0 | 2.1.1 | ^11.5 | ^7.2 - ^8 |
| guzzle/guzzle | 6.x | 7.7 | ^7.2 - ^8 | |
| nimut/testing-framework | 5.2 | 6.0.1 | ^11.5.3 | ^7.2 - ^8.0 |
A priori pas de blocage, la mise à jour des extensions sera à faire en même temps que celle de typo3
/var/www/typo3/vendor/bin/typo3gzuncompress au chargement du backend, on peut le corriger avec un sh cli cache:flushsh cli referenceindex:updatedéploiement sur test5
cd /var/opentalent/git/ot_typo3 git fetch origin feature/v8-4762-upgrade_v11 git checkout feature/v8-4762-upgrade_v11
cd /var/www/typo3
je copie colle le contenu du composer.json dans celui de test5
php7.4 composer.phar update
je met à jour le fichier cli avec le bon chemin d'accès : /var/www/typo3/vendor/bin/typo3
mv public/.htaccess public/.htaccess.old cp public/typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-htaccess public/.htaccess
je rajoute les premières lignes custom du .htaccess
touch public/typo3conf/ENABLE_INSTALL_TOOL
je me rends à l'adresse https://sub.test5.opentalent.fr/typo3/install.php
je lance la maj de la structure de la DB
je lance l'upgrade wizard, et j'exécute toutes les tâches
je reset les préférences du backend user
je maj les packs de langues
je flush le cache
j'ajoute la ligne suivante au fichier nano /etc/php/7.4/cli/conf.d/20-apcu.ini : apc.enable_cli=on
sh cli cache:flush sh cli referenceindex:update
je retire le plugin frontend-editing qui ne fonctionne pas : php7.4 composer.phar remove friendsoftypo3/frontend-editing
Up:
Je renomme le fichier composer.json et je créé un symlink vers le nouveau composer.json versionné dans le repo ot_typo3 :
mv composer.json composer.json.orig
ln -s /var/opentalent/git/ot_typo3/composer.json ./composer.json
php7.4 composer.phar install
Je me connecte en SSH à prod-front
ssh exploitation@prod-front
Je met à jour le message de maintenance :
cd /var/www/typo3
nano public/maintenance.html
J'active le mode maintenance :
nano public/.htaccess
Je décommente les lignes :
#RewriteCond %{REMOTE_ADDR} !^10\.8\.0\.
#RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
#RewriteRule .* /maintenance.html [R=302,L]
Je vérifie depuis un appareil hors VPN que la maintenance est bien active.
Tony réalise un snapshot de prod-front
Je lance un dump de la DB :
cd ~
./dump_typo3.sh
cd /var/opentalent/git/ot_typo3
git fetch origin release/0.7
git checkout release/0.7
cd /var/www/typo3
Je renomme le fichier composer.json et je créé un symlink vers le nouveau composer.json versionné dans le repo ot_typo3 :
mv composer.json composer.json.orig
ln -s /var/opentalent/git/ot_typo3/composer.json ./composer.json
rm composer.lock
rm -r vendor/*
php7.4 composer.phar install
Je met à jour le fichier cli avec le bon chemin d'accès :
nano cli
On remplace /var/www/typo3/vendor/bin/typo3cms par /var/www/typo3/vendor/bin/typo3
On va devoir remplacer le fichier .htaccess, sans désactiver le mode maintenance :
cp public/typo3/sysext/install/Resources/Private/FolderStructureTemplateFiles/root-htaccess public/.htaccess.new
nano public/.htaccess.new
Ajouter les lignes suivantes :
# <--- Opentalent rules
#SetEnvIf Remote_Addr ^10\.8\.0\.[0-255] TYPO3_CONTEXT=Development
# Enable / Disable the opentalent ot_optimizer middlewares
SetEnv TYPO3_OPTIMIZE 1
RewriteCond %{REMOTE_ADDR} !^10\.8\.0\.
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteRule .* /maintenance.html [R=302,L]
# Opentalent rules --->
Puis remplacer le .htaccess existant :
mv public/.htaccess public/.htaccess.old
mv public/.htaccess.new public/.htaccess
Vérifier que le mode maintenance est toujours activé à l'extérieur
J'active le mode install de typo3 :
touch public/typo3conf/ENABLE_INSTALL_TOOL
Je me rends à l'adresse https://ohcluses.opentalent.fr/typo3/install.php
Je lance la maj de la structure de la DB
Je lance l'upgrade wizard, et j'exécute toutes les tâches
Je reset les préférences du backend user
Je maj les packs de langues
Je flush le cache
J'ouvre en édition le fichier suivant :
sudo nano /etc/php/7.4/cli/conf.d/20-apcu.ini
Et j'ajoute la ligne :
apc.enable_cli=on
Puis je lance les dernières commandes :
sh cli cache:flush
sh cli referenceindex:update
Je vérifie l'installation
J'édite le fichier .htaccess
cd /var/www/typo3
nano public/.htaccess
Je commente les lignes :
RewriteCond %{REMOTE_ADDR} !^10\.8\.0\.
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteRule .* /maintenance.html [R=302,L]
Si tout fonctionne bien, je retire les fichiers devenus inutiles :
rm composer.json.orig
rm public/.htaccess.old
Supprimer les champs et tables en zzz_ depuis le BE typo3
Finaliser la release dans GitKraken
Switcher sur master sur prod-front :
cd /var/opentalent/git/ot_typo3
git checkout master
git pull