WordPress 5.2 CMS telepítése ISPConfig-os szerverkörnyezetre (2. oldal)

botond küldte be 2019. 07. 12., p – 17:12 időpontban

A 2. oldal tartalma

 

Folytatás

A leírás első oldalán létrehoztuk a weboldal működtetéséhez szükséges webfiókot, és az adatbázist. Ezen az oldalon folytatjuk a Shell felhasználó létrehozásával, végül feltelepítjük a WordPress 5.2 CMS rendszert.

 

 

Webfiók kialakítása a kezelőpanelben

Shell felhasználó létrehozása

Shell felhasználó helyett haladhatnánk FTP vonalon is, mint ahogy egy alap tárhelyen szokás, de mivel magunk vagyunk a rendszergazdák, célszerűbb Shell felhasználót használnunk, amit egyszerűen létrehozhatunk az ISPConfig felületén.

Hogy miért? Mert így egyből a szerverre tölthetjük le a telepítőcsomagot, majd ott helyben csomagoljuk ki, ahelyett, hogy a saját számítógépünkre történő letöltés és kicsomagolás után még sok ezer fájlt kellene feltöltenünk FTP-n keresztül, ami nagyon hosszadalmas dolog. Kínszenvedés FTP-n feltölteni egy mai modern CMS rendszert, ami már tele van külső, harmadik féltől származó függvénykönyvtárakkal, amik jelentősen megnövelik a méretét, és a fájlok darabszámát is.
Nem beszélve az SSH kapcsolat biztonságáról: míg egy FTP protokoll kódolatlanul szállítja az adatokat, addig az SSH/SFTP erős titkosítással van ellátva, így illetéktelenek nem láthatnak bele az általunk küldött/fogadott adatokba. És még lehetne hosszan sorolni az SSH/SFTP előnyeit az elavult FTP-vel szemben...

Létrehozásához a Webhelyek főmenüben maradva görgessünk lejjebb, majd válasszuk ki bal oldalon a "Shell Felhasználó" menüpontot. Ekkor bejön a listázó oldal, ahol kattintsunk a szokásos zöld "Új Shell Felhasználó" gombra. Ezután bejön az űrlap:

ISPConfig - Webhelyek - Új Shell felhasználó

Töltsük ki a mezőket:

  • Weboldal: Itt állítsuk be a megfelelő weboldalt/webfiókot, amelyik számára létre szeretnénk hozni a shell felhasználót. Ez azért fontos, mert a csoport és a jogosultságok is eszerint kerülnek beállításra, tehát a shell felhasználóval létrehozott/letöltött fájlok ugyanazzal a linux felhasználói ID-vel (UID) és csoport ID-vel (GID) történnek, mint amivel a PHP-FPM is futtatja a PHP scripteket. Így a létrehozott shell felhasználónk és a weboldalunk zökkenőmentesen működnek együtt.
  • Felhasználónév: Itt célszerű olyan felhasználónevet kitalálni, ami utal a weboldalra. Én például ugyanazt a nevet választottam, mint az adatbázisnál is, ami a domain név is egyben. Továbbá, ha kikapcsoltuk a felhasználónevek prefixelését az ISPConfigban, akkor a felhasználónév elé nem tesz a kezelőpanel prefixeket. Ha csak magunk vagyunk a szerveren, akkor szerintem célszerű kikapcsolni, mert csak zavaró. Ha viszont más ügyfelek is vannak a szerveren, akkor hagyjuk bekapcsolva, hogy ne fordulhassanak elő név ütközések a rendszerben.
  • Jelszó: Adjuk meg a jelszót. Ennek jelzi alatta az erősségét is. Lehetőleg válasszunk erősebb jelszót, pláne éles használat esetén.
  • Chroot Shell: A Chroot lényege, hogy a felhasználót "bezárja" egy adott könyvtárstruktúrába, ami számára onnantól a root könyvtár lesz. Így például nem tud kilépni onnan, és nem látja a saját root könyvtára feletti struktúrát, sem a többi felhasználó dolgait. Ha magunknak készítjük ezt a felhasználót, akkor kapcsoljuk ki, de ha ügyfélnek hozzuk létre, akkor itt válasszuk ki a Jailkit opciót, ami automatikusan elvégzi a háttérben a felhasználó teljes chroot-olását. Én tesztelésre hozom most létre az egész fiókot, ezért kikapcsolom.
  • Kvóta: Itt adhatunk meg tárhely korlátot a shell felhasználó számára (nem összetévesztendő a webtárhely kvótával!). Ha nem szeretnénk korlátot, hagyjuk -1 értéken.
  • SSH-RSA Public Key (for key-based logins): Ha rendelkezünk nyilvános kulccsal az SSH számára, akkor itt helyezhetjük el annak tartalmát. De később is beállíthatunk jelszó nélküli belépést linux rendszereken.
  • Aktív: Pipa.

