Drupal 9 CMS rendszer telepítése, élesztése

botond küldte be 2021. 01. 10., v – 16:43 időpontban

Tartalom

 

Bevezető

A Drupal egy PHP nyelven írt ingyenes CMS rendszer, aminek a legújabb főverziója a 9, amely 2020. június 3-án került kiadásra. Ettől kezdve a Drupal 8.9 már csak javítócsomagokat kap, és a Drupal 8 – amiből ez az oldal is készült –  támogatása 2021 november 2-án véget is ér, ezért ezt az oldalt legkésőbb eddig nekem is fel kell frissítenem a 9-es főverzióra. Ismerkedésképpen készítek egy friss Drupal 9 telepítést és körülnézek benne, hogy ne az utolsó pillanatban kelljen kapkodnom, hogy melyik modulom lesz kompatibilis vele, mennyire kell átvariálnom az oldalt, stb. És ha már telepítek, akkor készítek ebből is egy kis leírást, hátha másoknak is hasznos infókkal szolgálhatok. Korábban már készítettem egy útmutatót a Drupal 8 telepítéséről, ebben a leírásban a 9-es főverzió aktuális kiadását fogjuk telepíteni.

 

 

Rendszerkövetelmények

A Drupal rendszerek működtetéséhez szükség van egy HTTP kiszolgálóra, például egy Apache-ra vagy Nginx-re, valamint egy adatbázis kiszolgálóra, például MySQL/MariaDB-re, és egy PHP-re. Kényelmi szempontból nem árt, ha még fent van egy phpMyAdmin is. Lényegében bármilyen LAMP rendszeren elfut. Egyedül ami fontos, hogy a Drupal rendszernek azért van tárhely igénye, tehát szerverünkben vagy bérelt tárhelyünkön rendelkeznünk kell megfelelő méretű tárhellyel. De erről majd kicsit később. Persze ezen kívül nem árt, ha van elegendő memória és processzor is, mivel a Drupal elég masszívan használja a PHP-t.

Itt az oldalon is található néhány szerver telepítő leírás, amik közül én most a Debian 10 tökéletes szerverre fogom telepíteni a Drupal 9-et. Persze ha valaki egy bérelt tárhelyre telepít, akkor ezekkel nincs semmi teendője.

Az ISPConfig felületen létrehoztam egy egyszerű webfiókot, amelyhez kapcsoltam egy adatbázist és egy shell felhasználót. Telepítés előtt ezen a szerveren tehát így néznek ki a szükséges dolgok az induláshoz:

Friss ISPConfig webtárhely a szerveren, és a fiókhoz kapcsolódó shell felhasználói terminál

Ezt a webfiókot drupal9.vm -nek neveztem el, amit hozzáadtam a hosts fájlomhoz is, így kényelmesen el tudom érni a gazda gép böngészőjéből.

Ha készen állunk, és a megfelelő tárhely is rendelkezésre áll, akkor kezdhetjük is a munkát!

 

Drupal 9 telepítőcsomag beszerzése és kicsomagolása

Új rendszer telepítésénél mindig a legfrissebb telepítőcsomagot szerezzük be a fejlesztő hivatalos oldaláról, és azt telepítsük. Jelen leírás készítésekor (2021-01-07) a Drupal rendszeréből a 9.1.2 változat a legfrissebb, ezért én most ezt telepítem.

Terminálban lépjünk be a felhasználói fiók webgyökér könyvtárába, majd töltsük le a telepítőcsomagot a wget parancs segítségével:

cd /var/www/drupal9.vm/web/
wget https://ftp.drupal.org/files/projects/drupal-9.1.2.tar.gz

Csomagoljuk ki a tar paranccsal:

tar -xvzf drupal-9.1.2.tar.gz --strip=1
--strip=1 kapcsolóval érhetjük el, hogy elhagyja a csomag belső könyvtár struktúrájában lévő első könyvtárszint létrehozását, így egyből az aktuális könyvtárba fogja kicsomagolni és nem egy drupal-9.1.2 nevű alkönyvtárba (amibe becsomagolták a készítők), ahonnan aztán másolgathatnánk ki utólag az egészet.
Persze csak akkor alkalmazzuk ezt, ha biztosan tudjuk, hogy egy plusz alkönyvtárba van becsomagolva az egész – mint a Drupal esetében is –, amit nem szeretnénk ha kibontaná a rendszer.

Kicsomagolás után kapunk körülbelül 18 000 fájlt a tárhelyünkre, aminek a teljes mérete 158 Mb. Ezeket a find és a du parancsokkal ellenőrizhetjük:

find . -type f | wc -l
du -sch .

