Zpět na blog

Použití Ansible k instalaci a konfiguraci WordPressu s LAMP na Ubuntu

Použití Ansible k instalaci a konfiguraci WordPressu s LAMP na Ubuntu

Úvod

Vždy nastanou chvíle, kdy potřebujeme nakonfigurovat nové servery. Může to být kvůli rozložení zátěže, nebo pokud prostě potřebujeme více serverů. Při nastavování nových serverů musí uživatelé k jejich konfiguraci využít automatizaci serverů. Děje se tak za účelem minimalizace manuálních zásahů. Ansible je jedním z nástrojů pro správu konfigurace, které lze použít k automatické konfiguraci nového serveru, což snižuje pravděpodobnost lidské chyby při ručním nastavování serveru.

Ansible je nástroj bohatý na funkce a zároveň má jednoduchou architekturu. Usnadňuje konfiguraci serverů pomocí skriptů. Díky své stručné architektuře Ansible nevyžaduje instalaci žádného jiného softwaru na uzlech.

V tomto návodu vám ukážeme, jak pomocí nástroje Ansible automatizovat instalaci WordPressu se sadou LAMP běžící na serveru Ubuntu. WordPress je CMS, který se používá k vytváření blogů a webových stránek s využitím PHP jako programovacího jazyka a databáze MySQL pro ukládání dat. Jakmile máme WordPress nainstalovaný, uživatelé mohou web spravovat pomocí webového rozhraní.

Požadavky

Přehled akcí Ansible Playbooku

V této části se podíváme na to, co náš Ansible Playbook dělá, když jej spustíme. Tento postup je alternativou k ručnímu nastavení popsanému zde: Jak nainstalovat WordPress s LAMP na Ubuntu 20.04.

Při spuštění Playbooku Ansible provede následující:

  • Nainstaluje aptitude což je preferovaný správce balíčků pro Ansible.
  • Nainstaluje a nakonfiguruje rozšíření PHP a balíčky LAMP.
  • Vytvoří nový Apache VirtualHost pro webové stránky WordPress.
  • Povolí modul mod_rewrite a zakáže výchozí web nabízený serverem Apache.
  • Nastaví heslo pro uživatele root v MySQL.
  • Odstraní anonymní účty MySQL a testovací databázi.
  • Vytvoří nového uživatele a novou databázi. Ty budou použity webem WordPress.
  • Nastaví UFW tak, aby povoloval provoz HTTP na nakonfigurovaném portu ( 80 ve výchozím nastavení).
  • Stáhne a rozbalí WordPress.
  • Nastaví oprávnění a vlastnictví adresářů.
  • Nakonfiguruje nový soubor wp-config.php pomocí jeho šablony.

Průvodce Ansible Playbookem pro WordPress na LAMP

Nejprve budeme muset získat playbook WordPress na LAMP a jeho závislosti z repozitáře do-community/ansible-playbooks. Tento repozitář naklonujeme uvnitř řídicího uzlu Ansible.

Můžete spustit příkaz git pull jak je uvedeno níže:

Ujistěte se, že máte aktualizovaný stav výše uvedeného repozitáře. To platí v případě, že jste repozitář klonovali již dříve. Níže je uvedeno, jak můžete provést aktualizaci:

Nyní musíme najít soubory uvnitř složky wordpress-lamp_ubuntu . Název této složky se může lišit v závislosti na verzi Ubuntu, kterou používáte. Na první pohled uvidíte v tomto adresáři následující strukturu:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Dir Struc

Níže si shrňme účel těchto souborů:

  • files/apache.conf.j2: Apache používá VirtualHost. Tento soubor slouží k určení nastavení pro VirtualHost.
  • files/wp-config.php.j2: Tento soubor obsahuje nastavení pro konfiguraci WordPressu.
  • vars/default.yml: Konfiguruje nastavení playbooku.
  • playbook.yml: Pokud existují úkoly, které je třeba provést na vzdáleném serveru, tento soubor se používá k jejich konfiguraci.
  • readme.md: Průvodce použitím playbooku.

