Vissza a bloghoz

LAMP telepítése és konfigurálása Ubuntu 20.04-en Ansible segítségével

LAMP telepítése és konfigurálása Ubuntu 20.04-en Ansible segítségével

A szerverautomatizálás a szerverek hatékony és technológiailag fejlett módon történő kezelésének és felügyeletének biztonságos és megbízható folyamata. A dedikált szakértői csapat által felügyelt adatközpontokban történő hagyományos szerverkezeléssel ellentétben minden szerver kezelése automatizálással történik. Ennek eredményeként az emberi hibák száma minimálisra csökken.

Az olyan konfigurációkezelő eszközök, mint a Ansible, Puppet, Terraform, hogy csak néhányat említsünk, jellemzően a szerverek automatizálására szolgálnak. Ezek az eszközök automatizálással állítják be a szervereket, standard eljárásokat kialakítva az új szerverek számára, miközben kiküszöbölik a kézi végrehajtás során fellépő esetleges hibákat.

Ansible egy robusztus, nyílt forráskódú projekt. Rugalmas, könnyen használható, és rendkívül egyszerűsített architektúrával rendelkezik. Az Ansible playbookok használatához nincs szükség programozói háttérre, és nem igényli szoftverek telepítését a csomópontokra. Mindenekelőtt kiváló képességekkel rendelkezik, amelyek lehetővé teszik szkriptek írását és az automatizálás egyszerűsítését.

Ebben az útmutatóban lépésről lépésre bemutatjuk a LAMP telepítését és konfigurálását Ubuntu 20.04-en az Ansible segítségével.

Előfeltételek

Az útmutató követéséhez a következőkre lesz szüksége:

Mi az Ansible Playbook célja?

Ez az Ansible playbook egy alternatív módszer a LAMP Stack beállítása Linux Apache MySQL PHP.

Az Ansible playbook futtatása a következő műveleteket fogja végrehajtani az Ön Ansible gazdagépein:

  • Telepíti az aptitude csomagkezelőt, amely az apt alternatívája, és amelyet az Ansible előnyben részesít.

  • Telepíti az összes szükséges LAMP csomagot.

  • Létrehoz egy új Apache VirtualHost-ot, és konfigurál egy dedikált dokumentumgyökeret (document root).

  • Bekapcsolja (BE állapotba) az új VirtualHost.

  • Kikapcsolja (KI állapotba) az alapértelmezett Apache webhelyet, azaz a disable_default változót a következőre állítja: true.

  • Jelszót választ a MySQL root felhasználó számára.

  • Eltávolítja az anonim MySQL fiókokat és a tesztadatbázist.

  • Beállítja az UFW-t, hogy engedélyezze a HTTP-forgalmat a konfigurált porton, ahol az alapértelmezett a 80.

  • Beállít egy PHP tesztszkriptet.

Az Ansible playbook futtatásának befejezése után egy Apache-on futó webes PHP-környezetet fog látni a megadott konfigurációknak megfelelően.

Az Ansible Playbook használata

Először szerezze be a LAMP playbookot és annak függőségeit a do-community/ansible-playbooks tárolóból (repository). Ezután klónozza a LAMP playbookot tartalmazó tárolót az Ansible vezérlőcsomóponton belüli helyi mappába.

Futtassa a git pull parancsot, hogy biztosan hozzáférjen a megfelelő tartalomhoz, amelyet ebben az útmutatóban használni fogunk:

Ha először használja a do-community/ansible-playbooks tárolót, fontolja meg a tároló klónozását a saját (home) mappájába:

Lépjen be a lamp_ubuntu2004 mappába, és a következő struktúrát fogja látni:

Íme egy áttekintés arról, hogy mit jelentenek ezek a fájlok:

  • files/info.php.j2: Ez egy sablonfájl, amellyel beállíthat egy PHP tesztoldalt a webszerver gyökerében.

  • files/apache.conf.j2: Egy másik sablonfájl, amely az Apache VirtualHost beállítására szolgál.

  • vars/default.yml: Ez egy változófájl a playbook beállításainak testreszabásához.

  • playbook.yml: Ez a fájl tartalmazza a távoli szerver(ek)en végrehajtandó feladatok teljes tartalmát.

  • readme.md: Egy olvasható fájl, amely a playbookkal kapcsolatos információkat tartalmazza.

Szabjuk testre a MySQL és Apache konfigurációkat a playbook változófájljának módosításával. Navigáljon a lamp_ubuntu2004 könyvtárba, és nyissa meg a vars/default.yml fájlt a nano szerkesztővel:

