GNU/Linux >> Tutoriels Linux >  >> Linux

Configurer un environnement de développement WordPress local avec Vagrant

Si vous développez avec WordPress, il est préférable de configurer un environnement local où vous avez installé un serveur, un outil de base de données et quelques sites Wordpress ainsi que d'autres outils dont vous avez besoin. C'est bien si vous ne travaillez que sur quelques projets. Mais quand ils se multiplient, des problèmes surviennent. Et aussi les maux de tête liés à la maintenance de plusieurs environnements, car le client a une configuration différente de la vôtre.

Pour contourner ce problème, nous pouvons utiliser ce que nous appelons Vagrant. Vagrant est un outil pour travailler avec des environnements virtuels. Il fournit un moyen simple de configurer un environnement de développement local avec quelques commandes, et vous pouvez répliquer une configuration complète autant de fois que vous le souhaitez, facilement et sans avoir à tout installer manuellement. Pour exécuter Vagrant, vous devez définir un ensemble de règles. Vagrant configure votre machine virtuelle en fonction de ces règles. Vagrant a besoin de deux fichiers pour cela :Vagrantfile, qui indique à Vagrant le type de matériel dont la machine virtuelle a besoin, et un fichier de déploiement, qui indique à Vagrant quoi faire sur la machine virtuelle.

Étant donné que Vagrant fonctionne avec des environnements virtuels, vous avez besoin d'un logiciel de machine virtuelle pour exécuter Vagrant. Pour nos besoins, nous utiliserons la Virtualbox Open Source.

Installer VirtualBox

Rendez-vous sur la page de téléchargement de Virtualbox et téléchargez un fichier binaire correspondant à votre hôte invité. (L'hôte invité est le système d'exploitation à partir duquel vous exécuterez votre environnement de développement.) Installez Virtualbox.

Installer Vagrant

Téléchargez le binaire correspondant à votre système d'exploitation depuis la page de téléchargement de Vagrant et installez-le.

Pour tester si son installation a réussi, tapez la commande suivante dans la ligne de commande de votre système d'exploitation.

$ vagrant -v

Installation du plug-in de mise à jour Vagrant Hosts

Le plug-in vagrant-hostupdater modifiera le fichier d'hôtes de votre système d'exploitation afin que les domaines configurés par Vagrant fonctionnent. Pour l'installer, exécutez la commande suivante

$ vagrant plugin install vagrant-hostsupdater

Redémarrez votre système d'exploitation après avoir installé Vagrant/Virtualbox afin qu'il n'y ait pas de problèmes de réseau.

Installer Git

Linux

Nous aurons également besoin du contrôle de version Git pour ce tutoriel. Si vous ne l'avez pas installé, installez-le en utilisant la commande suivante si vous avez une distribution Debian/Ubuntu

$ sudo apt install git

ou si vous avez Fedora

$ sudo dnf install git

ou si vous avez CentOS/RHEL

$ sudo yum install git

Vérifiez la version de Git installée via la commande suivante

$ git --version

Vous verrez quelque chose comme

$ git version 2.20.1

Vous devez configurer Git via les commandes suivantes.

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

Windows

Pour installer Git sous Windows, rendez-vous sur la page de téléchargement de Git et installez le binaire.

Mac OS

Si vous avez installé homebrew, vous pouvez installer Git via la commande suivante.

$ brew install git

ou vous pouvez télécharger un package binaire depuis la page de téléchargement de Git et l'installer.

Installer des vagabonds variables

Au lieu de créer une configuration Vagrant à partir de zéro, nous utiliserons Varying Vagrants Vagrant (VVV) - une configuration Vagrant open source visant spécifiquement à créer des environnements de développement WordPress. Un VVV standard configurera votre machine virtuelle basée sur Ubuntu 18.04 avec le serveur Nginx, la base de données MariaDB, PHP, WP-CLI, Node.js, MailHog, Composer, memcached, phpMyAdmin, git et divers autres outils. VVV vous donnera plusieurs installations WordPress par défaut, l'une d'entre elles étant la dernière version à la pointe de la technologie pour vous aider à expérimenter.

