Debian : installation et configuration sous Windows

Logo DebianDebian est un système d’exploitation libre, basé sur le noyau Linux. Son utilisation la plus fréquente est l’hébergement de sites internet. Sa version actuelle stable est la 7.1, aussi appelée Wheezy.

Dans ce tutorial, nous allons voir comment installer une machine virtuelle Debian sur un poste Windows, la configurer en serveur web pour pouvoir y héberger des sites et des applications web, et enfin comment créer un partage pour pouvoir accéder aux fichiers de la Debian depuis son explorateur Windows.

 

Installation de la VM (Virtual Machine) Debian

Pour créer une machine virtuelle il faut d’abord installer VM VirtualBox, logiciel que vous pouvez télécharger gratuitement sur le site officiel.

Ensuite il faut télécharger le système d’exploitation Debian, ce qui est recommandé est de prendre la netinst qui est une version légère (nous installerons les paquets nécessaires ensuite) du système et qui installera les paquets à jour lors de l’installation (il faut donc être connecté à internet). Vous trouverez cette distribution ici.

Créer une nouvelle machine virtuelle en configurant la carte réseau par pont (bridge) plutôt que par NAT. Dans les paramètres de la VM /stockage/contrôleur IDE : indiquer le chemin de l’ISO netinst Debian.

Démarrer la VM. Si vous avez un message du genre : La virtualisation matérielle VTx/amd-v n’est pas disponible sur votre système. Certains invités (comme OS/2 ou QNX) nécessitent cette fonctionnalité pour pouvoir démarrer. Aller dans le BIOS et activer le fonction Intel virtualization technology.

Durant l’installation laissez toutes les options par défaut, sauf pour les paquets à cocher laissez seulement la dernière ligne : utile au système.

 

Installation des paquets

Avant d’installer les paquets, nous allons donner une IP statique à la VM, ça peut être utile, voici comment procéder.

Ouvrez le fichier d’interface des connexions réseaux nano /etc/network/interfaces et modifiez le fichier.

auto eth0
iface eth0 inet static
address 192.168.1.50
netmask 255.255.255.0
gateway 192.168.1.1

L’IP de votre VM est désormais 192.168.1.50. Pour charger cette nouvelle configuration entrez /etc/init.d/networking restart

Vous pouvez tester si votre Debian a bien l’IP indiqué et si elle a toujours accès à internet.

ifconfig
ping google.fr

Pour entrez toutes ces commandes, je vous conseille d’utiliser PuTTY.

Petite astuce pour que PuTTY gère correctement l’encodage UTF-8 : allez dans terminal/keyboard/function keys et cochez linux. Ensuite allez dans window/translation et sélectionnez UTF-8.

Nous allons maintenant installer les paquets nécessaires car pour le moment la Debian est à nu.

apt-get install openssh-server apache2 php5 php5-cli mysql-server mysql-client php5-mysql php5-xdebug phpmyadmin postfix samba

Nous avons installé le serveur web Apache, des paquets PHP utiles, le SGBD MySQL, phpmyadmin qui permet de gérer ses bases de données, Postfix qui est un serveur mail, et Samba qui va nous permettre de créer des partages entre la VM et Windows.

En fonction des besoins il est possible d’installer d’autres paquets pour gérer le format zip, la manipulation d’image et de pdf, le cache etc. Voici une liste non-exhaustive.

php5-ldap php5-pear php5-imagick php-apc php5-memcache php5-curl php5-gd php5-imagick proftpd awstats subversion zendframework zip msttcorefonts xpdf xpdf-reader xpdf-utils pngcrush libxml2-utils librsvg2-2 librsvg2-bin librsvg2-common

 

Configuration d’Apache

Nous allons changer une directive pour pouvoir outrepasser la configuration d’Apache via les fichiers .htaccess.

Pour cela il faut éditer le fichier de configuration d’Apache nano /etc/apache2/sites-enabled/000-default

Dans la partie <Directory /var/www/>, modifiez la directive AllowOverride à All ce qui nous donne AllowOverride All

Certains modules ne sont pas activés par défaut, comme la redirection d’URL, SSL. Activez ceux qui suivent et redémarrer Apache pour qu’ils soient pris en compte.

a2enmod rewrite
a2enmod headers
a2enmod expires
a2enmod ssl
service apache2 restart

Dernière chose, ajoutez votre utilisateur (dans mon cas louis) au groupe www-data et inversement.

adduser louis www-data
adduser www-data louis

 

Configuration de PHP

Voici quelques modifications à apporter au fichier de configuration php.ini pour pouvoir démarrer le développement dans de bonnes conditions nano /etc/php5/apache2/php.ini

html_errors = On
display_errors = On
error_reporting = E_ALL & E_STRICT (ou -1)
date.timezone = "Europe/Paris"

On lui indique ici de bien nous afficher toutes les erreurs, et on lui passe la timezone de Paris car certaines fonction PHP en ont besoin.

 

Configuration de Postfix