A Drupal 9.1.2 helyfoglalása a kicsomagolás után

Ebben természetesen még benne van a letöltött tömörített telepítőfájl is, ami körülbelül 17 Mb. Ezt majd a legvégén töröljük, ha teljesen készen vagyunk a telepítéssel és rendben működik az oldal.

Mindezt csak azért írom le, hogy készülhessünk a Drupal tárhely igényeire, így előre tervezhetjük leendő weboldalunk szükségleteit. A Drupal talán a legrobusztusabb CMS rendszer, ami például nem futtatható bármelyik olcsó tárhelyen. Vannak tárhelyek, ahol például fájl darabszám korlát (Inode quota) is van, ezért mielőtt nekiállnánk a telepítésnek, illetve még előtte a tárhely kiválasztásának, tájékozódjunk a tárhelyünk tulajdonságairól – amennyiben osztott tárhelyet bérlünk –, nehogy beleszaladjunk egy alacsony inode korlátú tárhelybe, amin nem tudunk ennyi fájlt elhelyezni. A fájlok mérete viszont ma már nem akkora akadály még az olcsóbb tárhelyeken sem, mert már szinte mindenhol 200-500 Mb a legalsó csomagok határa. Azonban vegyük figyelembe, hogy ez a 158 Mb a frissen kicsomagolt telepítőcsomag mérete, így kalkuláljuk bele, hogy az oldal telepítése és az azt követő építése során még számos modul, nyelvi fordítás és téma (smink) is felkerülhet az oldalra, és még csak ezután jön a tartalomépítés, tehát a magunk által készített tartalom (pl. képek, videók, egyéb letöltések) helyigénye is. És persze ott lesz még az adatbázis helyfoglalása is, ami a kezdetekben ugyan elhanyagolható méretű, de több évnyi használat után jelentősen megnövekedhet, amennyiben rendszeresen készítünk tartalmat az oldalra. Tehát ha hosszabb távra tervezünk, akkor 1 GB alatti tárhelyben ne gondolkodjunk.
Ha stabil, megbízható tárhelyet keresünk leendő Drupal oldalunk számára, akkor érdemes megnézni például a Tárhely.eu Drupal tárhelycsomagjait, ahol már havi kb 1400 forintért kaphatunk egy 5 Gb méretű tárhelyet, ami kimondottan ezekre a CMS rendszerekre van optimalizálva, és még automata telepítő is van hozzá, ha nem szeretnénk magunk telepíteni a Drupalt.

 

Alternatív megoldás:
Ha nem rendelkezünk SSH belépéssel az adott webtárhelyen, akkor a fent említett telepítőfájlt a böngészőnkkel is letölthetjük a gépünkre, ahol kicsomagoljuk, majd FTP-n keresztül feltöltjük a tárhelyünkre. De ha van SSH hozzáférésünk, akkor mindenképpen az itt leírt módszert javaslom, mert FTP-n keresztül kicsomagolva feltölteni ezt a 18 ezer fájlt elég fájdalmas órákba is kerülhet még gyorsabb netkapcsolattal is, mivel az FTP nem működik túl hatékonyan a sok kis fájllal és könyvtárral.

 

 

Drupal 9 telepítése

Ha kicsomagoltuk a webgyökérbe a rendszert, akkor csak rá kell frissítenünk a böngészőben a tárhely kezdőoldalára, és már be is töltődik a Drupal 9.1.2 telepítőjének kezdő panelje.

Nyelv kiválasztása

Első lépésben a nyelvet kell kiválasztanunk:

Drupal 9 telepítése - Nyelv kiválasztása

Egyből felajánlja nekünk a saját nyelvünket, amit a telepítés során tölt le a szoftver. Ez lesz az oldal elsődleges nyelve, tehát például az admin felület nyelve is. Ha többnyelvű oldat szeretnénk építeni, azt a telepítés után kell beállítgatni ettől a nyelv választástól függetlenül. Ha kiválasztottuk a számunkra megfelelő alap nyelvet, akkor kattintsunk a kék mentés gombra.

Telepítési profil kiválasztása

Ahogy láthatjuk ebben a lépésben már a telepítő nyelve is átváltott magyarra, ahol a telepítés módját kell kiválasztanunk:

Drupal 9 telepítése - Telepítési profil kiválasztása