La première étape consiste à cloner le référentiel Git de VVV dans un répertoire local de votre système.

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

Ici, nous clonons la branche master du référentiel sur le système. Si vous souhaitez des mises à jour plus rapides, vous pouvez utiliser la branche develop.

VVV de démarrage

Accédez au répertoire dans lequel vous avez cloné VVV.

$ cd vvv

Lancez l'environnement Vagrant qui installera la machine virtuelle et configurera tout.

$ vagrant up

Ce processus peut prendre un certain temps alors soyez patient. Votre mot de passe root peut vous être demandé lors du processus requis pour configurer le fichier hosts de votre système.

Remarque pour les utilisateurs de Windows 8/10

Si vous êtes sous Windows, vous pouvez obtenir l'erreur suivante

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

Notez l'adaptateur mentionné ici :

VirtualBox Host-Only Ethernet Adapter #3

Ouvrez le Panneau de configuration>> Centre Réseau et partage. Cliquez maintenant sur Modifier les paramètres de l'adaptateur. Faites un clic droit sur l'adaptateur dont le nom ou le nom du périphérique correspond à Adaptateur Ethernet VirtualBox Host-Only # 3 et cliquez sur Propriétés . Cliquez sur Configurer bouton.

Cliquez maintenant sur le Pilote languette. Cliquez sur Mettre à jour le pilote . Sélectionnez Parcourir mon ordinateur pour les pilotes . Choisissez maintenant Me laisser choisir parmi une liste de pilotes disponibles sur mon ordinateur . Sélectionnez le choix que vous obtenez et cliquez sur Suivant. Cliquez sur Fermer pour terminer la mise à jour. Revenez maintenant à votre fenêtre Terminal/Powershell/Command et répétez le vagabond vers le haut commande. Cela devrait bien fonctionner cette fois.

Une fois cette opération terminée, vous pouvez visiter votre tableau de bord VVV à l'adresse http://vvv.test url.

VVV est livré avec deux installations WordPress par défaut - http://one.wordpress.test et http://two.wordpress.test Les deux sites ont les mêmes informations de connexion, admin comme nom d'utilisateur et mot de passe comme mot de passe. Les informations d'identification de la base de données pour les deux sites sont wp comme nom d'utilisateur et mot de passe. Les informations d'identification de l'utilisateur MySQL Root sont root comme nom d'utilisateur et mot de passe. Et les informations d'identification de l'utilisateur root de la VM sont root comme nom d'utilisateur et vagabond comme mot de passe.

Il existe une installation de développeur wordpress sur http://trunk.wordpress.net mais cela ne fonctionnera pas car il n'a pas été provisionné. Cette installation est utile si vous êtes un contributeur WordPress qui travaille avec des tickets et des correctifs Trac. Pour l'activer, ouvrez vvv-custom.yml et modifiez la valeur de skip_provisioning sous wordpress-trunk à false puis reprovisionnez la VM à l'aide de la commande

$ vagrant reload --provision

Il existe une autre installation wordpress sans URL étiquetée wordpress-meta-environment. Cette installation créera un environnement utile pour les contributions à la méta-équipe WordPress, par exemple WordCamps, .org, etc. Pour activer cette installation, ajoutez la ligne suivante sous wordpress-meta-environment dans le fichier vvv-custom.yml.

hosts:
- wpmeta.test

Et puis changez la valeur de skip_provisioning à faux et reprovisionnez la machine virtuelle.

$ vagrant reload --provision

Ajouter un nouveau site

Si vous souhaitez ajouter un autre site à la VM, vous devrez modifier le vvv-custom.yml fichier que vous pouvez trouver dans le vvv annuaire. Si ce n'est pas là, copiez simplement vvv-config.yml et créez-le. Il s'agit d'un processus unique et vous n'aurez pas besoin de le refaire. Effectuez toujours vos modifications dans vvv-custom.yml car vvv-config.yml est écrasé lorsque vous mettez à jour VVV.

