L’or­di­na­teur à carte unique Raspberry Pi est con­fi­gu­rable de manière à le rendre ex­trê­me­ment per­son­na­li­sable. Bien que la per­for­mance de Raspberry Pi puisse sembler moindre par rapport à ses variantes com­mer­ciales, il peut être très utile de con­fi­gu­rer un serveur Web privé. C’est notamment le cas si l’on désire tester son site Web et l’héberger ou si l’on gère soi-même les données et que l’on souhaite les rendre dis­po­nibles sur le Cloud. Ce tutoriel vous dévoile comment con­fi­gu­rer votre propre serveur avec un paquet logiciel LAMP sur Raspberry Pi.

Quelles sont les capacités d’un serveur Web Raspberry Pi ?

Si vous souhaitez utiliser un serveur Web Raspberry Pi, n’oubliez pas que le matériel présente des capacités limitées. L’or­di­na­teur a une per­for­mance res­treinte comparé aux serveurs Web or­di­naires que vous pouvez louer chez un hébergeur. Raspberry Pi n’est pas adapté à l’hé­ber­ge­ment des sites les plus complexes (par exemple pour les boutiques en ligne ou les sites Web qui com­por­tent de nombreux contenus dy­na­miques), ni pour les sites qui comptent un nombre important de visiteurs. Gé­né­ra­le­ment, la bande passante n’est pas suf­fi­sante avec une connexion internet privée, ce qui rend l’uti­li­sa­tion de Raspberry Pi plus difficile. Il existe tout de même dif­fé­rents domaines d’uti­li­sa­tion pour un serveur Web exploité par Raspberry Pi. Il est en effet possible de l’utiliser en tant que serveur personnel avec accès Internet ou par exemple pour un réseau d’en­tre­prise. Ainsi, un hé­ber­ge­ment privé peut suffire pour les sites Web testés en ligne et les sites Web qui comptent peu de visiteurs. La con­fi­gu­ra­tion est possible sur votre propre Cloud, ainsi que la domotique (par exemple le contrôle de la lumière, du chauffage et des appareils élec­tro­mé­na­gers connectés via Raspberry Pi). Un autre avantage repose sur les coûts très peu élevés d’un serveur Web Raspberry Pi, qui ne requiert que deux choses : un abon­ne­ment Internet et de l’élec­tri­cité. La con­som­ma­tion de ce nano-or­di­na­teur ne dépasse gé­né­ra­le­ment pas les 5 Watts et le coût d’ac­qui­si­tion des dif­fé­rents com­po­sants est peu élevé.

Les com­po­sants requis pour con­fi­gu­rer Raspberry Pi en tant que serveur Web

Le tutoriel ci-dessous présente une des nom­breuses options qui s’offrent à vous pour con­fi­gu­rer Raspberry Pi en tant que serveur Web. Pour cela, vous aurez besoin des com­po­sants suivants en plus du nano-or­di­na­teur :

  • Une carte SD avec Raspbian en guise de système d’ex­ploi­ta­tion
  • Une connexion Internet, de pré­fé­rence en réseau (à pri­vi­lé­gier au wifi)
  • Une connexion élec­trique, de pré­fé­rence par micro câble USB

Comme un serveur Web fonc­tionne en « headless » (c’est-à-dire sans écran ni appareil de saisie) et que cette variante est très peu gourmande en énergie, l’accès à distance sur le serveur par SSH est idéal. À l’aide d’un client SSH (comme PuTTY, WinSCP pour Windows ou OpenSSH pour systèmes d’ex­ploi­ta­tion Unix), il est possible de con­fi­gu­rer le serveur Web via un or­di­na­teur, un smart­phone ou d’autres appareils et d’y apporter di­rec­te­ment des mo­di­fi­ca­tions. Si vous vous décidez pour une ad­mi­nis­tra­tion via SSH, saisissez l’adresse IPv4 à votre client SSH sur Raspberry Pi, afin de pouvoir relier les deux. Si vous ne con­nais­sez pas l’adresse IP de votre Raspberry Pi, utilisez la commande hostname -I (ou ifconfig) dans le terminal pour l’obtenir. Si vous souhaitez utiliser Raspberry Pi en headless, il est possible de retrouver l’adresse IP du Raspberry Pi à l’aide de votre routeur, en vous rendant sur le na­vi­ga­teur Web. Pour exploiter le serveur Web sur un Cloud privé ou pour d’autres ap­pli­ca­tions qui re­quiè­rent également un espace de stockage important, il convient d’étendre les capacités de stockage. Ceci est facile à réaliser avec Raspberry Pi via clé USB ou avec un disque dur externe.

Rendre un serveur ac­ces­sible en per­ma­nence sous la même adresse IP