Most nem részletezem az Options fül alatti beállításokat, mert jelenleg nem szükséges változtatnunk ott semmin. De ha mégis szeretnénk tájékozódni róla, akkor erről itt írtam részletesebben.

Végül mentsük le az űrlapot, és várjuk meg, amíg eltűnik a kis piros kör.

 

 

Parancssori környezet testreszabása (opcionális)

Ez a rész nem kötelező, de én minden shell felhasználónál be szoktam állítani néhány dolgot. Például a parancssori kiegészítés, színek használata a terminálban, aliasok, stb. Erről legutóbb az Ubuntu 18.04 LTS (Bionic Beaver) minimális szerver telepítő leírásomnak a végén ejtettem szót. Amennyiben a jelenleg használt szerver telepítésekor már elvégeztük ezeket a beállításokat, úgy most könnyebb dolgunk lesz, mert csak át kell másolni a szerver telepítésekor létrehozott első felhasználó beállításait a most létrehozott felhasználó profiljába. Ismétlem, nem kötelező ez a rész, de sokkal kényelmesebbé tehetjük vele a terminálban végzett munkát.

Ennek a szervernek a telepítésekor én "linuxportal" néven hoztam létre az első felhasználót, így most ettől a felhasználótól másolom be a már beállítgatott .bashrc fájlt. Itt használjuk természetesen a saját felhasználónk beállításait, amennyiben elvégeztük a fentebb linkelt dolgokat.

Lépjünk be terminálon az új (nálam wordpress) felhasználóval a szerverre, majd futtassuk az alábbi parancsot:

cat /home/linuxportal/.bashrc > ~/.bashrc

Ezzel átmásoltuk az elsőként létrehozott felhasználó .bashrc fájlját (amit már korábban beállítgattunk) a most létrehozott felhasználóéba (ami ezidáig még nem létezett).

Ezután source-oljuk a .profile fájlban a .bashrc fájlunkat, hogy minden belépésnél (login shell) lefusson:

echo ". .bashrc" >> .profile

Ha újra belépünk ebbe a WordPress-hez készült felhasználói fiókba, akkor már a színes prompt fogad bennünket, működnek az aliasok, stb. De a ki-belépés helyett elég az is, ha csak source-oljuk a .profile fájlunkat (ami már lefuttatja a .bashrc fájlt is):

. ~/.profile

Parancssor testreszabása

Itt még egy könyvtárlistát is lefuttattam, hogy az "l" alias parancs működése is látszódjon.

Eddig minden jó, de van még egy kis szépséghiba: a prompt-ban a felhasználónevünk nem az, amit létrehoztunk, hanem (nálam például) web1@... Ez azért van, mert amikor az ISPConfigban létrehoztuk a webfiókot, akkor a kezelőpanel automatikusan létrehozott egy web1 nevű linux felhasználót is, ami tulajdonképpen a fiókot kezeli, birtokolja a jogosultságait, stb, attól függetlenül, hogy utána mi is létrehoztunk egy saját shell felhasználót, ami tulajdonképpen ugyanazt az UID-et és GID-et kapta, mint a rendszer által elkészített felhasználó. Hogy ezt jobban láthassuk, másik terminálon lépjünk be root-ként, majd nyissuk meg a /etc/passwd fájlt:

nano /etc/passwd

Ha ennek legörgetünk az aljára, akkor ezt látjuk benne:

/etc/passwd fájl vége

A két utolsó sorban láthatjuk a jelenség okát: Van egy web1 felhasználó, ami előbb került létrehozásra, és alatta pedig a magunk által létrehozott felhasználó, aminek ugyanaz az UID-je és a GID-je. Tehát az ISPConfig által alapból létrehozott felhasználó van előbb, így a shell-ünk ezért lát minket web1-nek. Ennek a felhasználónak – ahogy láthatjuk is – nincs beállítva shell-je sem, tehát nem belépésre lett kialakítva, hanem csak a háttérben működő dolgok futtatására. Így például a PHP-FPM is ezzel a felhasználóval hajtja végre az adott weboldal .php fájljait...

Ennek a megoldása az, ha egyszerűen felcseréljük a két sort a /etc/passwd fájlban (a nano kezeléséről itt olvashatunk a könnyebb használat érdekében):

[...]
wordpress:x:5004:5005::/var/www/clients/client0/web1/home/wordpress:/bin/bash
web1:x:5004:5005::/var/www/clients/client0/web1:/bin/false