Háromféle opció közül választhatunk:

  • Általános: Általánosan használt telepítési mód előre beállított tulajdonságokkal.
    Célszerű ezt választanunk egy átlagos weboldal építéséhez. Ebben a telepítési módban sok előre telepített és beállított modult kapunk, amikkel gyakorlatilag már egy kész oldalt kapunk. Persze azért még sok-sok beállítás vár ránk a telepítés után, hogy olyanra formálhassuk az oldalunkat, amilyenre szeretnénk.
  • Minimális: Egyéni webhely építése előre beállított funkcionalitás nélkül. Haladó felhasználók számára.
    Itt magunknak kell mindent beállítanunk, még a legalapvetőbb dolgokat is ahhoz, hogy elkezdjük használni az oldalt.
  • Bemutató: Egy, a Drupal főbb képességeit felvonultató példajellegű webhely telepítése.
    Ezzel a profillal inkább demó oldalakat készíthetünk.

Én itt az Általános opciót ajánlom mindenkinek, mert ezzel már egy kész oldalt kapunk. Az előre telepített és beállított modulok hasznosak, tehát túlnyomó részüket amúgy is feltennénk, ha esetleg a minimális opciót választanánk. Tehát az általános móddal sok időt is megspórolhatunk ezeknek a beállítgatásával.

Adatbázis beállítása

Itt meg kell adnunk az oldal adatbázisának hozzáféréseit, amiben a telepítő létrehozza a szükséges dolgait:

Drupal 9 telepítése - Adatbázis beállítása

Először ki kell választani az adatbázisunk típusát. A MySQL és a MariaDB a legelterjedtebb, a legtöbb tárhelyszolgáltató is ezeket használja. A Debian a 9-es főverziójától például áttért a korábban használt MySQL-ről a MariaDB-re. Így tehát a Debian szervereken általában ez működik. Persze ha SQLite adatbázis motorunk van, akkor válasszuk azt.

Ezután adjuk meg az adatbázisunk nevét, az adatbázis-felhasználó nevét és annak jelszavát. Én megadtam azokat, amikkel létrehoztam ezen a tárhelyen az adatbázist.

Haladó lehetőségek

Ha rákattintunk a haladó lehetőségekre, akkor lenyílik még egy rész néhány további beállítással:

Drupal 9 telepítése - Adatbázis beállítása - Haladó lehetőségek

Normál helyzetben nincs ezeknek az állítgatására szükség, de adódhat úgy, hogy mégis hozzájuk kell nyúlnunk.

  • Kiszolgálónév: Alapesetben az adatbázis kiszolgáló ugyanazon a szerveren van, mint ahol a webkiszolgáló és a PHP is fut. Ezért alapból a localhost van beállítva. Azonban ha például egy többszerveres rendszerünk van, ahol külön szerveren fut az adatbázis kiszolgáló, akkor itt lehet megadni annak hosztnevét.
  • Port szám: Alapértelmezetten az adatbázis szerverhez a 3306-os porton lehet csatlakozni. De ha ettől eltérő porton tudjuk elérni az adatbázisainkat, akkor azt itt adhatjuk meg.
  • Táblanév előtag: Ha egynél több alkalmazás fog osztozni ugyanazon az adatbázison, akkor egy egyedi előtag – drupal_ például – segíthet megelőzni az ütközéseket. Tehát ha például már van mondjuk egy WordPress weboldalunk is, ami ugyanezt az adatbázist használja, akkor erősen ajánlott előtagot használni, hogy egyrészt magunk se keverjük össze a táblákat, másrészt a rendszerekben se adódhasson olyan helyzet, hogy a két alkalmazás esetleg ugyanolyan nevű táblákat használ, mert akkor összeomolhat akár mindkét weboldal.
    Mindazonáltal ha lehetőségünk van rá, inkább használjunk minden weboldalhoz külön adatbázist, így a biztonsági mentések, visszaállítások is kevesebb macerával járnak.

Webhely telepítése

 

 

Ebben a lépésben nincs semmi dolgunk, csak megvárjuk, amíg a folyamatjelző a végére ér:

Drupal 9 telepítése - Webhely telepítése

Itt a folyamatjelző alatt írja, hogy 42 modult telepít. Most kerülnek tehát fel azok a modulok, amik az általános telepítési profil keretébe tartoznak. Így ezeket már nem nekünk kell egyesével feltelepíteni és beállítgatni.

Fordítások frissítése

Ebben a lépésben sem kell tennünk semmit, itt a magyar nyelvi fordításokat tölti le és frissíti:

Drupal 9 telepítése - Fordítások frissítése

A telepítés előtt említettem, hogy a telepítés során még sok modul és fordítás fog felkerülni az oldalra, amik szintén foglalnak valamennyi helyet. A telepítés végén majd újra ellenőrizzük a fájlok számát, és az összes helyfoglalást, így majd láthatjuk, hogy mennyivel hízott a rendszer a telepítés alatt. Persze itt a "gyári" modulokat kapcsolgatja be, amiket már eleve tartalmaz a telepítőcsomag, így itt még nem kell nagy helyfoglalásra számítani.

