Wagtail – Python alapú CMS telepítése (Python használat demo)

Ez az útmutató egy alapszintű példát mutat be arra, hogyan használhatunk Python-alapú CMS-t – jelen esetben a Wagtail rendszert – egy ISPmanager panellel kezelt tárhelyen. A cél: gyors betekintés a rendszer működésébe, nem pedig egy teljes körű, éles környezetre szánt konfiguráció.

A leírás nem helyettesíti a biztonsági vagy teljesítményoptimalizálási beállításokat. Éles használat előtt mindenképp érdemes finomhangolni a rendszert, például socketes futtatási módra váltani, biztonsági fejlesztéseket alkalmazni stb.

A bemutató során használt példadomain: wingtail.dima.sandros.eu

Ez csupán egy példa – természetesen használhatsz bármilyen saját domaint. A „wingtail” előtag csak arra szolgál, hogy jól elkülönüljön a CMS (Wagtail) nevétől, így ne legyen félreérthető a környezet.

A leírás során egyes binárisok (bin, binary) teljes elérési útvonalát láthatod, hogy bemutassuk a rendszer által kialakított könyvtár struktúrát. Amennyiben a Shellt a Sites oldalon a megfelelő weboldal sorából indítod el, a megfelelő útvonalak bekerülnek a környezetbe és elég csak a bináris neveit használnod.

Weboldal létrehozása a kezelőfelületen

Első lépésként hozzuk létre az új weboldalt a vezérlőpult felületen:

  1. Lépj be az admin felületre.

  2. Navigálj a Sites menüpontba.

  3. Kattints a Create website gombra.

A fontosabb beállítások:

  • Handler: válaszd a Python lehetőséget.

  • IP address: jelöld be azt az IP címet vagy címeket, amelyekhez a weboldalt társítani szeretnéd.

  • Application mode: állítsd be Python web server értékre.

  • Connection method: az egyszerűség kedvéért most Port módot választunk. (Bár socket mód hosszabb távon ideálisabb.)

  • Python version: válaszd ki a projektedhez megfelelő Python verziót.

Miután mindezt beállítottad, kattints a Create gombra.


Alapértelmezett fájlok eltávolítása

Miután létrehoztad az új weboldalt, ideje előkészíteni a könyvtárat a Wagtail projekt számára.

Töröljük az előre létrehozott fájlokat

  1. Menj a Sites oldalra, és válaszd ki a frissen létrehozott weboldalt.

  2. Kattints a Website files gombra, hogy megnyisd a File Manager-t.

  3. A megnyíló fájlkezelőben navigálj a weboldal gyökérkönyvtárába ha nem ott nyílna meg.

Törlendő fájlok:

  • index.html

  • requirements.txt

  • server.py

Ezek az állományok a vezérlőpult által automatikusan létrejönnek, de a Wagtail CMS saját fájlstruktúrát és függőségeket fog használni, így ezekre most nincs szükség. A requirements.txt fájlt a Wagtail telepítése során újra létrehoza majd, a CMS saját csomagigényeivel.

Shell

Most, hogy előkészítettük a weboldal könyvtárát, elérkezett az idő a Wagtail CMS telepítésére a tárhelyen. Ehhez a vezérlőpult által biztosított shell hozzáférést fogjuk használni.

A vezérlőpult felületén keresd meg a Shell-client opciót. A megnyíló shell alapértelmezetten a felhasználód home könyvtárába (~) navigál. Innen tovább kell lépni a weboldal gyökérkönyvtárába.

cd www/wingtail.dima.sandros.eu/

A vezérlőpult automatikusan létrehozott egy virtuális környezetet a .venv/ könyvtárban. A Python és pip binárisai ebben a mappában találhatók – ezeket nem kell és nem is szabad módosítani.

Futtasd az alábbi parancsot a Wagtail CMS telepítéséhez:

./venv/bin/pip3.12 install wagtail

Ha másik Python verziót választottál korábban (pl. 3.11), akkor a pip elérési útja is eltérhet (pip3.11 stb.).

Honnan tudod, hogy sikerült? Ha a telepítés sikeres: nem kapsz hibát és visszatér a parancssor ($ karakter).

