Naeh.net Le mémo du développeur

9déc/089

VirtualBox configurer la connexion réseau de la machine virtuelle

Après l'installation d'une machine virtuelle avec VirtualBox, il faut bien sûr la connecter à Internet, pour cela on a 2 méthodes :

  1. Le mode NAT
  2. Adaptateur réseau hôte

Le mode NAT :

Avec ce type de configuration, la machine aura accès au net, mais sans plus, elle ne sera pas joignable, elle ne sera pas visible sur le réseau, c'est le plus simple, le plus rapide, mais pas le plus efficace, néanmoins, ça peut suffire dans la plupart des cas. D'ailleurs, c'est la configuration par défaut de VirtualBox, donc il n'y a rien à faire pour que ça fonctionne.

Adaptateur réseau du système hôte :

Cette configuration fait que, non seulement, la machine virtuelle aura accès au net, mais elle sera elle même joignable depuis le réseau, avec cette configuration, la machine virtuelle apparaitra sur le réseau comme une machine indépendante du système hôte, ce qui est plutôt appréciable pour certaines utilisations, indispensable pour d'autres.

Nous allons voir comment procéder à cette configuration dans le cadre d'un système hôte sous XP (ou Vista) et une machine virtuelle sous Linux (Debian Etch en l'occurrence).

Tout d'abord, aller dans les paramètres de la machine virtuelle (éteinte ;-) ) et modifier les options du réseau, dans la partie basse de la fenêtre ajouter une interface réseau (cliquez sur le "+" a droite de la fenêtre, cela créera une interface réseau supplémentaire qu'on utilisera plus tard (visible dans les connexions réseau).

dans "Attaché à :" sélectionnez "Adaptateur réseau hôte", puis validez.

aller dans les connexions réseau, sélectionnez votre connexion habituelle (en général elle s'appelle :"connexion au réseau local") et la connexion virtuelle créée précédemment, puis cliquez sur le bouton droit de la souris (il faut sélectionner les 2 en même temps), et dans le menu contextuel cliquez sur "connexion de ponts", ceci va créer un pont entre les 2 connexions réseau (en gros il va donner la connexion a l'interface virtuelle).

normalement si tout va bien votre machine virtuelle est ajouté au réseau (il faut l'allumer hein ;-) ), elle obtient directement son adresse IP (si vous avez un serveur DHCP sur le réseau bien sûr, sinon rester en NAT ou configurez une IP fixe).

En cas de problème n'hésitez pas à recommencer, parfois ça a du mal a fonctionner.

Quelques pistes en cas de problème :

parfois, si on a fait plusieurs tests, bidouillé un peu /etc/network/interfaces etc. l'interface coté linux peut changer de nom, en général c'est eth0 mais c'est pas toujours le cas, voici un moyen simple de savoir comment est appelée l'interface réseau :

cat /proc/net/dev

dans le résultat de cette commande on voit le nom de l'interface, pratique pour la configurer à la main (IP statique par exemple) en tout cas ça m'a bien servi pour voir que mon interface s'appelait eth4 ;-)

n'oublier pas une petit

/etc/init.d/networking restart

après chanque changement dans /etc/network/interfaces

Bonne chance, et bonne virtualisation :-)

27oct/0824

Partager un répertoire Windows avec VirtualBox

Dans cet article nous allons voir comment partager, facilement, un répertoire Windows avec une machine virtuelle sous VirtualBox.

Tout d'abord, précisions l'environnement :
Il s'agit d'un système Hôte sous Windows XP, nous installons dessus le logiciel VirtualBox, et dans ce dernier nous créons une machine virtuelle tournant sous Linux (Systême guest).

Pour commencer il faut installer les additions client pour notre VirtualBox, pour cela je vous renvoie à notre article : Additions client pour VirtualBox.

Une fois les additions client installées, procédons comme suit :

  1. Sélectionner la machine virtuelle est cliquez sur "Répertoires Partagés"
  2. Cliquez sur le "+" (PLUS) a droite de la fenêtre qui s'ouvre et sélectionner un répertoire à partager, vous pouvez lui donner un nom
  3. Valider et démarrez votre machine virtuelle

Maintenant, nous allons voir comment monter le partage du coté de notre système guest (Linux), pour cela, exécutez la commande suivante :

mount -t vboxsf NOM_PARTAGE POINT_MONTAGE