Miután lementettük a fájlt, a másik ablakban lépjünk ki, majd újra be az új felhasználónkkal:

Shell felhasználók felcserélése után

És az eredmény önmagáért beszél: most már wordpress@-al kezdődik a prompt-unk. Továbbá, amikor a könyvtárainkat listázzuk ott is ugyanez a felhasználó kerül megjelenítésre a saját alkönyvtárainknál és fájljainknál.

Ezek a dolgok apróságnak tűnhetnek, de amikor már van a szerveren legalább 5-6 weboldal, és mindegyiknél web1, web5, web3-al kezdődik a prompt, valamint a könyvtárakban is ugyanezek a nevek köszönnek vissza, akkor bizony belekeveredik az ember, pláne, ha valamit gyorsan el kell végezni.

 

Hosts fájl beállítása (opcionális)

Ha vásárolt domain nevet használunk egy éles tárhelyen, akkor ugorjuk át ezt a részt. Ha viszont otthon hozunk létre tesztkörnyezetet, akkor be kell még állítanunk a hosts fájlt, hogy a böngészőnkből elérhessük a virtuális gépen lévő weboldalakat. Itt már nem húzom ezzel az időt, pláne, hogy már készítettem erről is egy kis leírás. Tehát behelyettesítve a most létrehozott weboldal nevét, hajtsuk végre ezt a kis részt.

Ha jól állítottuk be a fájlt, akkor innentől az általunk választott domain névvel is bejön a tárhely és az ISPConfig, phpMyadmin is. Az alábbi képen az ISPConfig üdvözlőpaneljét láthatjuk:

Tárhely tesztelése a hosts fájl beállítása után

Olyan előfordulhat, hogy a beállítás után rögtön még nem találják meg a böngészők, ilyenkor várni kell egy kicsit, amíg befrissül az adott böngésző DNS cache-be is az új adat.

Most, hogy már kiveséztük a tárhely kialakítása kérdést, jöjjön a WordPress 5.2 letöltése és telepítése!

 

 

WordPress 5.2 telepítése

Letöltés

Az oldalhoz készült shell felhasználónkkal lépjünk be az oldal dokumentumkönyvtárában lévő tmp/ alkönyvtárba:

cd /var/www/wordpress.vm/tmp
Az ISPConfig a /var/www/clients/... könyvtárstruktúrában alkalmaz rövidítéseket is, amiket szimbolikus linkekkel valósít meg. Ennek megfelelően például a /var/www/clients/client0/web1/ dokumentum gyökér könyvtár megegyezik a /var/www/wordpress.vm/ rövidítéssel, ami könnyebben is megjegyezhető.
A WordPress letöltőoldaláról másoljuk ki a Download .tar.gz link feliraton lévő hivatkozás címét, ezt fogjuk használni a letöltéshez.

A tmp könyvtárban hajtsuk végre a következő wget letöltőparancsot a fenti link segítségével:

wget https://wordpress.org/latest.tar.gz

Ekkor letöltődik egy 10,68 Mb méretű csomagolt fájl. Ezt csomagoljuk ki:

tar -xvzf latest.tar.gz

Ekkor létrejön még egy wordpress alkönyvtár is, abban lesznek a kicsomagolt fájlok. Ezeket másoljuk át rekurzívan a tárhelyünk webgyökér könyvtárába:

