Po seznámení s Drupalem a jeho moduly je na řadě říci si něco o aktualizacích Drupal core, což je důležité zejména z hlediska bezpečnosti. Malé aktualizace - patch release - většinou řeší nějaký bezpečnostní problém, buď přímo Drupalu nebo nějaké knihovny, kterou Drupal využívá. Půlroční - feature release - aktualizace naopak přináší hlavně novou funkcionalitu. Oficiální návody jsou zde:
- https://www.drupal.org/docs/8/update/update-core-manually
- https://www.drupal.org/docs/user_guide/en/security-update-core.html
V obou případech je vhodné nejdříve udělat zálohu (soubory i databáze), a pokud je to možné, nejdřív si vše vyzkoušet někde nanečisto.
Každou aktualizaci doprovází Release notes dokument. Tam najdeme vše důležité, co aktualizace přináší. Protože je Drupal komplexní systém, občas i přes veškerá testování dojde k vydání verze, která v určitých situacích může způsobovat různé problémy. Právě v Release notes (Known issues) bychom se to měli dovědět. Proto je také vhodné třeba i pár dní s aktualizací počkat a sledovat případné Known issues - tedy pokud update vyloženě neřeší nějaký zásadní problém, kdy je třeba aktualizovat ihned, aby útočník nekompromitoval náš web.
Např. při aktualizaci na Drupal 8.8.0 bylo nutné mít aktualizovaný modul Pathauto, jinak hrozila ztráta dat.
A ukázka výpisu Known issues, kte byl reportován například problémy s Group modulem:
Na možnou aktualizaci nás Drupal upozorní sám, tedy pokud máme zapnutý modul Update Manager.
Pak na stránce Extend -> Update (/admin/modules/update) najdeme potřebné informace.
Stejně tak můžeme navštívit stránku Reports -> Available updates (/admin/reports/updates) pro více detailů:

V mém případě mám Drupal verze 8.7.9, tu můžu aktualizovat v rámci řady (patch release) na verzi 8.7.11 (mezitím jsem už prošvihnul verzi 8.7.10) - tím nejspíš odstraním nějaké bezpečnostní problémy. Což se dočtu v příslušných Release notes:
- https://www.drupal.org/project/drupal/releases/8.7.10
- https://www.drupal.org/project/drupal/releases/8.7.11
Mezitím také vyšla nová feature release verze 8.8.0, která už má také svojí patch release aktualizaci 8.8.1:
- https://www.drupal.org/project/drupal/releases/8.8.0
- https://www.drupal.org/project/drupal/releases/8.8.1
Já chci mít tu nejnovější, takže budu aktualizovat stávající 8.7.9 rovnou na 8.8.1.
Postup aktualizace (po provedeném zálohování) je následující:
- Upravit soubor /sites/default/settings.php a nastavit $settings['update_free_access'] = TRUE;
- Dát stránku do maintenance modu (/admin/config/development/maintenance)
- Stáhnout archiv s danou verzí (v tomto případě 8.8.1)
- Nahrát si tento soubor na server
- Rozbalit si ho vedle hlavního webového adresáře
- V naší instalaci si smazat adresáře core a vendor, a také všechny přímé soubory v instalaci, tedy od .csslintrc až po web.config (pokud jsme je předtím sami ručně neměnili, např. .htaccess)
- Z aktualizované verze si tam tyto soubory a adresáře nahrát
- Spustit update.php skript (http://www.example.com/update.php)
- Pokud update proběhl bez problémů, tak na status stránce (/admin/reports/status) už uvidíme novou verzi Drupalu (8.8.1)
- V settings.php nastavíme $settings['update_free_access'] zpět na FALSE;
- Můžeme zrušit maintenance mod
- Vyčistíme cache (/admin/config/development/performance)
První krok je kontrola, zda splňuji potřebné požadavky. Verze 8.8.0 např. přestala podporovat staré PHP verze 5.5 a 5.6, minimální požadavek je 7.0.8.
Před spuštěním aktualizace ještě jednou připomenutí zálohy souborů a databáze.
Nová verze Drupalu potřebuje provést následující aktualizace v databázi.
Drupal byl aktualizován na aktuálně poslední 8.8.1 verzi.
Automatic Updates
https://www.drupal.org/project/automatic_updates
Tohle je zbrusu nový modul (první stabilní verze vydaná 19.12.2019), který má za cíl poskytnou automatické aktualizace do Drupalu. Plánem je, aby se později dostal přímo do Drupal core. Určitě se vyplatí sledovat.