Wagtail projekt létrehozása és adatbázis migrálása

Most, hogy a Wagtail telepítve van a környezetbe, itt az ideje létrehozni magát a projektet, majd elvégezni az első migrációt, amellyel a rendszer létrehozza az adatbázistáblákat.

A következő parancs létrehozza a Wagtail projekt alapját a weboldal gyökérkönyvtárában:

.venv/bin/wagtail start mypage ./

A mypage itt a projekt belső neve, a ./ pedig azt jelenti, hogy a jelenlegi könyvtárba, azaz a weboldal gyökérkönyvtárába hozza létre a fájlokat.
Ügyelj rá, hogy a könyvtár üres legyen (kivéve rendszerfájlok), vagy legalább ne tartalmazzon fájlokat, amelyek ütköznek a Wagtail struktúrájával (korábban pont ezért töröltük a requirements.txt-t stb.).

A manage.py fájl most már a frissen létrehozott projektben elérhető. Használjuk a Django (és Wagtail) migrációs rendszerét az adatbázis inicializálásához:

.venv/bin/python3.12 manage.py migrate

Ez a parancs automatikusan létrehozza a szükséges táblákat az SQLite adatbázisban (alapértelmezés szerint), amelyek a Wagtail admin felületéhez, felhasználókhoz, oldalakhoz és egyéb belső működéshez szükségesek.

A shellben néhány „Applying … OK” sor is megjelenik a folyamat során, ami jó jel, a végén újra a promptot látod majd.

Admin felhasználó (superuser) létrehozása

A Wagtail saját adminfelülettel rendelkezik, amelyhez szükség van legalább egy adminisztrátor fiók létrehozására. Ezt a Django rendszeren keresztül, a manage.py segítségével tudjuk megtenni.

A következő parancsot futtasd a projekt gyökerében:

.venv/bin/python3.12 manage.py createsuperuser

A parancs lefutása során megadandó adatok:

A parancs interaktív módon bekéri az adminisztrátor adatait:

  1. Felhasználónév – alapértelmezés szerint a tárhely felhasználója szerepel ajánlott értékként, de szabadon megadható bármi más is.

  2. E-mail cím – fontos, hogy valós címet adjunk meg, különösen éles rendszer esetén.

  3. Jelszó – kétszer kell megadni, nem jelenik meg gépelés közben.

Szerverútvonal és egyéb paraméterek megadása

Miután a Wagtail CMS telepítve van és az admin felhasználót is létrehoztad, már csak egy lépés van hátra: a vezérlőpulton be kell állítanod, hogyan induljon el a Python szerver, hogy kiszolgálja a weboldalt.

Lépj be a weboldal szerkesztéséhez

  1. A vezérlőpult felületén navigálj a Sites menüpontra.

  2. Keresd meg az érintett weboldalt, majd kattints a szerkesztés ikonra (vagy „…” → Edit).

  3. Válaszd az Extended settings / Bővített beállítások fület.

    1. Server file path (Szerver fájl útvonala)
      Add meg a manage.py fájl relatív elérési útját, ami jelen esetben a gyökérkönyvtárban található: manage.py

    2. Server parameters(Szerver paraméterek)
      Add meg az indítási parancs argumentumait, hogy a Wagtail szerver elinduljon a megfelelő porton: runserver 0.0.0.0:PORT
      A PORT helyére pontosan azt a portszámot írd be, ami a Connection method résznél megjelenik a weboldal szerkesztésénél (Port mező).
      Ha nem egyezik meg, a vezérlőpult proxyja nem tudja továbbítani a beérkező HTTP kéréseket a Python szerver felé, így a weboldalad elérhetetlen marad.

Ha minden jól ment, a paraméterek oszlopban a Python ikon zöldre vált, és az oldal betölthetővé válik a böngészőből.

Ha minden jól ment, máris nyomogathatod az újdonsült Wagtail CMS alapú Python weboldalad!

Lépj be a böngészőből a domainre, és ha minden a helyén van:

  • A frontend szépen betölt

  • Az admin felület a /admin címen elérhető

  • Be tudsz lépni a frissen létrehozott superuser fiókoddal