Tartalom
Bevezető
A Drupal az alaprendszeréhez (core) rendszeresen ad ki frissítéseket, amelyek lehetnek nagyobb frissítések, vagy csak kisebb hibajavító csomagok. Az alaprendszert többféleképpen lehet frissíteni, amik közül ebben a leírásban a Composer csomagkezelővel történő frissítési módszert tekintjük át.
Alapfeltételek
Ehhez a frissítési módhoz szükség van egyszer egy parancssoros hozzáférésre a tárhelyünkhöz, ami általában SSH-n keresztül kapcsolódik a szerverhez, valamint a parancssorból hozzá kell tudnunk férni a Composer PHP csomagkezelőhöz is. Ha ezekhez nem férünk hozzá, akkor lépjünk kapcsolatba a tárhelyszolgáltatónkkal és kérjünk tőlük segítséget. Ha pedig saját magunk menedzseljük a szerverünket, és nem rendelkezünk a Composer csomagkezelővel, akkor itt tájékozódhatunk annak telepítéséről.
Frissítések ellenőrzése
A frissítésekről többféleképpen is értesülhetünk. Először a telepítéskor beállított email címre érkezik egy értesítő, amiben tájékoztat minket a rendszer hogy a Drupal alaprendszeréhez újabb vált elérhetővé, így mielőbbi frissítés ajánlott. Ezután még magunk is ellenőrizhetjük a részleteket az alábbi módokon:
Ellenőrzés a weboldal admin felületén
Drupal alapú weboldaluk admin felületén két helyen is ellenőrizhetjük az alaprendszer új kiadásait:
Adminisztráció -> Bővítés -> Frissítés fül:
Illetve
Adminisztráció -> Jelentések -> Elérhető frissítések -> Lista fül:
Itt mindkét helyen ugyanazt láthatjuk.
Ellenőrzés a parancssorból
A frissítéseket a parancssorból is ellenőrizhetjük a Composer segítségével. Ehhez lépjünk be egy terminálon a weboldal gyökérkönyvtárába, ahol a következő paranccsal ellenőrizhetjük az alaprendszer frissíthetőségét:
composer show "drupal/*" --outdated
Ennek a kimenetének valami ilyesminek kell lennie:
Color legend: - patch or minor release available - update recommended - major release available - update possible drupal/core 9.3.2 9.3.3 Drupal is an open source content management platform powering millions of websites and applications. drupal/core-composer-scaffold 9.3.2 9.3.3 A flexible Composer project scaffold builder. drupal/core-project-message 9.3.2 9.3.3 Adds a message after Composer installation. drupal/core-recommended 9.3.2 9.3.3 Locked core dependencies; require this project INSTEAD OF drupal/core. drupal/core-vendor-hardening 9.3.2 9.3.3 Hardens the vendor directory for when it's in the docroot.
Ha tehát meggyőződtünk róla hogy újabb alaprendszer került kiadásra, folytathatjuk is a biztonsági mentéssel.
Biztonsági mentés készítése
Valamint, ha van rá lehetőségünk, először egy fejlesztői vagy tesztkörnyezetben végezzük a frissítést, és ha minden rendben működik a frissítés után is, csak akkor hajtsuk végre az éles oldalon is.
Drush telepítése
A Drush program használatával tovább fokozhatjuk a Drupal alapú weboldalunk parancssori kezelhetőségét, így például modulokat tudunk telepíteni, be/ki kapcsolni, állapot információkat tudunk lekérdezni a segítségével, és még sok egyéb karbantartási műveletet végre tudunk vele hajtani a weboldallal kapcsolatban. Az alaprendszer frissítésénél most csak az alaprendszer információinak lekérdezésére fogjuk használni, ezzel ellenőrizve a frissítés sikerességét.
Ez csak egy egyszeri művelet, így ha még korábban nem telepítettük a drush csomagot, akkor ezt az alábbi composer paranccsal tudjuk pótolni, amit az oldal webgyökér könyvtárából kell kiadnunk:
composer require --dev drush/drush
Magát a drush parancsot pedig a webgyökér alól a vendor/bin/drush útvonalon érhetjük el innentől, amit célszerű betenni a $PATH-ba, ha gyakran használjuk.
Most, hogy már minden rendelkezésre áll, kezdhetjük is a frissítést.
Drupal 9 alaprendszer frissítése a Composer segítségével
A frissítés előtt még ellenőrizhetjük a rendszert a Drush segítségével.
Rendszer ellenőrzése a Drush segítségével
Az alábbi drush paranccsal ellenőrizhetjük rendszerünket a webgyökérből futtatva:
vendor/bin/drush status
Drupal version : 9.3.2 Site URI : http://default DB driver : mysql DB hostname : localhost DB port : 3306 DB username : drupalsuli DB name : drupalsuli Database : Connected Drupal bootstrap : Successful Default theme : bartik Admin theme : seven PHP binary : /usr/bin/php7.4 PHP config : /etc/php/7.4/cli/php.ini PHP OS : Linux Drush script : /var/www/clients/client0/web2/web/vendor/bin/drush Drush version : 10.6.2 Drush temp : /tmp Drush configs : /var/www/clients/client0/web2/web/vendor/drush/drush/drush.yml Install profile : standard Drupal root : /var/www/clients/client0/web2/web Site path : sites/default Files, Public : sites/default/files Files, Temp : /tmp
Itt láthatjuk az alaprendszer főbb információit. A frissítés után újra ellenőrizzük majd.
Egyedi fájlok lementése
A Drupal alaprendszer kiadásának oldalán tájékozódjunk, hogy az adott frissítés melyik fájlokat érinti. Néha olyan is előfordul, hogy az alábbi fájlok is módosulnak:
- .htaccess
- robots.txt
- composer.json
- sites/default/default.settings.php
Ha ezek közül változik valamelyik, amiben időközben saját módosításokat hajtottunk végre, akkor a frissítés előtt mentsük le a sajátunkat, majd a frissítés után újra alkalmazni kell a módosításainkat.
Karbantartási mód bekapcsolása
Ha nincs lehetőségünk fejlesztői környezetben frissíteni az oldalt, hanem éles oldalon hajtjuk végre, akkor előtte kapcsoljuk be a karbantartási módot, hogy közben a külső forgalom ne tudja befolyásolni az adatbázist. A karbantartási módot kétféleképpen tudjuk bekapcsolni:
Admin felületen
Adminisztráció -> Beállítás -> Fejlesztés -> Karbantartási mód opció:
Itt jelöljük be a "Webhely használata karbantartási módban" opciót, majd mentsük le az űrlapot.
Parancssorban
A parancsorban a drush paranccsal tudjuk bekapcsolni a karbantartási módot. Ehhez lépjünk a webgyökérbe, és onnan futtassuk az alábbi parancsokat:
vendor/bin/drush state:set system.maintenance_mode 1
vendor/bin/drush cache:rebuild
A második parancs az oldal gyorsítótárát építi újra, így ennek hatására a a külső oldalakon is érvényesül a beállítás, ahol egy üzenet jelenik meg, amiben tájékoztatja a látogatókat a karbantartásról.
Frissítés
Az alaprendszer frissítéséhez futtassuk az alábbi parancsot, szintén a webgyökérből:
composer update drupal/core "drupal/core-*" --with-all-dependencies
Majd frissítsük az adatbázist is a drush paranccsal:
vendor/bin/drush updatedb
Itt a legtöbb esetben nem történik változás az adatbázisban, de időnként előfordul. Ilyenkor fel szokta sorolni a változtatásokat, majd utána rákérdez hogy folytathatja-e. Ha ilyen van, akkor természetesen folytassa a szükséges módosításokkal. Például a Linuxportálon bemutatott alaprendszer frissítés során pont volt adatbázis frissítés is, ezt itt tekinthetjük meg.
Egyedi fájlok visszaállítása
Ha voltak egyedi módosításaink, amik miatt le kellett menteni adott fájlokat, akkor az azokban elvégzett módosításokat most ismételjük meg a frissített fájlokban.
A saját, módosított fájljaink és a frissítéssel kapott új fájlok közötti különbségeket könnyen ellenőrizhetjük a diff parancs segítségével:
diff <régi lementett fájl> <új fájl, amivel felülírtuk a tárhelyen>
Karbantartási mód kikapcsolása és cache újraépítése
A karbantartási mód kikapcsolásához, és a gyorsítótárak újraépítéséhez futtassuk az alábbi parancsokat a webgyökérből:
vendor/bin/drush state:set system.maintenance_mode 0
vendor/bin/drush cache:rebuild
Rendszer ellenőrzése
Ha idáig mindennel megvagyunk, ellenőrizzük ismét a Drupal alaprendszert a drush paranccsal:
vendor/bin/drush status
Drupal version : 9.3.3 Site URI : http://default DB driver : mysql DB hostname : localhost DB port : 3306 DB username : drupalsuli DB name : drupalsuli Database : Connected Drupal bootstrap : Successful Default theme : bartik Admin theme : seven PHP binary : /usr/bin/php7.4 PHP config : /etc/php/7.4/cli/php.ini PHP OS : Linux Drush script : /var/www/clients/client0/web2/web/vendor/bin/drush Drush version : 10.6.2 Drush temp : /tmp Drush configs : /var/www/clients/client0/web2/web/vendor/drush/drush/drush.yml Install profile : standard Drupal root : /var/www/clients/client0/web2/web Site path : sites/default Files, Public : sites/default/files Files, Temp : /tmp
A verzió a megfelelőre változott. Még megnézhetjük az adminban is:
Konklúzió
Így frissíthetjük Drupal 9 alaprendszerünket a composer és a drush parancsokkal, aminek a lényege tulajdonképpen néhány parancssor futtatása, azonban ajánlott a frissítés előtti és utáni dolgokat is végrehajtani, hogy Drupal weboldalunk alaprendszerének frissítését biztonságosan végezhessük. Természetesen van ezen kívül más módja is a frissítésnek, erről a lenti Linuxportál-os linkeken tájékozódhatunk, azonban itt ezen az oldalon elsősorban a composer-es megoldásokra fókuszálunk.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 33 megtekintés