cp -r /var/www/wordpress.vm/tmp/wordpress/* /var/www/wordpress.vm/web

Telepítés

Ha sikeresen átmásoltuk a teljes fájlstruktúrát a webgyökérbe, a böngészőnkkel nyissuk meg a következő hivatkozást:

http://wordpress.vm/wp-admin/setup-config.php

Természetesen a saját domain nevünket használjuk!

Ekkor elindul a WordPress telepítője:

WordPress telepítés - Nyelv kiválasztása

Állítsuk be a nyelvünket. Ezután bejön egy tájékoztató ablak, hogy be fog kérni a rendszer tőlünk néhány adatot, mint például az adatbázis hozzáférés paraméterei, stb, és hogy ezt megpróbálja beállítani a config fájlba:

WordPress telepítés - Konfigurációs fájl tájékoztató

Itt eredetileg kézzel is be lehetett volna állítani egy szerkesztőprogrammal a konfigurációs fájlba ezeket az adatokat, de miután nem talált ilyen beállított fájlt, a telepítő fogja ezt nekünk kitölteni. Tehát itt kattintsunk a Rajta! feliratú gombra.

A követlkező panelen bekéri tőlünk az adatbázis adatait:

WordPress telepítés - Adatbázis adatok megadása

  • Adatbázis neve: Adjuk meg a tárhely kialakításakor létrehozott adatbázisunk nevét. Nálam "wordpress"
  • Felhasználónév: Az adatbázishoz kapcsolt felhasználónevet írjuk itt be. Nálam "Wordpress"
  • Jelszó: Az adatbázis felhasználó létrehozásakor megadott jelszót kéri. Nálam, amit generált az ISPConfig.
  • Adatbázis kiszolgáló: Ezt hagyjuk localhost-on.
  • Tábla előtag: Ha több Wordpress példányt szeretnénk futtatni ugyanabban az adatbázisban, akkor itt különböztethetjük meg az előtagokkal a rendszer adatbázis tábláit. Ha csak egy példányt tervezünk, hagyjuk a megadott értéken. Persze később a további telepítéseket is lehet még például sorszámozni, ha szükséges.

Kattintsunk a küldés gombra.

Ha pontosan adtunk meg minden adatot, akkor egy ilyen tájékoztató fogad bennünket:

WordPress telepítés - Sikeres adatbázis csatlakozás

Kattintsunk a Telepítő futtatása gombra.

Ezután bejön az 5 perces telepítő:

WordPress telepítés - Oldal adatainak beállítása

  • Honlap neve: Itt megadhatunk bármit, ez lesz a weboldalunk neve. Nem függ össze a domain névvel, vagy az egyéb korábban megadott nevekkel.
  • Felhasználónév: Ez az elsődleges felhasználónév, én itt admin-t állítottam be. Alapból az adatbázis felhasználónevet ajánlotta fel. Vagy talán csak véletlen egybeesés...
  • Jelszó: Na, itt alapból szintén az adatbázis jelszavát ajánlja fel. Ami szerintem nem túl biztonságos megoldás, ha ugyanazt a felhasználónév-jelszó párost használjuk a weben, mint az adatbázis kapcsolódáshoz. Így én itt átirogattam pár karaktert a beadott jelszóban. Ez egy kicsit érdekes, egy WordPress rendszertől. Itt illett volna generálnia egy teljesen új jelszót...
  • E-mail címe: Éles használat esetén adjuk meg a domain névhez létrehozott email címet, amit ehhez az oldalhoz hoztunk létre. Otthoni tesztkörnyezet esetén bármi megadható. Én követtem a felhasználónév@domain.tld sémát.
  • Keresőmotor láthatóság: Ezzel az opcióval letilthatjuk a keresőrobotokat az oldalról. A rendszer a robots.txt-be jelzi ilyenkor a robotoknak, hogy ne indexeljék be az oldalakat. Éles használatnál ez nyilván nem célunk, hacsak nem valami belső használatú oldalt szándékozunk készíteni. De a robots.txt-t nem minden robot veszi figyelembe. Tesztkörnyezetnél pedig nincs jelentősége, a robotok egyébként sem érik el az otthoni gépünket, pláne, ha NAT hálózat mögött vagyunk.

Ha megvagyunk, kattintsunk a WordPress telepítése gombra.

Ha minden jól ment, akkor ismét kapunk egy "Sikerült" című panelt:

WordPress telepítés - Sikeres telepítés

Kattintsunk a Bejelentkezés gombra.

Ekkor átdob minket a WordPress belépő oldalára.

 

 

Belépés

WordPress belépés

Belépés után pedig az admin vezérlőpultban találjuk magunkat:

WordPress - Vezérlőpult

Itt elkezdhetjük az oldal testreszabását, a frissítések, valamint a kiegészítők telepítését, stb.

Ha pedig a bal felső kis házikó ikonra kattintunk, vagy csak simán betöltjük a weboldal URL címét, akkor a kezdőoldalra jutunk.

Kezdőoldal

WordPress - Kezdőoldal

Itt láthatjuk, hogy még egy teljesen nyers WordPress rendszerrel van dolgunk, ami arra vár, hogy elkezdjük egyedire alakítani és tartalommal feltölteni.

 

Konklúzió

Ez lenne tehát egy célirányos tárhely kialakítása, valamint az erre tervezett WordPress 5.2 CMS rendszer feltelepítése. Arányaiban túlnyomó részt a tárhely alakítgatásával foglalkoztunk, ami nem volt véletlen, hiszen ennek a leírásnak a lényege éppen ez, hogy rendszergazdai, üzemeltetői szemszögből járjuk végig azt az utat, ami egy működő, kulcsra kész CMS tartalomkezelő rendszerhez vezet. Innentől tehát van egy indulásra kész WordPress 5.2 alapú weboldalunk, amivel elkezdhetjük a tartalmaink közzétételét, vagy éppen egy webáruház beindítását.

 

 

Lapozó

Ez a leírás több oldalból áll: