GNU/Linux >> Linux Esercitazione >  >> Linux

Configura un ambiente di sviluppo WordPress locale con Vagrant

Se sviluppi con WordPress, è preferibile configurare un ambiente locale in cui hai installato un server, uno strumento di database e alcuni siti Wordpress insieme ad altri strumenti di cui hai bisogno. Questo va bene se lavori solo su pochi progetti. Ma quando si moltiplicano, sorgono problemi. E anche i grattacapi legati alla manutenzione di più ambienti, perché il client ha una configurazione diversa dalla tua.

Per aggirare questo problema, possiamo usare ciò che chiamiamo Vagrant. Vagrant è uno strumento per lavorare con ambienti virtuali. Fornisce un modo semplice per configurare un ambiente di sviluppo locale con pochi comandi e puoi replicare un'installazione completa tutte le volte che vuoi, con facilità e senza il fastidio di installare tutto manualmente. Per eseguire Vagrant, devi definire un insieme di regole. Vagrant configura la tua macchina virtuale in base a queste regole. Vagrant ha bisogno di due file per questo:Vagrantfile, che dice a Vagrant di che tipo di hardware ha bisogno la macchina virtuale, e un file di distribuzione, che dice a Vagrant cosa fare sulla macchina virtuale.

Poiché Vagrant funziona con ambienti virtuali, è necessario il software della macchina virtuale per eseguire Vagrant. Per i nostri scopi, utilizzeremo Virtualbox Open Source.

Installazione di VirtualBox