Webhely beállítása

A következő űrlapon kell megadnunk weboldalunk főbb adatait:

Drupal 9 telepítése - Webhely beállítása

  • Webhely neve: Adjuk meg weboldalunk nevét.Ez fog megjelenni mindenhol, többek között az oldal fejlécében, a böngésző címsorában, stb.
  • A webhely e-mail címe: Az automatikus e-mailek, mint például a regisztrációs értesítők erről a címről lesznek kiküldve. A kéretlen levélszemétként való megbélyegzést elkerülendő javasolt a webhely domain nevére végződő e-mail címet megadni.
  • Webhelykarbantartási fiók felhasználónév és jelszó: Ez lesz az elsődleges fiók, ami minden jogosultsággal rendelkezik az oldalon. Később ezzel a fiókkal lehet újabb felhasználókat is létrehozni, akiknek különböző szerepköröket lehet beállítani. Itt a rendszer vizsgálja a megadott jelszó erősségét. Mivel adminisztrációs fiókról van szó, erősen ajánlott a zöld sávba vinni a jelszó erősségét. A jelszóban ajánlott a kisbetűk, nagybetűk, számok és a felsorolt speciális karakterek együttes használata, hogy erős jelszót hozhassunk létre, ezzel biztonságossá téve oldalunkat. Én itt nem használtam bonyolult jelszót, mivel a virtuális szerveren készítem ezt a telepítést bemutató céljából. Az itt megadott admin jelszót lementem a virtuális szerveren lévő /root/access.txt fájlba, így a letölthető szerverben elérhető lesz minden hozzáférés.

Kicsit lejjebb görgetve van még pár dolog:

Drupal 9 telepítése - Webhely beállítása

  • E-mail cím: Ez is még a webhelykarbantartási fiókhoz tartozik, tehát például az admin felhasználó erre a címre kapja az értesítőket, stb.
  • Alapértelmezés szerinti ország: Az oldal működése során ez alapján állítja be az oldal a területi beállításokat, ahol szükség van rá. Például a modulokban, stb.
  • Alapértelmezés szerinti időzóna: Itt pedig az időzónát állítjuk be. Itt ha esetleg az oldal célközönsége más országban él, akkor beállíthatjuk azt is, de ezen kívül a felhasználók külön be tudják állítani a fiókjukban a saját nyelvüket és időzónájukat. A nyelvet persze csak akkor, ha be van állítva a fordítás más nyelvekre. Karbantartás szempontjából célszerűbb a saját időzónánkat beállítani, illetve ahol a weboldal fut.
  • Frissítések automatikus ellenőrzése: Ezt hagyjuk bekapcsolva, így a rendszer értesít, amikor az alaprendszerhez, vagy valamelyik modulhoz újabb verzió került kiadásra és frissítenünk kell.
  • E-mail értesítők kérése: Ezt is hagyjuk bekapcsolva, mert így emailban is értesít a rendszer ezekről a frissítésekről. Én itt most kikapcsolom, mert a virtuális gépen ennek nincs értelme.

Ha mindent beállítottunk, akkor kattintsunk a lap alján a Mentés és folytatás gombra

Beállításfordítások frissítése

Végül ismét letölt néhány fordítást:

Drupal 9 telepítése - Beállításfordítások frissítése

És ezzel készen is van a telepítés.

Méret ismételt ellenőrzése

 

 

Még újra ránézünk a helyfoglalásra, ahogy ígértem:

Drupal 9 mérete a telepítés után

Nem sokat, de hízott egy kicsit a rendszer. Kb 100 darab új fájl, és 2Mb növekedés, ami elhanyagolható. Persze ezek a "gyári" modulok már benne vannak a letöltött telepítőcsomagban, így csak bekapcsolgatni kellett őket. Azonban amikor elkezdjük építeni az oldalt, és külső fejlesztők által készített modulokat és témákat (sminkeket) töltünk le, akkor már nagyobb mértékben fog növekedni az oldal mérete.

Még ha ránézünk az adatbázisra, akkor itt is látjuk, hogy az oldal indulásra kész állapotában az adatbázis mérete 17,5 Mb:

Drupal 9 adatbázis mérete

Ami persze hízni fog az oldal építése és használata során. Ennek az oldalnak (Linuxportál) az adatbázis mérete például 1,2 Gb. Így tehát hosszú távon mindenképpen szükség lesz néhány Gb tárhelyre.

 

A kezdőoldal