Musíme upravit soubor s proměnnými playbooku, abychom přizpůsobili instalaci. Nejprve otevřete vars/default.yaml soubor, který se nachází ve výše zmíněném adresáři:

Tento soubor je poměrně dlouhý. Obsahuje řadu konfigurací, které nám pomohou s instalací:

Zde se zabýváme následujícími proměnnými:

  • php_modules: Pole obsahující PHP rozšíření, která by měla být nainstalována pro podporu vašeho nastavení WordPressu. Pokud chcete nainstalovat více modulů, můžete je specifikovat zde.
  • mysql_root_password: Heslo pro root účet MySQL.
  • mysql_db: Toto určuje název databáze MySQL, kterou bude WordPress používat.
  • mysql_user: Název uživatele MySQL, který by měl být vytvořen pro WordPress.
  • mysql_password: Heslo pro nového uživatele MySQL.
  • http_host: Doménové jméno nebo IP adresa serveru.
  • http_conf: Název konfiguračního souboru, který bude vytvořen v rámci Apache.
  • http_port: HTTP port pro tento virtuální hostitel. Tento port se používá pro přístup k webu. Výchozí hodnota je 80.

Dále zadejte hodnoty do výše uvedeného souboru, uložte jej a zavřete. Pro uživatele, kteří používají editor nano, stiskněte CTRL+X, Y, a stiskněte ENTER.

Nyní jste připraveni spustit tento playbook. Tento playbook můžete spustit na jednom nebo více serverech. Pokud chcete tento playbook spustit na konkrétním serveru, můžete použít -l příznak. Dále, pokud potřebujete specifikovat uživatele pro připojení ke vzdálenému serveru, specifikujte uživatele pomocí -u příznaku.

Předpokládejme, že chceme spustit náš playbook na jednom serveru, srvr1 pomocí uživatele u1, můžeme spustit níže uvedený příkaz:

Jakmile spustíte výše uvedený příkaz, získáte výstup podobný tomuto:

Počkejte, dokud se spuštění playbooku nedokončí. Poté přejděte na server_name ve vašem webovém prohlížeči:

Uvidíte obrazovku:

WP Page

Dále vyberte jazyk podle svého výběru a stiskněte Pokračovat. Zobrazí se další obrazovka s výzvou k zadání některých podrobností pro dokončení instalace:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Set User Pass

Poté zadejte informace a stiskněte Instalovat WordPress. Bude to chvíli trvat a poté uvidíte obrazovku jako níže:

Using Ansible to Install and Configure WordPress with LAMP on Ubuntu Install Success

Vyberte Přihlásit se pro přihlášení na váš web a konfiguraci nastavení:

Homepage

Obsah Ansible Playbooku

Nezapomeňte na složku wordpress-lamp_ubuntu . Obsahuje několik souborů. Pojďme si je tedy projít jeden po druhém:

●    vars/default.yml

Tento soubor obsahuje hodnoty, které se používají ke konfiguraci nastavení pro váš web WordPress:

●    files/apache.conf.j2

Tento soubor slouží ke konfiguraci Apache VirtualHost:

●    files/wp-config.php.j2

Tento soubor slouží ke konfiguraci WordPressu. Obsahuje jedinečné klíče a soli generované hashovacími funkcemi:

●    playbook.yml

Tento soubor obsahuje všechny úlohy definované v tomto nastavení. Začíná výpisem skupiny serverů, na které je toto nastavení cíleno. Obsahuje vars/default.yml soubor s proměnnými pro načtení možností konfigurace:

Tyto soubory můžete upravit podle potřeby, aby vyhovovaly vašim konkrétním požadavkům na web, který vytváříte.

Závěr

V tomto návodu jsme si ukázali, jak můžete pomocí nástroje Ansible automatizovat instalaci a nastavení webu WordPress běžícího na LAMP stacku na nejnovějším operačním systému Ubuntu.

Další návody na práci s nástrojem Ansible najdete v následujících tutoriálech na našem blogu:

Příjemnou práci!

author

Preslav Dobrev

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.