Előfeltételek
- PHP 8.3+ a Drupal 11 miatt
- Adatbázis: MySQL 8.0+ vagy MariaDB 10.6+ vagy PostgreSQL 16+
- Drupal10-et frissíteni kell 10.3.0 vagy újabb változatra
- Parancssori hozzáférés a konzolhoz (CLI), Composer és Drush telepítve legyen
Ha a Drupal megosztott tárhelyen van és nem férsz hozzá a CLI-hez, akkor
- \\wsl$ telepítése a lokális Windows alá és ott hozd létre a fenti környezetet: Debian + Apache + PHP + MySQL stb...
- Másold le az egész Drupal kódbázist a WSL$ alá. A settings/default/files tartalmából csak azt másold le, ami az oldalak megnyitásához szükséges, illetve amit a Drupal futás közben hozott létre...
Előkészületek
- Telepíts néhány fontos modult a még a működő 10-es változatnál. Ezeket: Devel, Backup and Migrate, Upgrade Status
- A Drupal 10 cache-ét ürítsd ki, például a Devel modullal modullal, amit telepítesz a Drupal 10-re.
- A Modulokhoz most már a z alábbi parancsot kell használni: composer require 'drupal/upgrade_status:^4.3'
- Általában is használni kell a composer-t.
- Biztonsági mentés
- Készíts biztonsági mentést a fájlkörnyezetről FTP hozzáférés segítségével (pl WinSCP, Total Commander )
- Készíts biztonsági mentést az adatbázisról a Backup and Migrate modullal az adatbázisról. Használhatod a phpMyAdmin-t is, ha van hozzáférésed a megosztott tárhelyhez.
- A phpMyAdmin-t majd az adatbázis visszatöltéséhez mindenképpen kell használnod. A visszatöltéshez majd használhatsz más adatbázis klienst is, például a HeidiSQL-t.
- Az elavult (deprecated) modulok eltávolítása. a Drupal 11-ben már nem használhatók az alábbi modulok: Actions UI, Book, Forum, Statistics, Tour, stb. A modulok listájában ezek deprecated szöveggel vannak kijelölve.
- A Book modulból van contributed változat, amit ha telepítesz, akkor átveszi az eredeti Book modul szerepét és csak utána szabad a gyári Book modult eltávolítani.
- A modulokat ki kell venni a fájlrendszerből is.
- Ha van olyan contrib modul, ami nem kompatibilis a Drupal 11-gyel, akkor azokat is uninstallálás után ki kell törölni.
- Ha szükség van rájuk, akkor a Drupal 11-essel kompatibilis változatokat kell telepíteni.
- Saját modul fejlesztésekor a legegyszerűbb lehetőség az, hogy a <modulneve>.info.yml fájlban átírod a core_version_requirement: ^10.3 || ^11-ot.
Kompatibilitás ellenőrzése
- Ha korábban még nem telepítetted az Upgrade Status nevű modult, akkor tedd ezt meg most és az /admin/reports/upgrade-status oldalon nézd meg a kompatibilitási jelentést.
- Használhatjuk még az egyes contrib modulok elavult kódjainak felderítésére a Drupal Rector modult.
A frissítés menete
- Fájl jogosultságok beállítása: chmod segítségével
chmod u+w web/sites/default chmod u+w web/sites/default/*settings.php chmod u+w web/sites/default/*services.yml
- Drush frissítése. Belépsz a konzolon abba a könyvtárba, ahol a Drupal van és futtatod az alábbi parancsot (telepíted a Drush-t): composer require drush/drush --no-update
- A drush telepítése után előfordulhat, hogy a drush-t az alábbi módon kell futtatni:
vendor/drush/drush/drush <paraméterek>
- A drush telepítése után előfordulhat, hogy a drush-t az alábbi módon kell futtatni:
- Frissítsed a core verzióját: composer require drupal/core-recommended:^11.0
- Futtasd a composer update parancsot.
Adatbázis frissítése
- Konzolban futtasd a drush updatedb paranccsal az adatbázis frissítését.
- Ürítsd ki a cache-eket. drush cr
Fájl jogosultságok visszaállítása
- 755 és 644 jogosultságokat kell visszaállítani.
Konfiguráció exportálása és tesztelése
- Ha egyes modulok hibát jeleznek, akkor érdemes a legújabb contrib modul verziókat feltenni (D11 kompatibilis). Ilyen például a menu_per_role modul.
- a régi témát úgy lehet kompatibilissé tenni, hogy a <témaneve>.info.yml fájlban átírjuk a kompatibilitási jelző. Ugyanez igaz az esetlege alap témákra is pl. bootstrap_barrio.
- Ellenőrizd a weboldal működését minden tekintetben. Ha már semmilyen aloldalon nincsenek hibák, akkor az Upgrade Status modult lehet uninstallálni.
- Ha a lokális teszt változat jól működik, akkor a Backup and Migration modullal (vagy a phpMyAdminnal vagy a HeidiSQL-lel) exportáld ki az adatbázist a teszt környezetből.
Az éles felület visszaállítása
- Ha minden teszt hibátlanul lefutott, akkor az éles felületen az adatbázis táblákat töröld ki a phpMyAdminnal és importáld be a frissített és exportált adatbázis tábláit az éles adatbázisba.
- A fájlrendszerből a core/*.* és a vendor/*.* és a modul/*.* könyvtárból pedig a korábban kitörölt vagy frissített modulokat töröld ki.
- A helyi tesztváltozat minden fájlját másold vissza az éles tárhelyre. Ha a settings/default/ könyvtárban nem volt változás, akkor azt nem kell. Ez több óra lehet.
- Minden contrib modult érdemes
Hibák javítása
- Futtasd az új változatot. Ha valamit eltoltál, akkor érdemes a teszt változaton kísérletezni és csak utána elvégezni az éles felületen. Ha az éles változaton nincsen konzolod, akkor csak ez a lehetőség van.
- Tipikus hibák:
- settings.php-ban valamit elállítottál.
- Adatbázis hozzáférés a teszt oldalon más usernévvel / jelszóval megy, mint az éles felületen.