A telepítés befejezése után újratöltődik az oldal, és átugrik a kezdőoldalra:

Drupal 9 kezdőoldal

Itt az értesítő sávban kapunk még a telepítéssel kapcsolatos információkat, és gratulál a sikeres telepítéshez.

Mivel adminként be is vagyunk léptetve, fent megjelenik a Drupal admin menüsávja, ahol el tudjuk kezdeni az oldal fúrását, faragását.

 

Alapvető beállítások

A telepítés után még el kell végeznünk néhány apró beállítást, hogy hiba nélkül működhessen az oldal. Ebben a leírásban ezeket még átnézzük, de az oldal tartalmi kezelése már nem része ennek az ismertetőnek.

A felső admin menüsáv Beállítás menüjébe lépve a rendszer mindjárt fogad is bennünket egy hibaüzenettel:

Drupal 9 admin menü egy hibaüzenettel

Ha a piros hibapanelen követjük a linket, akkor az állapotjelentés oldalra kerülünk, ahol többet tudhatunk meg a hibáról:

Drupal 9 Állapotjelentés oldal

Itt láthatjuk a drupal rendszer főbb paramétereit, és a szerver konfigurációnk adatait is, mint például PHP verzió, adatbázis verzió, stb. Továbbá kapunk egy tájékoztatást a rendszerhibával kapcsolatban, amiben felhívja a figyelmünket, egy támadási típussal szembeni védtelenségre, ami persze csak éles használat esetén jelenthet veszélyt.

 

 

Megbízható tárhelyek beállításai

Ennek a problémának a megoldásához váltsunk terminálra, majd a webgyökérből kiindulva lépjünk be a következő könyvtárba:

cd sites/default/

Itt ha kilistázzuk a könyvtárat, akkor láthatunk három fájlt:

Drupal 9 settings.php konfigurációs fájljának beállítása

Mivel most kihagytam a színes terminál beállítását, ezért kézzel adtam meg a két kapcsolót, amivel áttekinthetőbben jelenik meg a könyvtár lista.

Ezek közül a settings.php-t kell szerkesztenünk, de mivel nincsen rajta írási jog, ezért adjuk hozzá a chmod paranccsal, hogy tudjuk módosítani a tartalmát:

chmod u+w settings.php

Ezután nyissuk meg a fájlt nano-val, majd keressük meg ezt a részt: "trusted_host_patterns", és a kommentes rész után tegyünk be néhány sort, amiben definiáljuk a webhelyünk domain elérhetőségeit (www-vel és anélkül is):

nano settings.php
[...]
$settings['trusted_host_patterns'] = [
        '^www\.drupal9\.vm$',
        '^drupal9\.vm$',
];
[...]

Tehát szerkesztés után így kell kinéznie ennek a résznek (előtte és utána a kommentezett részekkel):

Drupal 9 beállítása - settings.php - trusted_host_patterns beállítása

Természetesen itt is mindenki a saját domain nevét pótolja a drupal9.vm helyére, valamint ügyelni kell a pontok előtti escape karakterekre is, és a soreleji és sorvégi speciális karakterekre, hogy szabályos legyen a reguláris kifejezés.

Ha elvégeztük a módosítást, mentsük le a fájlt, majd vegyük le az írásjogot a settings.php fájlról:

chmod u-w settings.php

Ha nem vesszük le róla, akkor ezt is hibának veszi a Drupal biztonsági okokból.

Ha ezzel megvagyunk, akkor csak frissítsünk egy lapot az állapotjelentés oldalon, és ha mindent jól csináltunk, akkor eltűnik a hibaüzenet:

Drupal 9 állapotjelentés - Hibátlan állapot

Legvégül töröljük az elején letöltött telepítőcsomag fájlt, mert már nincs rá szükségünk. A webgyökérből futtassuk az alábbi parancsot:

rm drupal-9.1.2.tar.gz

 

 

Konklúzió

Ennyi lenne a Drupal 9 telepítése, ahol látható, hogy szinte teljesen megegyezik elődjének telepítőjével. Sőt, az oldal admin felülete sem változott, eltekintve talán néhány fordítástól. Miután elkészültünk a telepítéssel, kezdődhet is az oldal fúrása, faragása, építése.

A Drupal fejlesztők azt írják, hogy a 9-es verzió alaprendszere nem tér el nagyon a korábbitól, csak letisztították a felesleges dolgokat belőle, és frissítették a külső függvénykönyvtárakat az újabb verziókra. Így reméljük hogy akik Drupal 8-at használnak – mint például én is –, könnyen át tudnak majd térni a 9-esre.

Jó Drupal-ozást kívánok mindenkinek!