Vai alla pagina di download di Virtualbox e scarica un file binario corrispondente al tuo host Ospite. (L'host ospite è il sistema operativo da cui eseguirai il tuo ambiente di sviluppo.) Installa Virtualbox.

Installazione di Vagrant

Scarica il file binario corrispondente al tuo sistema operativo dalla pagina di download di Vagrant e installalo.

Per verificare se è stato installato correttamente, digita il seguente comando nella riga di comando del tuo sistema operativo.

$ vagrant -v

Installazione del plug-in Vagrant Hosts Updater

Il plug-in vagrant-hostupdater modificherà il file host del tuo sistema operativo in modo che i domini impostati da Vagrant funzionino. Per installarlo, esegui il seguente comando

$ vagrant plugin install vagrant-hostsupdater

Riavvia il tuo sistema operativo dopo aver installato Vagrant/Virtualbox in modo che non ci siano problemi di rete.

Installazione di Git

Linux

Avremo anche bisogno del controllo della versione Git per questo tutorial. Se non lo hai installato, installalo usando il seguente comando se hai una distribuzione Debian/Ubuntu

$ sudo apt install git

o se hai Fedora

$ sudo dnf install git

o se hai CentOS/RHEL

$ sudo yum install git

Controlla la versione di Git installata tramite il seguente comando

$ git --version

Vedrai qualcosa come

$ git version 2.20.1

Devi configurare Git tramite i seguenti comandi.

$ git config --global user.name "Your Name" 
$ git config --global user.email "[email protected]"

Finestre

Per installare Git su Windows, vai alla pagina di download di Git e installa il file binario.

Mac OS

Se hai installato homebrew, puoi installare Git tramite il seguente comando.

$ brew install git

oppure puoi scaricare un pacchetto binario dalla pagina Download di Git e installarlo.

Installa Varying Vagrant Vagrant

Invece di creare una configurazione Vagrant da zero, utilizzeremo Varying Vagrant Vagrant (VVV), una configurazione Vagrant open source mirata specificamente alla creazione di ambienti di sviluppo WordPress. Un VVV standard configurerà la tua macchina virtuale basata su Ubuntu 18.04 insieme a server Nginx, database MariaDB, PHP, WP-CLI, Node.js, MailHog, Composer, memcached, phpMyAdmin, git e vari altri strumenti. VVV ti fornirà più installazioni di WordPress per impostazione predefinita, una delle quali è l'ultima versione all'avanguardia per aiutarti a sperimentare.

Il primo passo è clonare il repository Git di VVV in una directory locale sul tuo sistema.

$ git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git ~/vvv

Qui stiamo clonando il ramo principale del repository sul sistema. Se desideri aggiornamenti più rapidi, puoi utilizzare il ramo di sviluppo.

Avvio di VVV

Passa alla directory in cui hai clonato VVV.

$ cd vvv

Avvia l'ambiente Vagrant che installerà la macchina virtuale e configurerà tutto.

$ vagrant up

Questo processo può richiedere del tempo, quindi sii paziente. È possibile che ti venga richiesta la password di root durante il processo necessario per impostare il file hosts del tuo sistema.

Nota per utenti di Windows 8/10

Se utilizzi Windows, potresti ricevere il seguente errore

==> 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

Nota l'adattatore a cui si fa riferimento qui:

VirtualBox Host-Only Ethernet Adapter #3

Apri il Pannello di controllo>> Centro connessioni di rete e condivisione. Ora fai clic su Modifica impostazioni adattatore. Fare clic con il pulsante destro del mouse sull'adattatore il cui Nome o Nome dispositivo corrisponde a Adattatore Ethernet solo host VirtualBox n. 3 e fai clic su Proprietà . Fare clic su Configura pulsante.

Ora fai clic sul Driver scheda. Fare clic su Aggiorna driver . Seleziona Cerca driver nel mio computer . Ora scegli Fammi scegliere da un elenco di driver disponibili sul mio computer . Seleziona la scelta che ottieni e fai clic su Avanti. Fai clic su Chiudi per completare l'aggiornamento. Ora torna alla tua finestra Terminale/Powershell/Comando e ripeti il ​​vagabondo su comando. Questa volta dovrebbe funzionare bene.

Una volta terminato, puoi visitare la dashboard VVV all'indirizzo http://vvv.test url.

VVV viene fornito con due installazioni predefinite di WordPress:http://one.wordpress.test e http://two.wordpress.test Entrambi i siti hanno gli stessi dettagli di accesso, admin come nome utente e password come password. Le credenziali del database per entrambi i siti sono wp come nome utente e password. Le credenziali utente MySQL Root sono root sia come nome utente che come password. E le credenziali dell'utente root della macchina virtuale sono root come nome utente e vagabondo come password.

C'è un'installazione di wordpress per sviluppatori su http://trunk.wordpress.net ma non funzionerà poiché non è stato fornito. Questa installazione è utile se sei un collaboratore di WordPress che lavora con ticket e patch Trac. Per abilitarlo, apri vvv-custom.yml e cambia il valore di skip_provisioning sotto wordpress-trunk su falso e quindi eseguire nuovamente il provisioning della VM utilizzando il comando

$ vagrant reload --provision

C'è un'altra installazione di wordpress senza URL etichettata come wordpress-meta-environment. Questa installazione creerà un ambiente utile per i contributi al meta team di WordPress, ad esempio WordCamps, .org ecc. Per abilitare questa installazione aggiungi la seguente riga sotto wordpress-meta-environment nel file vvv-custom.yml.

hosts:
- wpmeta.test

E poi cambia il valore di skip_provisioning a falso ed esegui nuovamente il provisioning della VM.

$ vagrant reload --provision

Aggiungi un nuovo sito

Se desideri aggiungere un altro sito alla VM, dovrai modificare vvv-custom.yml file che puoi trovare nel vvv directory. Se non è presente, copia semplicemente vvv-config.yml e crealo. Questo è un processo una tantum e non sarà necessario farlo di nuovo. Apporta sempre le modifiche in vvv-custom.yml perché vvv-config.yml viene sovrascritto quando aggiorni VVV.

Aggiungi il codice seguente nella sezione siti a vvv-custom.yml per aggiungere un nuovo sito.

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

Variabili

variabile repo fa riferimento a un repository Github predefinito che contiene informazioni su come configurare un nuovo sito WordPress sulla VM. Per ora, stiamo utilizzando un repository gestito da VVV.

descrizione variabile è autoesplicativo.

vm_dir è la directory effettiva all'interno della VM in cui risiederà il tuo sito.

dir_locale è la directory sul tuo computer host in cui risiede il tuo sito.

filiale variabile dice a Vagrant di controllare il ramo principale del repository nell'esempio qui.

nginx_upstream viene utilizzato per impostare la posizione in cui Nginx passa le richieste e viene solitamente utilizzato per modificare la versione PHP necessaria per l'installazione. php qui si riferisce alla versione PHP predefinita che è 7.2. Puoi usare php71 per cambiarlo in PHP 7.1 o php56 per cambiarlo in PHP 5.6.

skip_provisioning è impostato su false, il che significa che dobbiamo includere questo sito nella VM.

host variabile viene utilizzata per impostare l'URL di cui avremo bisogno per accedere al sito.

personalizzato è utile se hai bisogno di un controllo aggiuntivo sul tuo sito WordPress. Puoi utilizzare questa sezione per configurare l'installazione multisito o installare una versione diversa di WordPress e persino modificare il nome del database o del tuo sito che verrà utilizzato per la tua installazione.

tipo_wp La variabile decide se la tua installazione sarà una singola, multisito con domini o multisito con sottodirectory. wp_type accetta quattro valori:singolo, sottodominio, sottodirectory e nessuno. Con l'installazione del sottodominio, puoi definire più host per la tua installazione multisito nel seguente formato

hosts:
    - multisite.test
    - site1.multisite.test
    - site2.multisite.test
  custom:
    wp_type: subdomain

Puoi aggiungere un'altra variabile nella sezione personalizzata che è wp_version . Puoi impostarlo su Nightly se desideri installare la versione Nightly di WordPress. Richiede tre valori:notte, più recente e un numero di versione.

custom: 
     wp_version: nightly

C'è un'altra variabile, db_name che ti permette di impostare il nome del database per la tua installazione.

custom:
    db_name: super_secet_db_name

E infine, site_title la variabile ti consente di impostare il titolo del tuo sito WP.

custom:
    site_title: My Awesome Dev Site

Questo dovrebbe coprire tutte le variabili e le opzioni necessarie per aggiungere il tuo sito Web in VVV. Dopo aver modificato il file vvv-custom.yml, esegui il comando seguente per far funzionare il tuo nuovo sito.

$ vagrant reload --provision

Aggiungi un sito esistente

Finora, abbiamo imparato come aggiungere un sito completamente nuovo a VVV. Ma cosa succede se stai già lavorando su un sito e vuoi aggiungerlo sotto VVV. Vediamo come possiamo farlo.

Per aggiungere un sito esistente, il primo passaggio è lo stesso di prima, ovvero modificare il file vvv-custom.yml e aggiungere il codice seguente.

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

Questo dirà a VVV di configurare un nuovo sito accessibile tramite http://howtoforge.local Ma è un sito completamente nuovo. Quello che dobbiamo fare è convertirlo nella nostra installazione esistente. Per questo dobbiamo copiare i file dalla nostra installazione WordPress esistente nella directory locale, ad esempio /home/user/vvv/www/newsite

$ cp /var/www/howtoforge/ /home/user/vvv/www/newsite/

Ora dobbiamo copiare il database. Un modo semplice per farlo è esportare il database esistente come file .sql, copiare quel file nella directory del nostro blog e importare nuovamente il database tramite SSH nella nostra VM.

Innanzitutto, accedi a mysql nella riga di comando del tuo sistema locale e usa il comando seguente per esportare il database.

$ cd /home/user/vvv/www/newsite
$ mysqldump -u username -p database_name > data-dump.sql

Ora possiamo eseguire nuovamente il provisioning della VM.

$ vagrant reload --provision

SSH nella tua macchina virtuale.

$ vagrant ssh

Ora importa nuovamente il database nella tua VM.

$ cd /srv/www/newsite 
$ mysql -u root -p newsite < data-dump.sql

VVV ha già creato un nuovo database durante il provisioning per il nostro blog chiamato newsite. La password per l'utente root è root qui. Il comando precedente importerà il nostro database esistente in quello nuovo.

Questo completa la configurazione di un sito esistente in VVV.

Abilita SSL

Le installazioni di Localhost di solito non sono protette. E l'installazione del tuo certificato su localhost può essere un processo lungo e noioso, anche con Let's Encrypt. Ma VVV rende questo processo abbastanza semplice e per impostazione predefinita ha SSL abilitato su tutte le installazioni di WordPress. Inizia a usare https con i tuoi siti. Per la prima volta, il tuo browser si lamenterà di un certificato non valido, ma lo aggiungerà come eccezione e d'ora in poi dovrebbe andare bene.

Aggiornamento di WordPress

Puoi aggiornare la tua installazione di WordPress dalla dashboard. Inoltre, VVV aggiornerà il tuo wordpress ogni volta che esegui il reprovisioning della VM. Puoi anche aggiornare WordPress manualmente scaricandolo da WordPress.org ed estraendo il file zip. E puoi anche usare WP CLI che è in bundle con VVV. Per aggiornare il tuo sito con WP CLI, usa i seguenti comandi.

$ cd /srv/www/newsite
$ wp core update

Aggiornamento VVV

Il primo passo è fermare la macchina Vagrant.

$ vagrant halt

Ora assicurati che il tuo vagabondo e Virtualbox siano aggiornati. In caso contrario, scaricali di nuovo e installali.

Esegui il comando seguente per aggiornare la tua casella Vagrant. È facoltativo, ma è meglio che tu vada avanti con esso.

$ vagrant box update

Ora, estrai l'ultima versione di VVV da Github.

$ git pull

Esegui nuovamente il provisioning della casella per completare l'aggiornamento.

$ vagrant up --provision

Strumenti aggiuntivi

VVV viene fornito con varie utilità che è possibile installare. Li troverai elencati nella sezione utilità nel tuo file vvv-custom.yml. Per impostazione predefinita, tls-ca e phpmyadmin sono abilitati. Puoi installare ulteriormente le versioni memcached, opcache, webgrind, mongodb, tideways e php dalla 5.6 alla 7.3 rimuovendo il # davanti a loro nella sezione utilità.

Puoi persino aggiungere il tuo software che desideri installare. Dovresti modificare vvv-custom.yml file con qualcosa come

utilities:
  core:
    - tls-ca
- phpmyadmin java: - java7 utility-sources: java: repo: https://github.com/example/java-utilities.git branch: master

Aggiungerai una nuova sezione, java qui, per esempio. Il codice per l'installazione proverrà da un repository git. Il tuo repository git dovrebbe essere strutturato in modo simile a

java7/
    provision.sh

Il file provision.sh conterrà il codice necessario per installare java nella tua VM. Il nome della cartella dovrebbe corrispondere al nome che hai usato sopra in vvv-custom.yml file.

Conclusione

Questo conclude il nostro tutorial su come configurare un ambiente di sviluppo WordPress locale con Vagrant. Facci sapere se hai domande.


Linux
  1. Come uso Vagrant con libvirt

  2. Configurazione dell'archiviazione locale in Linux con Stratis

  3. Come installare o migrare WordPress con EasyEngine Setup

  4. Mantenimento delle autorizzazioni sui file con Git

  5. Sostituisci utente gitolite3 con git

Uno script di shell per configurare l'ambiente di sviluppo in Ubuntu

Imposta l'ambiente di sviluppo locale di WordPress in Linux

Configurazione automatizzata di Ansible Lab con Vagrant e Virtualbox in Linux

Come configurare WordPress su Ubuntu Server con Apache

Come lavorare con Ansible Provisioner in Vagrant

Installa WordPress con Nginx su Ubuntu 18.04