Les serveurs doivent être ac­ces­sibles en ligne en tout temps, afin que les uti­li­sa­teurs puissent y avoir accès en continu et qu’ils soient ac­ces­sibles sous la même adresse IP. En règle générale, la connexion Internet d’un serveur personnel dispose d’une adresse IP dynamique. Cela signifie qu’elle change ré­gu­liè­re­ment (souvent au bout de 24 heures), afin d’éviter que le serveur soit toujours dis­po­nible sous la même adresse IP. Une adresse IP statique est un avantage majeur, mais n’est pas une solution proposée par tous les four­nis­seurs d’hé­ber­ge­ment et engendre des coûts mensuels plus élevés.

Il existe cependant des solutions pour héberger un serveur sous une seule et même adresse IP : l’usage d’un DNS dynamique (DDNS). Les services DNS existent aussi bien en version payante qu’en version gratuite. Pour cela, en­re­gis­trez un nom de domaine et rattachez celui-ci à un or­di­na­teur ou à un routeur. À l’aide d’un logiciel, le nom de domaine sera au­to­ma­ti­que­ment rattaché à l’adresse IP actuelle de votre connexion Internet. De cette manière, le serveur est ac­ces­sible en ligne sous le même nom en tout temps.

Comment installer un serveur Web LAMP avec Raspberry Pi

Le tutoriel suivant permet de mettre en place une pile lo­gi­cielle LAMP pour votre serveur Web. LAMP est un acronyme pour désigner les premières lettres de quatre logiciels : Linux, Apache, MySQL et PHP. Linux est un système d’ex­ploi­ta­tion (en l’oc­cur­rence Raspbian pour Raspberry Pi), Apache sert de serveur Web, la base de données est en MySQL et le langage de script en PHP. En plus de l’ensemble logiciel LAMP, php­MyAd­min est installé. Connectez-vous à la console de saisie (le terminal) sur votre Raspberry Pi. Avant de commencer la con­fi­gu­ra­tion de l’ensemble logiciel LAMP, veillez à ac­tua­li­ser les deux commandes ci-dessous de tous les paquets qui sont déjà installés :

sudo apt-get update
sudo apt-get upgrade

Une fois cette étape complétée, vous pouvez commencer à con­fi­gu­rer les dif­fé­rents éléments du serveur LAMP. Ce tutoriel vous guide étape par étape au cours de l’ins­tal­la­tion du serveur.

Con­fi­gu­rer Apache

L’ins­tal­la­tion du serveur Web Apache http est très rapide et cette commande cor­res­pond également aux trois autres com­po­sants LAMP du serveur Web Raspberry Pi. Pour Apache 2, il suffit de saisir la commande suivante dans le terminal :

sudo apt-get install apache2

Pour vérifier si l’opération a réussi, saisissez l’adresse IP de Raspberry Pi dans la barre URL de votre na­vi­ga­teur. Si vous êtes redirigé avec succès vers Apache 2, le na­vi­ga­teur affiche une page qui affiche la mention : « it works ! ». Cette page HTML est dis­po­nible sous Raspbian Jessie dans le dossier /var/www/html/index.html. Dans la version Wheezy de Raspbian, plus ancienne, la page HTML est dis­po­nible sous /var/www/index.html.

Vous pouvez re­tra­vail­ler cette page HTML dans le dossier :

sudo nano /var/www/index.html

Et

sudo nano /var/www/html/index.html

Les mo­di­fi­ca­tions ef­fec­tuées devraient rester même une fois la page ra­fraî­chie. 

Con­fi­gu­rer PHP

Il convient main­te­nant d’installer PHP5, afin que le serveur Web puisse être com­pa­tible non seulement avec PHP, mais également avec des documents HTML, CSS et Ja­vaS­cript :

sudo apt-get install php5 libapache2-mod-php5

Dès à présent et sur /var/www, il est possible de créer un document PHP. Pour effectuer un test, créez un fichier phpinfo.php sous :

sudo nano phpinfo.php

Dans l’éditeur, ajoutez :

<?php
phpinfo();
?>

Si votre adresse IP Raspberry Pi est affichée, suivi de la mention /infophp.php (192.168.X.X/phpinfo.php), la page en question devrait s’afficher. Si l’opération réussit, cela signifie que PHP est configuré avec succès sur votre Raspberry Pi.

Con­fi­gu­rer MySQL

Avec MySQL, créez votre base de données du serveur Web. La commande

sudo apt-get install php5-mysql mysql-server mysql-client

permet d’installer tout le né­ces­saire. Après quelques minutes, vous serez amené à définir un mot de passe racine (root) pour MySQL. Une fois cette étape validée et que la création de la base de données est terminée, fermez l’ins­tal­la­tion et re­dé­mar­rez MySQL (commande : sudo /etc/init.d/mysql restart) ou votre Raspberry Pi (commande : sudo reboot).

Con­fi­gu­rer php­MyAd­min