A vars/default.yml fájl megnyitásakor megjelenik a módosítandó változók listája:

Ismerjük meg részletesen az egyes változókat:

  • mysql_root_password: Tárolja a jelszót a root MySQL fiókhoz.

  • app_user: Ez egy távoli, nem root felhasználó az Ansible gazdagépen, aki az alkalmazásfájlok tulajdonosaként jár el.

  • http_host: Megjeleníti a domain nevét.

  • http_conf: Megjeleníti az Apache-on belül létrehozott konfigurációs fájl nevét.

  • http_port: Ez a virtuális gazdagép HTTP portja, és a 80 az alapértelmezett.

  • disable_default: Az Apache-hoz mellékelt alapértelmezett beállítások visszavonására szolgál.

Ezután mentse el és zárja be a vars/default.yml fájlt.

Miután minden beállítás elkészült, készen állunk a playbook futtatására a szervereken. Alapértelmezés szerint a playbookokban szereplő legtöbb szerver úgy van konfigurálva, hogy az inventory-kban található összes szerveren lefusson. Használjuk a -l jelzőt, hogy csak egyetlen szerverre vagy a csoport egy kiválasztott részhalmazára legyen hatással a playbook. Alternatív megoldásként használhatjuk az -u jelzőt, hogy részletes képet kapjunk arról, melyik távoli szerverhez kapcsolódunk, és mi fut a távoli gazdagépeken.

Futtassuk a playbookot egy szerveren: server1 és kapcsolódjunk hozzá egy felhasználóval, aki justin:

A következőhöz hasonló kimenetet fog kapni:

Miután látja, hogy a playbook futása befejeződött, nyissa meg a webböngészőjét, és lépjen a szerver gazdagépére. Ne felejtse el hozzáfűzni a /info.php részt az IP-cím végéhez:

Erre az URL-re kattintva egy ehhez hasonló oldalt fog látni:

Figyelmeztetés: A megjelenített oldal érzékeny információkat tartalmaz a PHP-környezetéről. Ezért javasoljuk, hogy távolítsa el a személyes adatait a szerverről a következő paranccsal:

rm -f /var/www/info.php

Mi van a Playbookban?

Ezután értsük meg az ansible-playbook tartalmában használt fájlok jelentését és jelentőségét:

  • vars/default.yml

A default.yml változófájl tartalmazza a MySQL root fiók tartománynevét és jelszavát. Ezek az ansible-playbook feladataiban használt alapértelmezett értékek:

  • files/apache.conf.j2

Az apache.conf.j2 fájl egy Jinja 2 sablonfájl, amely egy új Apache VirtualHost konfigurálására szolgál. Az ebben a sablonban használt változókat a vars/default.yml változófájlban kell meghatározni:

  • files/info.php.j2

Hasonlóan a files/apache.conf.j2 fájlhoz, az info.php.j2 fájl is egy Jinja sablon. Ezt a fájlt egy teszt PHP-szkript beállítására használjuk egy újonnan konfigurált LAMP-szerver dokumentumgyökerében:

  • playbook.yml

A playbook.yml fájlban vannak meghatározva a telepítés összes feladatai. Ebben a fájlban van konfigurálva az összes LAMP stack. A megcélzott szerverek csoportjának meghatározásával kezdődik, amelynek értéke all. Emellett a become értékét true-ra állítja ( become: true), és meghatározza az összes végrehajtandó feladatot. Ezután a yaml fájl tartalmazza az alapértelmezett fájlt, amely a vars/default.yml változófájl, a konfigurációs beállítások betöltéséhez:

Ezeket a fájlokat a projekt igényei és követelményei alapján módosíthatja.

Összegzés

Ebben az útmutatóban végigvettük a LAMP telepítésének és konfigurálásának lépéseit egy távoli szerveren az Ansible segítségével. Számos egyéb testreszabási lehetőség is létezik, amellyel kísérletezhet. Például az Ansible hivatalos dokumentációjának használata, valamint a mysql_user modul eseteinek alkalmazása az Ansible-ből kiváló módja a szintlépésnek. Emellett kövesse az ebben az útmutatóban ismertetett lépéseket az automatizálás gyakorlásához más konfigurációkezelő eszközök és operációs rendszerek használatával a nehézségi szint növelése érdekében.

Új még Önnek a LAMP-verem, és szeretne mélyebben elmerülni ebben a témában? Fedezze fel a következő útmutatókat a blogunkon:

Kellemes számítógéphasználatot!

author

Hark Labs

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.