Si votre VM est reliée à un nom de domaine, vous devez renseigner l’IP du serveur (ou son nom de domaine) dans le fichier de configuration de Postfix nano /etc/postfix/main.cf

relayhost = ipdelamachine

Si la Debian n’est pas reliée à un nom de domaine, ce qui est souvent le cas pour les VM de développement, vous aurez surement besoin d’indiquer le relai SMTP de votre hébergeur.

 

Créer les partages avec Samba

Dans cet exemple nous allons créer 2 partages, un qui pointe à la racine de la VM et que je vais appeler debianlouis, et l’autre qui pointera directement vers le dossier /var/www/ où se trouveront vos sites web.

Pour cela nous allons modifier le fichier de configuration de Samba nano /etc/samba/smb.conf

Dans la partie [global] ajoutez server string = %h server si ce n’est pas le cas.

Puis les 2 partages ci-dessous.

[www]
valid users = louis
writeable = yes
public = yes
path = /var/www

[debianlouis]
valid users = louis
writeable = yes
public = yes
path = /

Créez ensuite un password pour l’utilisateur Samba et redémarrez le service.

smbpasswd -a louis
service samba restart

Les partages sont prêts, il ne reste plus qu’à les ajouter depuis Windows. Ouvrez votre explorateur et allez dans Connecter un lecteur réseau, indiquez le chemin du partage, dans notre cas pour accéder au dossier www il faut entrer \192.168.1.50www. Entrez votre utilisateur et mot de passe et vous devriez maintenant avoir un nouveau disque qui apparaît.

Si ça ne fonctionne pas, testez depuis votre Debian si le partage fonctionne. Pour cela il faut installer le paquet client samba.

apt-get install smbclient
smbclient //127.0.0.1/www -U louis

Si ça ne fonctionne pas le problème vient de votre Debian, si ça fonctionne vous devriez en théorie ne pas avoir de souci pour ajouter le partage à Windows.

Dernière chose et votre environnement de développement sera fin prêt !

Par défaut le dossier /var/www/ appartient à l’utilisateur root. Vous pouvez le passer à l’utilisateur www-data et changer les droits du dossier en suivant les commandes qui suivent.

chown www-data:www-data /var/www/
chmod 0770 /var/www/

Les 2 parties qui suivent ne sont pas obligatoires, elles permettent de passer les versions de PHP et MySQL aux plus récentes.

 

Passer de PHP 5.4 à PHP 5.5

Actuellement c’est la version 5.4 qui est installée par défaut. Pour passer à la version 5.5, il faut changer les dépôts pour que la Debian aille chercher les paquets qui nous intéressent. Ouvrez le fichier qui liste les dépôts nano /etc/apt/sources.list et entrez ce qui suit :

deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all

Entrez ensuite les commandes suivantes :

wget http://www.dotdeb.org/dotdeb.gpg
cat dotdeb.gpg | apt-key add -
apt-get update
apt-get install php5

Avec cette version de PHP, si xdebug ne fonctionne pas il faut prendre la dernière version sur leur site et suivre le déroulement indiqué http://xdebug.org/wizard.php.

 

Passer de MySQL 5.5 à MySQL 5.6

Tout comme PHP 5.4, par défaut ce n’est pas la dernière version de MySQL qui est installée mais la version 5.5 (au moment où j’écris cet article bien sûr).

Pour passer à la version 5.6 vous pouvez suivre ce tutorial disponible sur le site Grafikart.

 

Voila, vous disposez maintenant d’un environnement web classique Linux avec Debian/Apache/MySQL/PHP et des partages nécessaires qui vous permettent de travailler directement vos fichiers depuis Windows sans passer par des transferts FTP.

Share Button

Un commentaire

  1. Bonjour,
    Bel article.
    J’ajouterais cependant que de configurer en mod NAT permet une plus grande mobilité. En effet, en NAT, la VM reste « derriere » la machine hôtesse. Ainsi, qu’on se connecte d’un MacDo, d’un réseau d’entreprise, via un VPN, ou pas connecté du tout, la VM ne se doute de rien et fonctionne normalement.

    Autre précision, une application de ce tutoriel que j’apprécie énormément est l’édition via le partage: cela permet de tester et développer sans devoir « salir » sa machine avec un WAMP/XAMP et autres joyeusetés. Rien de plus embetant que de devoir installer des tonnes de logiciels sur sa machine principale et tout reinstaller lors des changements d’OS. Avec la virtualisation, on peut se permettre une VM par projet et éteindre la VM quand on n’est pas sur le projet.
    Bravo en tout cas.

    Reply
    • Bonjour, merci de souligner ce point car travaillant toujours sur des postes fixes je n’ai pas pris en compte cette possibilité :)

      Et oui je pense que c’est bien mieux de travailler de cette façon plutôt que d’installer des package WAMP/XAMP sur son poste car en plus d’être plus flexible ça permet de se familiariser avec Linux et de se rapprocher des conditions réelles d’un serveur de production.

      Reply

Laisser un commentaire.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.