Un WAMP ou équivalent, c’est pas mal pour se faire la main, voire maquetter des trucs, mais de là à en faire quelque chose de pleinement exploitable tout comme un Linux, faut pas rêver ..
Pendant longtemps j’ai utilisé Uwamp, pas trop mal pour développer en mode hors ligne, mais lorsqu’une appli nécessite des choses un peu hors standard, il faut aller pêcher les plugins/modules… et ça c’est bon, j’ai assez donné et décidé depuis bien longtemps d’arrêter de m’emmerder avec de telles contraintes 🙁 ..
La solution d’installer un Virtualbox avec une distrib de son choix est bien sûr meilleure, car au moins on peut y installer exactement la même chose que son propre serveur d’exploitation ou hébergement. Sûr la procédure consiste à installer une distrib Linux complète, mais on n’a rien sans rien. Cela dit pour moi c’est vraiment un détail.
La complexité est de trouver un mode de fonctionnement et de paramétrage correspondant à mon besoin : je veux pouvoir travailler localement sur mon PC Windows 10 en mode complètement déconnecté pour développer des webapps, tout en profitant de l’accès Internet si disponible, et aussi d’une éventuelle connexion VPN établie depuis Windows. Et dans ce cas pouvoir bien évidemment synchroniser mes développements locaux avec mon serveur ou hébergement. Si vous avez le même besoin, je passe l’installation de Virtualbox ou de Linux (pour ma part Virtualbox version 5.1.30 et Linux CentOS 6.9), ce n’est pas le sujet, voici la procédure.
Pour ce faire, il faut utiliser 2 interfaces réseau sur Virtualbox. Je pars du principe que pour joindre mon serveur local, j’utiliserai l’IP 192.168.11.1/24. Adpatez selon vos besoins.
Avant de configurer le réseau de la VM, aller dans VirtualBox/Fichier/Préférences/Réseau, puis configurer les 2 onglets :
- Réseau NAT : CIDR du réseau naté est 192.168.11.0/24
- Réseau hôte uniquement, configurer l’adaptateur VirtualBox Host-Only Ethernet Adapter avec l’IP 192.168.11.100/24, avec un serveur DHCP associé dont l’adresse du serveur est 192.168.11.100 et délivrant des adresses de 192.168.11.1 à 192.168.11.99 par exemple. Ceci aura pour effet de toujours attribuer l’IP 192.168.11.1 à la VM, qui pourra donc être systématiquement utilisée depuis un navigateur Windows pour atteindre les dévs. Cette opération créera automatiquement l’interface réseau « VirtualBox Host-Only Network » en lui collant l’IP 192.168.11.100
Puis configurez les interfaces de la VM :
- la 1ère est de type Réseau hôte uniquement pour joindre la VM depuis le poste Windows avec toujours la même IP :
- la 2ème est de type NAT pour permettre l’accès Internet; le CIDR ‘naté’ doit être alors 192.168.11.0/24
Il faut ensuite créer si ce n’est pas déjà fait 2 interfaces eth côté Linux, en BOOTPROTO=dhcp toutes les 2.
Rappels pour un Red Hat ou équivalent :
- ifconfig -a montre toutes les interfaces même non montées, après avoir généré à la main un fichier ifcfg-eth1
- utiliser ifup pour créer l’interface eth1 si absente
Exemple de fichier eth0 :
DEVICE=eth0 TYPE=Ethernet UUID=a59eb0a5-e472-4ba3-9dfb-2256bf482f15 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp HWADDR=08:00:27:BC:B9:B4 DEFROUTE=no PEERDNS=no PEERROUTES=no IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth0"
Exemple de fichier eth1 :
DEVICE=eth1 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp HWADDR=08:00:27:F5:D6:60 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=yes IPV6INIT=no NAME="System eth1"
A partir de là :
- la VM peut accéder à Internet en passant par eth1 (qui doit donc être la route par défaut par DEFROUTE=yes)
- optionellement la VM peut accéder au VPN monté depuis Windows. Testé avec OpenVPN, tout fonctionne bien et en même temps
- Windows peut accéder à la VM avec l’IP 192.168.11.1, il suffit de créer une entrée DNS dans le fichier hosts
- Et pour le confort : configurer Samba pour partager vos dossiers Web sur Linux afin de pouvoir les éditer depuis Windows avec vos outils habituels
Seul souci, la mise en veille de Windows pose souci à Virtualbox qui n’arrive pas à récupérer l’état des interfaces réseau lors du réveil, l’IP de l’interface VirtualBox Host-Only Ethernet Adapter se voit changée en 169.x.y.z … bref du Windows tout craché qui ne trouve plus de serveur DHCP .. Donc 2 parades possibles : pas de mise en veille, ou arrêt propre de Virtualbox avant.. 😉
Hopla !