Ajoutez le code suivant sous la section sites à vvv-custom.yml pour ajouter un nouveau site.

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

Variables

variable de dépôt fait référence à un référentiel Github prédéfini qui contient des informations sur la configuration d'un nouveau site WordPress sur la machine virtuelle. Pour l'instant, nous utilisons un dépôt géré par VVV.

description variable s'explique d'elle-même.

vm_dir est le répertoire réel à l'intérieur de la machine virtuelle où votre site résidera.

rép_local est le répertoire sur votre machine hôte où vit votre site.

succursale indique à Vagrant d'extraire la branche principale du dépôt dans l'exemple ici.

nginx_upstream est utilisé pour définir où Nginx transmet les demandes et est généralement utilisé pour modifier la version de PHP nécessaire à votre installation. php fait ici référence à la version PHP par défaut qui est 7.2. Vous pouvez utiliser php71 pour le changer en PHP 7.1 ou php56 pour le changer en PHP 5.6.

skip_provisioning est défini sur false, ce qui signifie que nous devons inclure ce site sur la machine virtuelle.

hôtes La variable est utilisée pour définir l'URL dont nous aurons besoin pour accéder au site.

personnalisé est utile si vous avez besoin d'un contrôle supplémentaire sur votre site WordPress. Vous pouvez utiliser cette section pour configurer une installation multisite ou installer une version différente de WordPress et même changer le nom de la base de données ou de votre site qui sera utilisé pour votre installation.

wp_type La variable décide si votre installation sera unique, multisite avec domaines ou multisite avec sous-répertoire. wp_type prend quatre valeurs :single, subdomain, subdirectory et none. Avec l'installation de sous-domaine, vous pouvez définir plusieurs hôtes pour votre installation multisite au format suivant

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

Vous pouvez ajouter une autre variable sous la section personnalisée qui est wp_version . Vous pouvez le définir sur Nightly si vous souhaitez installer la version Nightly de WordPress. Il prend trois valeurs :nightly, latest et un numéro de version.

custom: 
     wp_version: nightly

Il existe une autre variable, db_name qui vous permet de définir le nom de la base de données pour votre installation.

custom:
    db_name: super_secet_db_name

Et enfin, site_title La variable vous permet de définir le titre de votre site WP.

custom:
    site_title: My Awesome Dev Site

Cela devrait couvrir toutes les variables et options dont vous auriez besoin pour ajouter votre propre site Web dans VVV. Après avoir modifié le fichier vvv-custom.yml, exécutez simplement la commande suivante pour faire fonctionner votre nouveau site.

$ vagrant reload --provision

Ajouter un site existant

Jusqu'à présent, nous avons appris à ajouter un site entièrement nouveau à VVV. Mais que se passe-t-il si vous travaillez déjà sur un site et souhaitez l'ajouter sous VVV. Voyons comment nous pouvons faire cela.

Pour ajouter un site existant, la première étape est la même qu'auparavant, c'est-à-dire modifier le fichier vvv-custom.yml et ajouter le code suivant.

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

Cela indiquera à VVV de configurer un nouveau site accessible via http://howtoforge.local Mais c'est un site entièrement nouveau. Ce que nous devons faire est de le convertir dans notre installation existante. Pour cela, nous devons copier les fichiers de notre installation WordPress existante dans le répertoire local, c'est-à-dire /home/user/vvv/www/newsite

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

Maintenant, nous devons copier la base de données. Une façon simple de le faire est d'exporter votre base de données existante sous forme de fichier .sql, de copier ce fichier dans le répertoire de notre blog et d'importer à nouveau la base de données en SSH sur notre VM.

Tout d'abord, connectez-vous à mysql dans la ligne de commande de votre système local et utilisez la commande suivante pour exporter la base de données.

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

Nous pouvons maintenant provisionner à nouveau la machine virtuelle.

