Matt Biscay: développeur WordPress et WooCommerce pour SkyMinds
Redémarrer la machine virtuelle de Local by Flywheel photo

Local by Flywheel ne démarre plus à cause du renouvellement du certificat TLS de la machine virtuelle (docker) : une solution

J’utilise quotidiennement Local by Flywheel pour développer ou debugger des problèmes sur certains sites.

C’est une bonne alternative lorsque les hébergeurs ne proposent pas de site staging à leurs clients (les meilleurs hébergeurs proposent évidemment un staging, c’est la base).

L’autre jour, tournée de mises à jour suivie d’un reboot, je lance Local et patatras: il ne veut plus démarrer et visiblement reste bloqué sur une tentative de renouvellement de certificat TLS pour la machine virtuelle qui tourne sous Docker.

Si cela vous arrive, voici la marche à suivre. Il suffit de copier ces lignes d’instructions dans votre terminal. Concrètement, nous allons télécharger une nouvelle version du fichier ISO Boot2Docker et laisser le système se ré-provisionner.

Le processus implique de créer un alias (local-docker-machine) pour la machine virtuelle docker “Local by Flywheel”, et ensuite de lancer la série de commandes suivantes sur cet alias.

Voici les commandes à lancer dans le terminal:

alias local-docker-machine="/Applications/Local\ by\ Flywheel.app/Contents/Resources/extraResources/virtual-machine/vendor/docker/osx/docker-machine"
local-docker-machine stop local-by-flywheel
rm -rf ~/.docker/machine/certs
local-docker-machine create local-cert-gen
local-docker-machine start local-by-flywheel
local-docker-machine regenerate-certs -f local-by-flywheel
local-docker-machine rm -f local-cert-gen

Voici le résultat de ces commandes:

Creating CA: /Users/matt/.docker/machine/certs/ca.pem
Creating client certificate: /Users/matt/.docker/machine/certs/cert.pem
Running pre-create checks...
(local-cert-gen) No default Boot2Docker ISO found locally, downloading the latest release...
(local-cert-gen) Latest release for github.com/boot2docker/boot2docker is v19.03.5
(local-cert-gen) Downloading /Users/matt/.docker/machine/cache/boot2docker.iso from https://github.com/boot2docker/boot2docker/releases/download/v19.03.5/boot2docker.iso...
(local-cert-gen) 0%....10%....20%....30%....40%....50%....60%....70%....80%....90%....100%
Creating machine...
(local-cert-gen) Copying /Users/matt/.docker/machine/cache/boot2docker.iso to /Users/matt/.docker/machine/machines/local-cert-gen/boot2docker.iso...
(local-cert-gen) Creating VirtualBox VM...
(local-cert-gen) Creating SSH key...
(local-cert-gen) Starting the VM...
(local-cert-gen) Check network to re-create if needed...
(local-cert-gen) Found a new host-only adapter: "vboxnet1"
(local-cert-gen) Waiting for an IP...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with boot2docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: /Applications/Local by Flywheel.app/Contents/Resources/extraResources/virtual-machine/vendor/docker/osx/docker-machine env local-cert-gen
Docker machine "local-by-flywheel" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
Regenerating TLS certificates
Docker machine "local-by-flywheel" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.
About to remove local-cert-gen
WARNING: This action will delete both local reference and remote instance.
Successfully removed local-cert-gen

Vous n’avez plus qu’à lancer Local by Flywheel: lancement maintenant impeccable et toutes les machines virtuelles sont bien là.

Linux : installer VirtualBox via le PPA d'Oracle photo 2

Linux : installer VirtualBox via le PPA d’Oracle

J’ai toujours eu un peu de mal avec l’installation et la mise à jour de VirtualBox sous Linux. Il ne faut pas l’installer via les dépôts Ubuntu car ceux-ci deviennent vite obsolètes et ne seront proposées que les mises à jour de sécurité.