Pour l’ad­mi­nis­tra­tion de MySQL, il est né­ces­saire d’utiliser php­MyAd­min. À l’aide de ce logiciel gratuit, la gestion de la base de données est facilitée et vous disposez d’une interface uti­li­sa­teur graphique dans le na­vi­ga­teur Web.

Pour l’ins­tal­la­tion, saisissez cette commande :

sudo apt-get install phpmyadmin

Dans l’écran affiché, choi­sis­sez Apache 2 en tant que serveur Web. Installez par la suite la base de gestion de données php­MyAd­min et choi­sis­sez un mot de passe pour php­MyAd­min (il peut être identique à votre mot de passe sur MySQL). Suite à cette dernière étape, l’ins­tal­la­tion est complétée.

Mais il reste encore à relier php­MyAd­min avec le serveur Web Apache. Utilisez la commande ci-dessous, puis éditez le dossier de con­fi­gu­ra­tion du nano éditeur :

sudo nano /etc/apache2/apache2.conf

Pointez le curseur sur la fin du dossier de con­fi­gu­ra­tion (utilisez sim­ple­ment la com­bi­nai­son de touches « cmd » + « V ») de manière répétée.

et ajoutez une nouvelle commande dans le dossier :

Include /etc/phpmyadmin/apache.conf

Il convient main­te­nant de sau­ve­gar­der les mo­di­fi­ca­tions avec le raccourci « cmd » + « O » et de fermer le dossier de con­fi­gu­ra­tion avec « cmd » + « X ». Démarrez le serveur Web Apache avec une nouvelle commande dans la console :

/etc/init.d/apache2 restart

Le serveur Web est à présent en­tiè­re­ment configuré, ainsi que sa base de données sur php­MyAd­min. Il est possible d’ad­mi­nis­trer le tout dans le na­vi­ga­teur Web. Pour cela, saisissez l’adresse IP du Raspberry Pi tout comme /php­myad­min (192.168.X.X/php­myad­min) et connectez-vous sur le site de php­MyAd­min avec le nom d’uti­li­sa­teur « root » ainsi que votre mot de passe MySQL.

Une fois connecté, il est possible de lister les ensembles de données, les bases de données et d’intégrer des tableaux ou de les supprimer, entre autres.

Domaines d’uti­li­sa­tion du serveur Web Raspberry Pi

Votre serveur Web est à présent configuré et prêt à être utilisé. Vous pouvez par exemple créer un site Web et l’héberger, en utilisant des pages HTML et PHP pour votre serveur Web. Les sites Web sont à stocker di­rec­te­ment sur Raspberry Pi sur /var/www (Raspbian Wheezy) ou /var/www/html (Raspbian Jessie). Il existe une autre option qui consiste à utiliser un éditeur Web sur un or­di­na­teur externe de votre choix et de les trans­fé­rer sur le serveur Web à l’aide d’un logiciel client SFTP. Des pro­grammes tels que FileZilla, WinSCP, PuTTY ou encore OpenSSH vous ac­com­pag­ne­ront dans cette tâche. Le pa­ra­mé­trage du serveur Web Apache s’effectue dans le fichier de con­fi­gu­ra­tion .htaccess. Il est par exemple possible d’y créer une page 404 per­son­na­li­sée pour votre site Web, ou encore d’effectuer une re­di­rec­tion de nom de domaine. Découvrez dans cet article quelles sont les dix meil­leures astuces .htaccess. L’uti­li­sa­tion de Raspberry Pi en tant que serveur Web permet en quelques étapes d’apprendre à créer des sites et d’ad­mi­nis­trer un serveur Web. En plus de l’hé­ber­ge­ment de sites Web, le serveur Web comprend une multitude d’options et de pos­si­bi­li­tés. Ainsi, l’uti­li­sa­tion de Raspberry Pi comprend une uti­li­sa­tion privée des données du serveur. Avec le logiciel gratuit ownCloud, la création et l’ad­mi­nis­tra­tion de son Cloud privé est à la portée de tous. Le programme d’hé­ber­ge­ment des dossiers permet entre autres de stocker les données sur le Cloud, d’y accéder en tout temps et de les syn­chro­ni­ser. La liste des dif­fé­rents projets qu’il est possible de mettre en place avec Raspberry Pi est longue. Avec votre propre serveur Web, même les projets les plus per­son­na­li­sés sont ap­pli­cables fa­ci­le­ment.

Sécurité et serveur Web

La sécurité du serveur Web est un aspect crucial auquel veiller, notamment lorsqu’il est connecté en per­ma­nence à Internet car les chances qu’il soit attaqué sont multiples. C’est pourquoi il est né­ces­saire de mettre à jour le serveur Web à in­ter­valles réguliers. Les données sensibles ne devraient être stockées sur le serveur Web uni­que­ment si l’on peut s’assurer de savoir prendre les pré­cau­tions né­ces­saires pour les protéger.

Aller au menu principal