Pokud vyvíjíte s WordPress, je vhodnější nastavit místní prostředí, kde máte nainstalovaný server, databázový nástroj a několik webů Wordpress spolu s dalšími nástroji, které potřebujete. To je v pořádku, pokud pracujete pouze na několika projektech. Když se ale přemnoží, nastanou problémy. A také starostí s údržbou více prostředí, protože klient má jiné nastavení než vy.
K vyřešení tohoto problému můžeme použít to, co nazýváme Vagrant. Vagrant je nástroj pro práci s virtuálními prostředími. Poskytuje snadný způsob, jak nastavit místní vývojové prostředí pomocí několika příkazů, a kompletní nastavení můžete replikovat tolikrát, kolikrát chcete, s lehkostí a bez potíží s ruční instalací. Chcete-li spustit Vagrant, musíte definovat sadu pravidel. Vagrant nastaví váš virtuální počítač na základě těchto pravidel. Vagrant k tomu potřebuje dva soubory:Vagrantfile, který říká Vagrant, jaký druh hardwaru virtuální stroj potřebuje, a soubor nasazení, který říká Vagrantovi, co má na virtuálním stroji dělat.
Protože Vagrant pracuje s virtuálními prostředími, potřebujete ke spuštění Vagrant software virtuálního stroje. Pro naše účely použijeme Open Source Virtualbox.
Instalace VirtualBox
Přejděte na stránku stahování Virtualboxu a stáhněte si binární soubor odpovídající vašemu hostujícímu hostiteli. (Hostující hostitel je operační systém, ze kterého budete spouštět své vývojářské prostředí.) Nainstalujte Virtualbox.
Instalace Vagrant
Stáhněte si binární soubor odpovídající vašemu operačnímu systému ze stránky stahování Vagrant a nainstalujte jej.
Chcete-li otestovat, zda byla úspěšně nainstalována, zadejte do příkazového řádku operačního systému následující příkaz.
$ vagrant -v
Instalace pluginu Vagrant Hosts Updater Plugin
Plugin vagrant-hostupdater upraví soubor hostitelů vašeho OS tak, aby domény nastavené Vagrantem fungovaly. Chcete-li jej nainstalovat, spusťte následující příkaz
$ vagrant plugin install vagrant-hostsupdater
Po instalaci Vagrant/Virtualbox restartujte operační systém, aby nedošlo k problémům se sítí.
Instalace Gitu
Linux
Pro tento tutoriál budeme také potřebovat správu verzí Git. Pokud ji nemáte nainstalovanou, nainstalujte ji pomocí následujícího příkazu, pokud máte distribuci Debian/Ubuntu
$ sudo apt install git
nebo pokud máte Fedoru
$ sudo dnf install git
nebo pokud máte CentOS/RHEL
$ sudo yum install git
Zkontrolujte verzi nainstalovaného Gitu pomocí následujícího příkazu
$ git --version
Uvidíte něco jako
$ git version 2.20.1
Git musíte nastavit pomocí následujících příkazů.
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
Windows
Chcete-li nainstalovat Git na Windows, přejděte na stránku stahování Git a nainstalujte binární soubor.
Mac OS
Pokud máte nainstalovaný homebrew, můžete Git nainstalovat pomocí následujícího příkazu.
$ brew install git
nebo si můžete stáhnout binární balíček ze stránky stahování Git a nainstalovat jej.
Instalovat Varying Vagrant Vagrants
Namísto vytvoření Vagrant od začátku použijeme Varying Vagrants Vagrant (VVV) – open source konfiguraci Vagrant zaměřenou konkrétně na vytváření vývojových prostředí WordPress. Standardní VVV nastaví váš virtuální stroj založený na Ubuntu 18.04 spolu se serverem Nginx, databází MariaDB, PHP, WP-CLI, Node.js, MailHog, Composer, memcached, phpMyAdmin, git a různými dalšími nástroji. VVV vám ve výchozím nastavení poskytne několik instalací WordPress, z nichž jedna je nejnovější verze, která vám pomůže experimentovat.
Prvním krokem je naklonovat úložiště Git VVV do místního adresáře ve vašem systému.
$ git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvv
Zde klonujeme hlavní větev úložiště v systému. Pokud chcete rychlejší aktualizace, můžete použít vývojovou větev.
Spouštění VVV
Přejděte do adresáře, do kterého jste naklonovali VVV.
$ cd vvv
Spusťte prostředí Vagrant, které nainstaluje virtuální počítač a vše nastaví.
$ vagrant up
Tento proces může chvíli trvat, takže buďte trpěliví. Během procesu, který je vyžadován pro nastavení souboru hostitelů vašeho systému, můžete být požádáni o heslo uživatele root.
Poznámka pro uživatele systému Windows 8/10
Pokud používáte Windows, může se zobrazit následující chyba
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "1fe83aa1-2f23-4ddd-ad77-b7e7e00aabe6", "--type", "headless"]
Stderr: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only
Ethernet Adapter #3' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
Všimněte si zde uvedeného adaptéru:
VirtualBox Host-Only Ethernet Adapter #3
Otevřete Ovládací panely>> Centrum sítí a sdílení. Nyní klikněte na Změnit nastavení adaptéru. Klikněte pravým tlačítkem na adaptér, jehož Název nebo Název zařízení odpovídá VirtualBox Host-Only Ethernet Adapter # 3 a klikněte na Vlastnosti . Klikněte na Konfigurovat tlačítko.
Nyní klikněte na Ovladač tab. Klikněte na Aktualizovat ovladač . Vyberte možnost Procházet ovladače v mém počítači . Nyní zvolte Nechte mě vybrat ze seznamu dostupných ovladačů v počítači . Vyberte požadovanou volbu a klikněte na Další. Klikněte na Zavřít pro dokončení aktualizace. Nyní se vraťte do okna Terminal/Powershell/Command a zopakujte vagrant up příkaz. Tentokrát by to mělo fungovat dobře.
Po dokončení můžete navštívit svůj řídicí panel VVV na adrese http://vvv.test url.
VVV se dodává se dvěma výchozími instalacemi WordPressu – http://one.wordpress.test a http://two.wordpress.test Oba weby mají stejné přihlašovací údaje, admin jako uživatelské jméno a heslo jako heslo. Databázové přihlašovací údaje pro oba weby jsou wp jako uživatelské jméno a heslo. Přihlašovací údaje uživatele MySQL Root jsou root jako uživatelské jméno i heslo. A přihlašovací údaje uživatele root virtuálního počítače jsou root jako uživatelské jméno a tulák jako heslo.
Na adrese http://trunk.wordpress.net je vývojářská instalace wordpress, ale nebude fungovat, protože nebyla poskytnuta. Tato instalace je užitečná, pokud jste přispěvatelem WordPress, který pracuje s lístky Trac a opravami. Chcete-li jej povolit, otevřete vvv-custom.yml a změňte hodnotu skip_provisioning pod wordpress-trunk na false a poté znovu zprovoznit virtuální počítač pomocí příkazu
$ vagrant reload --provision
Existuje další instalace wordpressu bez adresy URL označená jako wordpress-meta-environment. Tato instalace vytvoří prostředí užitečné pro příspěvky do meta týmu WordPress, např. WordCamps, .org atd. Chcete-li tuto instalaci povolit, přidejte následující řádek pod wordpress-meta-environment v souboru vvv-custom.yml.
hosts:
- wpmeta.test
A poté změňte hodnotu skip_provisioning na false a reprovisioning VM.
$ vagrant reload --provision
Přidat nový web
Pokud chcete do virtuálního počítače přidat další web, budete muset upravit vvv-custom.yml soubor, který najdete v vvv adresář. Pokud tam není, zkopírujte vvv-config.yml a vytvořit ji. Jedná se o jednorázový proces a nebudete jej muset opakovat. Změny vždy provádějte v vvv-custom.yml protože vvv-config.yml se při aktualizaci VVV přepíše.
Přidejte následující kód v části weby do vvv-custom.yml přidat nový web.
newsite: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template description: "A WordPress subdir multisite install"
vm_dir: /srv/www/newsite
local_dir: /home/user/vvv/www/newsite
branch: master
nginx_upstream: php skip_provisioning: false hosts: - newsite.test custom: wp_type: subdirectory
Proměnné
proměnná repo odkazuje na předdefinované úložiště Github, které obsahuje informace o tom, jak nastavit nový web WordPress na virtuálním počítači. Prozatím používáme repo spravované VVV.
popis proměnná je samovysvětlující.
vm_dir je skutečný adresář uvnitř virtuálního počítače, kde bude umístěn váš web.
místní_adresář je adresář na vašem hostitelském počítači, kde se nachází váš web.
pobočka proměnná říká Vagrantovi, aby se podíval na hlavní větev repozitáře v tomto příkladu.
nginx_upstream se používá k nastavení, kam Nginx předává požadavky, a obvykle se používá ke změně verze PHP potřebné pro vaši instalaci. php zde odkazuje na výchozí verzi PHP, která je 7.2. Můžete použít php71 pro změnu na PHP 7.1 nebo php56 pro změnu na PHP 5.6.
skip_provisioning je nastaven na hodnotu false, což znamená, že musíme tento web zahrnout do virtuálního počítače.
hostitelé proměnná se používá k nastavení adresy URL, kterou budeme potřebovat pro přístup k webu.
vlastní sekce je užitečná, pokud potřebujete další kontrolu nad vaším webem WordPress. Tuto sekci můžete použít k nastavení instalace pro více webů nebo k instalaci jiné verze WordPress a dokonce i ke změně názvu databáze nebo vašeho webu, který bude použit pro vaši instalaci.
wp_type proměnná rozhoduje, zda bude vaše instalace jednoduchá, vícemístná s doménami nebo vícemístná s podadresářem. wp_type má čtyři hodnoty:single, subdoména, subdirectory a none. S instalací subdomény můžete definovat více hostitelů pro instalaci na více místech v následujícím formátu
hosts:
- multisite.test
- site1.multisite.test
- site2.multisite.test
custom:
wp_type: subdomain
Do vlastní sekce můžete přidat ještě jednu proměnnou, která je wp_version . Můžete jej nastavit na noční, pokud chcete nainstalovat noční verzi WordPress. Má tři hodnoty:noční, nejnovější a číslo verze.
custom: wp_version: nightly
Existuje další proměnná db_name což vám umožní nastavit název databáze pro vaši instalaci.
custom:
db_name: super_secet_db_name
A nakonec site_title proměnná vám umožňuje nastavit název vašeho webu WP.
custom:
site_title: My Awesome Dev Site
To by mělo pokrýt všechny proměnné a možnosti, které byste potřebovali k přidání vlastního webu do VVV. Po změně souboru vvv-custom.yml stačí spustit následující příkaz, aby váš nový web fungoval.
$ vagrant reload --provision
Přidat existující stránky
Zatím jsme se naučili přidat do VVV zcela nový web. Ale co když už na nějaké stránce pracujete a chcete ji přidat pod VVV. Pojďme se podívat, jak to můžeme udělat.
Chcete-li přidat existující web, první krok je stejný jako předtím, tj. úprava souboru vvv-custom.yml a přidání následujícího kódu.
howtoforge: repo: https://github.com/Varying-Vagrant-Vagrants/custom-site-template description: "A WordPress site"
vm_dir: /srv/www/newsite
local_dir: /home/user/vvv/www/newsite
hosts: - howtoforge.local
To řekne VVV, aby vytvořilo nový web dostupný přes http://howtoforge.local Ale je to úplně nový web. Co musíme udělat, je převést jej na naši stávající instalaci. K tomu potřebujeme zkopírovat soubory z naší stávající instalace WordPress do místního adresáře, tj. /home/user/vvv/www/newsite
$ cp /var/www/howtoforge/ /home/user/vvv/www/newsite/
Nyní musíme zkopírovat databázi. Jednoduchý způsob, jak to udělat, je exportovat vaši stávající databázi jako soubor .sql, zkopírovat tento soubor do adresáře našeho blogu a znovu importovat databázi pomocí SSHing do našeho VM.
Nejprve se přihlaste k mysql v příkazovém řádku vašeho místního systému a použijte následující příkaz k exportu databáze.
$ cd /home/user/vvv/www/newsite $ mysqldump -u username -p database_name > data-dump.sql
Nyní můžeme znovu poskytovat virtuální počítač.
$ vagrant reload --provision
SSH do vašeho VM.
$ vagrant ssh
Nyní importujte databázi zpět do vašeho VM.
$ cd /srv/www/newsite $ mysql -u root -p newsite < data-dump.sql
VVV již vytvořilo novou databázi během zřizování pro náš blog s názvem newsite. Heslo pro uživatele root je zde root. Výše uvedený příkaz naimportuje naši stávající databázi do nové.
Tím je nastavení existujícího webu ve VVV dokončeno.
Povolit protokol SSL
Instalace Localhost obvykle nejsou zabezpečené. A instalace vlastního certifikátu na localhost může být zdlouhavý a únavný proces, dokonce i s Let's Encrypt. Ale VVV tento proces docela usnadňuje a ve výchozím nastavení má SSL povoleno na všech vašich instalacích WordPress. Začněte na svých stránkách používat https. Poprvé si váš prohlížeč bude stěžovat na neplatný certifikát, ale přidá ho jako výjimku a od této chvíle by to mělo být v pořádku.
Aktualizace WordPress
Instalaci WordPressu můžete aktualizovat z řídicího panelu. VVV také aktualizuje váš wordpress, kdykoli znovu upravíte virtuální počítač. WordPress můžete také aktualizovat ručně stažením z WordPress.org a extrahováním souboru zip. A můžete také použít WP CLI, který je součástí VVV. Chcete-li svůj web aktualizovat pomocí rozhraní WP CLI, použijte následující příkazy.
$ cd /srv/www/newsite $ wp core update
Aktualizace VVV
Prvním krokem je zastavit stroj Vagrant.
$ vagrant halt
Nyní se ujistěte, že váš tulák a Virtualbox jsou aktuální. Pokud ne, stáhněte si je znovu a nainstalujte.
Spusťte následující příkaz a aktualizujte svůj Vagrant box. Je volitelný, ale je nejlepší, když s ním budete pokračovat.
$ vagrant box update
Nyní stáhněte nejnovější verzi VVV z Github.
$ git pull
Aktualizaci dokončete znovu opravou krabice.
$ vagrant up --provision
Další nástroje
VVV se dodává s různými nástroji, které si můžete nainstalovat. Najdete je uvedené v části utilities ve vašem souboru vvv-custom.yml. Ve výchozím nastavení jsou povoleny tls-ca a phpmyadmin. Dále můžete nainstalovat memcached, opcache, webgrind, mongodb, tideways a php verze od 5.6 do 7.3 odstraněním # před nimi v sekci utilities.
Můžete dokonce přidat svůj vlastní software, který chcete nainstalovat. Budete muset upravit vvv-custom.yml soubor s něčím jako
utilities:
core:
- tls-ca
- phpmyadmin
java:
- java7
utility-sources:
java:
repo: https://github.com/example/java-utilities.git
branch: master
Přidáte novou sekci, například zde java. Kód pro instalaci bude pocházet z úložiště git. Vaše úložiště git by mělo být strukturováno podobně jako
java7/
provision.sh
Soubor provide.sh bude obsahovat kód nezbytný k instalaci jazyka Java do vašeho virtuálního počítače. Název složky by se měl shodovat s názvem, který jste použili výše v souboru vvv-custom.yml soubor.
Závěr
Tím končí náš návod, jak nastavit místní vývojové prostředí WordPress pomocí Vagrant. Pokud máte nějaké dotazy, dejte nám vědět.