Il vaut donc mieux installer VirtualBox directement depuis Oracle, en installant d’abord le noyau linux, les entêtes du noyau et dkms pour éviter toutes les erreurs récurrentes au démarrage de l’application.

Voici ce que j’utilise désormais : tout est automatisé et ne prend que quelques secondes.

Etape 1 : installation des paquets pré-requis

On installe dkms et le noyau linux pour résoudre tous problèmes de dépendances ultérieurs :

sudo apt-get install build-essential dkms linux-source linux-headers-`uname -r`

Cela évite, entre autres, de tomber sur cette erreur lors du lancement d’une machine virtuelle :

Kernel driver not installed The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing
‘/etc/init.d/vboxdrv setup’
as root.

Etape 2 : installation de VirtualBox avec le PPA d’Oracle

Installation de VirtualBox en une seule commande :

echo "deb http://download.virtualbox.org/virtualbox/debian `lsb_release -sc` contrib" | sudo tee -a /etc/apt/sources.list.d/virtualbox.list && wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - && sudo apt-get update && sudo apt-get install virtualbox-4.3

Avec cette commande, on télécharge la clé Oracle pour VirtualBox, on installe le dépôt de VirtualBox en fonction de notre version de Linux, on rafraichit la liste des paquets et on installe la dernière version de VirtualBox.

Lire la suite

ipod-spirit-jailbreak-01

Jailbreak de l’iPod Touch avec Spirit sous VirtualBox

Maintenant que notre iPod Touch a été mis à jour dans iTunes avec le firmware 3.1.3, nous allons procéder au jailbreak de l’appareil.

logo apple pirate

Certain(e)s vont sûrement me demander ce qu’est le jailbreak : littérallement, il s’agit d’une évasion de prison en anglais.

Appliqué à l’iPhone/iPod/iPad, il s’agit de s’évader des contraintes imposées par Apple et augmenter les fonctionnalités de son appareil : changement des thèmes/icônes/fonds d’écrans, ajout de sonneries, ajout d’applications… bref, c’est un peu comme si vous libériez votre appareil !

Je suis toujours dans VirtualBox, dans une machine virtuelle qui fait tourner Windows XP SP3 mais le principe est le même sur une installation Windows standard.

Lire la suite

Mettre à jour le firmware de l'iPhone ou iPod Touch sous VirtualBox photo 1

Mettre à jour le firmware de l’iPhone ou iPod Touch sous VirtualBox

logo apple metal

Après avoir activé la prise en charge des périphériques USB dans notre machine virtuelle, nous allons voir comment mettre à jour le firmware de l’iPod Touch.

Nous lançons donc notre machine virtuelle, qui se trouve être Windows XP SP3 totalement patché.

Installation d’iTunes

Pour commencer, il nous faut télécharger et installer iTunes, condition sine qua non pour mettre à jour l’iPod Touch. Je rêve que cela puisse se faire un jour depuis Ubuntu… Installez-le avec les options par défaut.

Lire la suite

virtualbox-usb

VirtualBox : accéder aux périphériques USB (iPod) dans la machine virtuelle

virtualbox logo

Je me suis mis en tête de mettre à jour le firmware de mon iPod Touch, étape préliminaire avant un futur jailbreak. Je boote donc sur ma partition Windows XP, branche l’iPod… et l’ordinateur redémarre sauvagement !

Là, je ne cherche même plus à comprendre. Je reboote sous Ubuntu et installe VirtualBox pour créer une installation virtualisée de Windows XP.

Installation de VirtualBox

Il existe 2 paquets pour VirtualBox sous Ubuntu : un paquet libre (virtualbox-ose) et un paquet propriétaire (virtualbox-3.1 à l’heure où j’écris cet article). Et bien une fois n’est pas coutume, il faut installer le paquet propriétaire : le paquet libre ne prend pas en charge l’USB (ballot non ?).

Installez donc virtualbox depuis Synaptics ou via le terminal :

sudo apt-get install virtualbox-3.1

Lire la suite