où :
NOM_PARTAGE est le nom que vous avez donné à votre répertoire partagé lors de sa sélection.
POINT_MONTAGE est le point (répertoire, ou encore emplacement) dans la machine virtuelle dans lequel vous voulez monter le répertoire.

voici un exemple avec un partage nommé Downloads :

mount -t vboxsf Downloads /mnt/downloads
8oct/083

Installer libssh2, ssh2 pour php

Dans cet article nous allons voir comment installer l'extension ssh2 pour php5, cette extension permet l'utilisation de fonctionnalités SSH2 avec php (très utiles quand on veut faire du SFTP par exemple) pour plus d'informations cf. la documentation officielle sur php.net

Pour l'installation, ce n'est pas très compliqué, il suffit de suivre ces quelques étapes à la lettre et tout ira très bien ;-)

tout d'abord il faut s'assurer d'avoir les bons paquets d'installés, en voici une liste :

  • php5-dev
  • openssl
  • libssl-dev
  • gcc
  • make
  • etc. je suppose que si vous installez cette extension, c'est que vous avez déjà php, apache etc.

Toute la suite s'effectue en root

mais avant toute chose, n'oublions pas de faire un petit :

apt-get update
apt-get upgrade

en suite il faut créer un répertoire de travail :

cd ~
mkdir libssh2
cd libssh2

ensuite télécharger libssh2 :

wget http://ovh.dl.sourceforge.net/sourceforge/libssh2/libssh2-0.14.tar.gz

puis l'extraire :

tar -xzvf libssh2-0.14.tar.gz

aller dans le répertoire créé et installer libssh2 :

cd libssh2-0.14
./configure && make all install

maintenant que libssh2 est installée, passons a ssh2 :

on sort du repertoire de libssh2 et on télécharge ssh2 :

cd ..
wget http://pecl.php.net/get/ssh2-0.10.tgz

extraire l'archive téléchargée :

tar -xzvf ssh2-0.10.tgz

aller dans le répertoire créé et installer ssh2 :

cd ssh2-0.10
phpize && ./configure --with-ssh2 && make

maintenant que l'installation est terminée, on active l'extension, ici on va copier le fichier ssh2.so dans le répertoire des extension de php5 (il peut être différent du mien selon la distrib et l'installation) :

cp modules/ssh2.so /usr/lib/php5/20060613+lfs

puis on ajoute l'extension en créant un fichier ssh2.ini dans le répertoire conf.d (comme pour toutes les autres extensions de php) on n'oublie pas de le faire pour apache mais aussi pour le mode CLI.

echo "extension=ssh2.so" > /etc/php5/cli/conf.d/ssh2.ini
echo "extension=ssh2.so" > /etc/php5/apache2/conf.d/ssh2.ini
/etc/init.d/apache2 restart

Et voilà, notre extension est installée, a vous ssh2 et sftp avec php :)

28sept/0811

Additions client pour VirtualBox

Ici nous allons voir comment installer les additions client sur une virtualbox sous Windows et pour une Debian Etch en guest.

ça parait simple, mais quand on a installé une Debian assez maigre (avec presque rien dessus) la tache ne se résume plus a un simple clic, voici donc ce qu'il faut faire :

la première étape est obligatoire pour nous éviter un message d'erreur du type :

"Please install the build and header files for your current Linux kernel.
The current kernel version is 2.6.17-5mdv
Please install the GNU compiler.
Problems were found which would prevent VirtualBox from installing.
Please correct these problems and try again."

debian-guest:~# apt-get install linux-headers-`uname -r` build-essential

après il faut aller dans : Périphériques >> Installer les additions client...

retourner dans Debian et faire :

debian-guest:~# cd /media/
debian-guest:~# mount cdrom0
debian-guest:~# cd cdrom
debian-guest:~# sh VBoxLinuxAddition-XXXX.run (le XXX c'est la version adm64 ou x86)

redémarrez les machine virtuelle est ca devrait être bon ;-)

22sept/080

changer la locale sous debian

aller, une petite astuce que j'ai mis du temps a trouver, je voulais changer la locale de mon serveur pour passer de fr_FR.ISOXXXXX à fr_FR.UTF-8.

il faut s'assurer que le paquet locale est deja installé (par défaut sur une etch il me semble) et faire un coup de :

dpkg-reconfigure locales

et là on sélectionne la locale voulue en la mettant par défaut, se déconnecter, se reconnecter et le tour est joué :)