Retour : Page Principale > sommaire aide > sommaire aide-mémos
Voir : https://github.com/telabotanica/vvv-wordpress-tela-botanica
On va voir comment utiliser VVV et WordMove pour installer facilement un environnement de dev WordPress local identique avec nos environnements de test/preprod
Varying-Vagrant-Vagrants : An open source Vagrant configuration for developing with Wordpress
https://varyingvagrantvagrants.org
https://github.com/Varying-Vagrant-Vagrants/VVV
Pour commencer il faut au préalablement installer Virtualbox et Vagrant.
Vagrant doit être dans la version la plus récente disponible et Virtualbox dans la version la plus récente supportée par Vagrant.
Vagrant : https://www.vagrantup.com/downloads.html
Virtualbox : https://www.virtualbox.org/wiki/Linux_Downloads#Debian-basedLinuxdistributions puis "sudo apt install virtualbox virtualbox-qt virtualbox-dkms"
Les plugins hostsupdater, triggers et vbguest sont vivement conseillés :
Cloner le dépôt de VVV :
VVV est livré avec trois Wordpress vierges qui ne nous servent à rien, on va créer le notre en créant le fichier vvv-custom.yml comme dans cet exemple :
Puis on va demander Ă Vagrant de lancer la machine virtuelle :
La page d'accueil de VVV est ensuite dispo : http://vvv.dev (ou http://vvv.test)
Une fois la VM lancée notre Wordpress custom devrait être installé dans "/srv/www/tela-botanica/public_html".
Il faut ensuite éditer /srv/www/tela-botanica/public_html/wp-config.php pour changer le préfixe de table :
(19/10/2017 : car le préfixe est vide actuellement sur preprod/pretest/test, faudrait le remettre à la valeur par défaut "wp_" un de ces jours)
On se connecte Ă la VM puis on va y lancer l'installation :
Ne pas utiliser gem et rvm en sudo.
Voir les cas d'erreur plus bas.
Il faut installer sshpass notamment pour pouvoir récupérer les uploads :
Il faut également se connecter une première fois à Aphyllanthe pour que SSH connaisse le host avant la procédure de Wordmove
Pour copier test ou preprod sur notre env local il faut utiliser Wordmove tel qu'expliqué dans la Doc (particulièrement cas n°3)
Voir l'exemple de movefile.yml en bas de cette page (il manque juste les mots de passe).
Une fois que le movefile.yml est Ă©crit on peut lancer Wordmove :
https://deliciousbrains.com/https-locally-without-browser-privacy-errors/
Donc on lance ça pour corriger :
Solution propre mais inutile en dev :
RVM n'est pas correctement installé, donc pour faire ça proprement dans un env de prod faudrait le réinstaller pour éviter ce problème de droits :
Puis se déconnecter de la session et de reconnecter pour réinstaller rvm (sans sudo), voir https://rvm.io/
Exemple :
Si il crie un truc genre :
Alors c'est qu'on a oublié de sourcer les scripts :
Ă€ copier dans "/srv/www/tela-botanica/public_html/movefile.yml"
À RÉÉCRIRE - cette page mérite d'être conservée, à condition de la mettre à jour
Voir : https://github.com/telabotanica/vvv-wordpress-tela-botanica
Utilisation de VVV
On va voir comment utiliser VVV et WordMove pour installer facilement un environnement de dev WordPress local identique avec nos environnements de test/preprod
Utilisation basique
Varying-Vagrant-Vagrants : An open source Vagrant configuration for developing with Wordpress
https://varyingvagrantvagrants.org
https://github.com/Varying-Vagrant-Vagrants/VVV
Pour commencer il faut au préalablement installer Virtualbox et Vagrant.
Vagrant doit être dans la version la plus récente disponible et Virtualbox dans la version la plus récente supportée par Vagrant.
Vagrant : https://www.vagrantup.com/downloads.html
Virtualbox : https://www.virtualbox.org/wiki/Linux_Downloads#Debian-basedLinuxdistributions puis "sudo apt install virtualbox virtualbox-qt virtualbox-dkms"
Les plugins hostsupdater, triggers et vbguest sont vivement conseillés :
vagrant plugin install vagrant-hostsupdater vagrant-triggers vagrant-vbguest
Cloner le dépôt de VVV :
git clone -b master git://github.com/Varying-Vagrant-Vagrants/VVV.git wordpress-tela-VVV
Créer un Wordpress perso
VVV est livré avec trois Wordpress vierges qui ne nous servent à rien, on va créer le notre en créant le fichier vvv-custom.yml comme dans cet exemple :
#wordpress-tela-VVV/vvv.custom.yml sites: tela-botanica: repo: https://github.com/telabotanica/vvv-wordpress-tela-botanica.git hosts: - local.tela-botanica.dev
Puis on va demander Ă Vagrant de lancer la machine virtuelle :
# depuis le dossier de wordpress-tela-VVV vagrant up
La page d'accueil de VVV est ensuite dispo : http://vvv.dev (ou http://vvv.test)
Une fois la VM lancée notre Wordpress custom devrait être installé dans "/srv/www/tela-botanica/public_html".
Il faut ensuite éditer /srv/www/tela-botanica/public_html/wp-config.php pour changer le préfixe de table :
(19/10/2017 : car le préfixe est vide actuellement sur preprod/pretest/test, faudrait le remettre à la valeur par défaut "wp_" un de ces jours)
$table_prefix = '';
Installer Wordmove dans la VM
On se connecte Ă la VM puis on va y lancer l'installation :
vagrant ssh
Ne pas utiliser gem et rvm en sudo.
Voir les cas d'erreur plus bas.
gem install wordmove
Lancer Wordmove
Il faut installer sshpass notamment pour pouvoir récupérer les uploads :
sudo apt install sshpass
Il faut également se connecter une première fois à Aphyllanthe pour que SSH connaisse le host avant la procédure de Wordmove
ssh beta@10.99.34.5
Pour copier test ou preprod sur notre env local il faut utiliser Wordmove tel qu'expliqué dans la Doc (particulièrement cas n°3)
Voir l'exemple de movefile.yml en bas de cette page (il manque juste les mots de passe).
Une fois que le movefile.yml est Ă©crit on peut lancer Wordmove :
# depuis le dossier où est présent le movefile.yml wordmove pull -e preprod --all --no-uploads -s # pour lancer une simulation de pull, et sans le "-s" si tout s'est bien déroulé. Le "--no-uploads" c'est pour éviter d'attendre le téléchargement de plusieurs centaines de Mo
Activer le HTTPS
Voir : https://github.com/Varying-Vagrant-Vagrants/VVV/wiki/Site-specific-self-signed-SSL-certificateshttps://deliciousbrains.com/https-locally-without-browser-privacy-errors/
Problèmes connus
- Installation de Wordmove
$ gem install wordmove ... ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /usr/local/rvm/gems/ruby-2.4.1 directory.
Donc on lance ça pour corriger :
sudo chmod 777 -R /usr/local/rvm
Solution propre mais inutile en dev :
RVM n'est pas correctement installé, donc pour faire ça proprement dans un env de prod faudrait le réinstaller pour éviter ce problème de droits :
rvm implode sudo rm -rf /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm
Puis se déconnecter de la session et de reconnecter pour réinstaller rvm (sans sudo), voir https://rvm.io/
Exemple :
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \curl -sSL https://get.rvm.io | bash -s stable
Si il crie un truc genre :
RVM is not a function, selecting rubies with 'rvm use ...' will not work.
Alors c'est qu'on a oublié de sourcer les scripts :
source /home/vagrant/.rvm/scripts/rvm
- Utilisation de Wordmove
in `parse': (<unknown>): did not find expected key while parsing a block mapping at line X column X (Psych::SyntaxError)
movefile.yml
Ă€ copier dans "/srv/www/tela-botanica/public_html/movefile.yml"
global: sql_adapter: "wpcli" local: vhost: "http://local.tela-botanica.dev" wordpress_path: "/srv/www/tela-botanica/public_html" # use an absolute path here database: name: "wordpress_tb" user: "wp" password: "wp" host: "localhost" preprod: vhost: "https://beta.tela-botanica.org/preprod" wordpress_path: "/home/beta/www/preprod" # use an absolute path here database: name: "wordpress" user: "wordpress" password: "" host: "localhost" ssh: host: "10.99.34.5" user: "beta" password: "" # password is optional, will use public keys if available. port: 22 # Port is optional rsync_options: "--verbose" # Additional rsync options, optional exclude: #- ".git/" - ".htaccess" #- ".gitignore" - ".sass-cache/" - "node_modules/" - "bin/" - "tmp/*" - "Gemfile*" - "movefile.yml" - "wp-config.php" - "wp-content/*.sql.gz" test: vhost: "https://beta.tela-botanica.org/test" wordpress_path: "/home/beta/www/test" # use an absolute path here database: name: "wordpress_test" user: "wordpress" password: "" host: "localhost" ssh: host: "10.99.34.5" user: "beta" password: "" # password is optional, will use public keys if available. port: 22 # Port is optional rsync_options: "--verbose" # Additional rsync options, optional exclude: #- ".git/" - ".htaccess" #- ".gitignore" - ".sass-cache/" - "node_modules/" - "bin/" - "tmp/*" - "Gemfile*" - "movefile.yml" - "wp-config.php" - "wp-content/*.sql.gz"