$ vagrant reload --provision

Connectez-vous en SSH à votre machine virtuelle.

$ vagrant ssh

Réimportez maintenant la base de données dans votre machine virtuelle.

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

VVV a déjà créé une nouvelle base de données lors de l'approvisionnement de notre blog nommé newsite. Le mot de passe pour l'utilisateur root est root ici. La commande ci-dessus importera notre base de données existante dans la nouvelle.

Ceci termine la configuration d'un site existant dans VVV.

Activer SSL

Les installations Localhost ne sont généralement pas sécurisées. Et l'installation de votre propre certificat sur localhost peut être un processus long et fastidieux, même avec Let's Encrypt. Mais VVV rend ce processus assez simple et SSL est activé par défaut sur toutes vos installations WordPress. Commencez simplement à utiliser https avec vos sites. Pour la première fois, votre navigateur se plaindra d'un certificat invalide, mais ajoutez-le comme exception et tout devrait bien se passer à partir de maintenant.

Mettre à jour WordPress

Vous pouvez mettre à jour votre installation WordPress à partir de votre tableau de bord. De plus, VVV mettra à jour votre wordpress chaque fois que vous reprovisionnerez la VM. Vous pouvez également mettre à jour WordPress manuellement en le téléchargeant depuis WordPress.org et en extrayant le fichier zip. Et vous pouvez également utiliser WP CLI qui est fourni avec VVV. Pour mettre à jour votre site avec WP CLI, utilisez les commandes suivantes.

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

Mettre à jour VVV

La première étape consiste à arrêter la machine Vagrant.

$ vagrant halt

Assurez-vous maintenant que votre vagabond et Virtualbox sont à jour. Sinon, téléchargez-les à nouveau et installez-les.

Exécutez la commande suivante pour mettre à jour votre boîte Vagrant. C'est facultatif, mais il vaut mieux que vous le fassiez.

$ vagrant box update

Maintenant, extrayez la dernière version VVV de Github.

$ git pull

Reprovisionnez à nouveau la boîte pour terminer la mise à jour.

$ vagrant up --provision

Outils supplémentaires

VVV est livré avec divers utilitaires que vous pouvez installer. Vous les trouverez répertoriés dans la section utilitaires de votre fichier vvv-custom.yml. Par défaut, tls-ca et phpmyadmin sont activés. Vous pouvez également installer les versions memcached, opcache, webgrind, mongodb, tideways et php de 5.6 à 7.3 en supprimant le # devant eux dans la section utilitaires.

Vous pouvez même ajouter votre propre logiciel que vous souhaitez installer. Vous auriez besoin de modifier le vvv-custom.yml fichier avec quelque chose comme

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

Vous allez ajouter une nouvelle section, java ici, par exemple. Le code de l'installation proviendra d'un dépôt git. Votre dépôt git devrait être structuré comme

java7/
    provision.sh

Le fichier provision.sh contiendra le code nécessaire pour installer java dans votre VM. Le nom du dossier doit correspondre au nom que vous avez utilisé ci-dessus dans le vvv-custom.yml fichier.

Conclusion

Cela conclut notre tutoriel sur la configuration d'un environnement de développement WordPress local avec Vagrant. Faites-nous savoir si vous avez des questions.


Linux
  1. Comment j'utilise Vagrant avec libvirt

  2. Configuration du stockage local sous Linux avec Stratis

  3. Comment installer ou migrer WordPress avec EasyEngine Setup

  4. Conserver les autorisations de fichiers avec Git

  5. Remplacer l'utilisateur gitolite3 par git

Un script shell pour configurer l'environnement de développement dans Ubuntu

Configurer l'environnement de développement WordPress local sous Linux

Configuration automatisée d'Ansible Lab avec Vagrant et Virtualbox sous Linux

Comment configurer WordPress sur Ubuntu Server avec Apache

Comment travailler avec Ansible Provisioner dans Vagrant

Installer WordPress avec Nginx sur Ubuntu 18.04