Mise en place d’un serveur Web sur le Raspberry-PI

Un serveur web sous Raspbian

Avant de débuter l’installation à proprement parler, penser bien à mettre votre Raspberry-Pi à jour avec les commandes suivantes :

sudo apt-get update
sudo apt-get upgrade

Installation d’Apache

Apache HTTP Server (Apache) est un logiciel libre. C’est  un serveur HTTP créé et maintenu au sein de la fondation Apache. C’est le serveur HTTP le plus populaire du World Wide Web. Il est distribué selon les termes de la licence Apache.

Nous allons donc commencé par installer d’Apache. Pour ce faire, connectez-vous en local sur le Raspberry-Pi en SSH ou VNC.

sudo aptitude install apache2

Valider ensuite lorsque l’on vous demande de continuer.

Do you want to continue? [Y/n/?] y

Configuration d’Apache

Passons maintenant à la configuration d’apache. Pour ce faire, on se place dans le répertoire fraîchement créé :

cd /etc/apache2/
ls

Vous devez ainsi trouver dans le répertoire les dossiers suivants :

  • apache2.conf
  • envvars
  • mods-available
  • ports.conf
  • sites-enabled
  • conf.d
  • magic
  • mods-enabled
  • sites-available

Adresses et Ports

Apache peu ainsi écouter sur différentes adresses et ports, pour cela il faut éditer le fichier ports.conf.
Dans ce fichier, les directives sont :

  • NameVirtualHost *: 80 (définis un VirtualHost.)
  • Listen 80 (spécifie à apache le ou les ports à écouter).

Exemple :

nano ports.conf
Visuel du fichier "ports.conf"

Visuel du fichier « ports.conf »

Sécurité

Les informations concernant la sécurité se trouvent dans le fichier « conf.d/security » :

sudo nano /etc/apache2/conf.d/security

Changer dans ce fichier les lignes suivantes :

  • ServerTokens Prod (envoi des informations (comme l’OS et la version d’Apache) aux clients).
  • ServerSignature Off (donne des informations en bas des pages d’erreurs).
  • TraceEnable Off (la méthode TRACE est réservée pour le débogage).

VirtualHosts

Les VirtualHosts (hôtes virtuels) permettent de scinder le serveur en plusieurs sites.

Pour en créer, spécifier un fichier du nom de votre site dans « sites-available » :

sudo nano /etc/apache2/sites-available/sitetest
Contenu du fichier "sitetest"

Contenu du fichier « sitetest »

Voila pour la partie configuration.

Vérification du fonctionnement d’Apache

Une fois l’installation d’apache réalisé, nous allons tester son fonctionnement.

Pour ce faire, lancer votre navigateur web favori, et spécifier l’adresse IP de votre Raspberry-Pi et le port concerner. Dans mon cas (192.168.1.20:80). Vous devriez alors voir apparaitre le message suivant :

Test d'Apache2

Test d’Apache2

Si vous avez un message d’erreur ou autre, n’hésiter pas à regarder les dernières lignes du log d’erreur (tail /var/log/apache2/error.log). Auxquels cas, il se peut que le firewall bloque l’accès. Dans ce cas, taper la commande suivante (iptables -L | grep ‘DROP’).

Installation de PHP 5

PHP: Hypertext Preprocessor, plus connu sous son sigle PHP (acronyme récursif), est un langage de programmation libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n’importe quel langage interprété de façon locale. PHP est un langage impératif orienté objet.

Pour que notre serveur puisse interpréter le langage PHP, il nous faut l’installer. On lance ainsi la commande suivante :

sudo aptitude install php5

Vérification du fonctionnement PHP

Pour vérifier le bon fonctionnement de PHP, diriger vous vers le répertoire suivant :

cd /var/www/

Supprimer alors le fichier index.html

sudo rm index.html

Puis créer un fichier nommé « index.php »

sudo nano index.php

Puis ajouter le code suivant dans le fichier.

echo "<?php phpinfo(); ?>" > /var/www/index.php

Diriger vous alors sur votre navigateur et spécifier le chemin d’accès dans l’URL (Adresse Ip de votre Raspberry/Nom du fichier créer).

Soit dans mon cas > http://192.168.1.20/index.php.

Vous devriez alors avoir à l’écran des informations sur la version PHP.

Installation du MySQL

MySQL est un système de gestion de bases de données relationnelles (SGBDR). Il est distribué sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels.

Maintenant passons à l’installation de MySQL :

sudo aptitude install mysql-server php5-mysql

Lors de l’installation, il vous sera demandé un mot de passe pour le compte administrateur de MySQL. Prenez bien soin de le noter, car il risque de vous être utile par la suite.

Sécurisation de MySQL

Pour sécuriser MySQL, taper la commande suivante « mysql_secure_installation »

Il vous sera alors demandé le mot de passe root MySQL entré précédemment, vous pourrez ainsi :

  • Changer le mot de passe
  • Enlever l’accès anonyme
  • Empêcher l’accès root depuis un autre ordinateur
  • Supprimer la base de données de test et son accès
  • Recharger la table des privilèges.

Vérification du fonctionnement de MySQL

Pour vérifier si MySQL fonctionne correctement, nous allons taper la ligne de commande suivante « mysql –user=root –password=votrepasswd »

Un message de « bienvenue » devrez alors apparaître avec un prompt (mysql>).

Vous avez maintenant un serveur Web complètement fonctionnel !

Sources: wikipedia, MySQL, PHP.


Partie optionnelle

Si vous souhaitez allez plus loin vous avez la possibilité d’installer PhpMyAdmin ou encore un Serveur FTP :

Installation de PhpMyAdmin

Pour terminer, nous allons installer PhpMyAdmin.

PHPMyAdmin est une application développée en PHP, et qui fournit une interface simplifiée pour MySQL.
Elle permet par exemple de voir rapidement et de façon lisible le contenu de votre base de données, ou de la manipuler sans avoir besoin de faire vous-mêmes vos requêtes MySQL.

Pour qu’Apache n’affiche pas d’erreur, nous allons créer le dossier « /var/www/sql.sitetest.fr/ » :

sudo apt-get install phpmyadmin

Lors de l’installation de PhpMyAdmin, sélectionner « apache2 » comme serveur Web. Utiliser ensuite le choix par défaut pour la configuration de la base « dbconfig-common ».

Pour le mot de passe, il s’agit de celui précédemment utilisé avec MySQL.

Une fois l’installation terminé, on va déplacer le dossier pour qu’il soit visible « en ligne ».

sudo ln -s /usr/share/phpmyadmin/ /var/www/phpmyadmin

Vérification de PhpMyAdmin

Pour vérifier le bon fonctionnement de PHPMyAdmin, vous allez y accéder, en utilisant l’adresse de votre Raspberry suivi de /phpmyadmin. Par exemple, « http://192.168.1.20/phpmyadmin ».

Installation d’un FTP (ProFTPD)

Nous allons maintenant passer à l’installation su serveur FTP :

sudo apt-get install proftpd

Valider ensuite lorsque l’on vous demande de continuer.

Do you want to continue? [Y/n/?] y

Un fois sur l’écran de configuration de ProFTPD vous aurez le choix entre deux options. Sélectionner « Standalone » (permet de démarrer ProFTPD indépendamment).

Configuration du Serveur FTP

Ouvrer le fichier proftpd.conf comme ci-dessous :

sudo nano /etc/proftpd/proftpd.conf

Puis modifier les paramètres suivants :

  • ServerName : « Serveur de test »
  • ServerType : standalone
  • Décommenter la ligne « DefaultRoot »
  • Port : 21

On redémarre maintenant le serveur FTP :

sudo /etc/init.d/proftpd restart

Vérification de ProFTPD

Pour vous connecter à votre Raspberry-Pi en FTP, je vous conseille de passer par le logiciel FileZilla.

Spécifier les identifiants dans les champs suivant :

  • Hôtes : Adresse IP de votre Raspberry. (Exemple : « 192.168.1.20 »)
  • Identifiant : Idem identifiant de connexion SSH
  • Mot de passe : Idem mot de passe de connexion SSH
  • Port : Par défaut « 21 »

Cliquer ensuite sur « connexion » et vous devriez ainsi voir l’ensemble des fichiers présent sur votre Raspberry-Pi.

Pour ajouter un site internet, comme un site WordPress, placer les fichiers dans le repertoire > /var/www.

Pour en savoir plus sur les droits d’accès au fichier > Linuxpedia

nstallation de Raspbian sur la carte SD

Tout d’abord Extrayez Win32 Disk Imager ainsi que l’ISO de Raspbian. Ensuite, lancez le logiciel en cliquant sur l’exécutable “Win32DiskImager”.

Sélectionnez maintenant le fichier .iso de Raspbian. Choisissez la lettre de votre lecteur de carte SD puis cliquez sur Write. Validez l’avertissement de sécurité, et attendez la fin de la copie.

disk32

Win32 Disk Imager

Raspbian “on” Raspberry PI

Insérez maintenant la carte SD sur le connecteur du Raspberry Pi. Branchez  le clavier et la souris sur les ports USB, le câble HDMI sur l’écran, le câble Ethernet à votre Box, et enfin, l’alimentation. Le système devrait démarrer de lui-même.

Écran de configuration de Raspbian

raspiconfig

Ecran de configuration de Raspbian

Voici donc l’écran de configuration qui devrait s’afficher :

Quelques options peuvent être intéressantes à changer :

  • expand_rootfs : vous permettra d’utiliser tout l’espace de votre carte SD.
  • configure_keyboard : vous permet de mettre le clavier en français.
  • change_pass : modifier le mot de passe de l’utilisateur ‘pi’ (par défaut : raspberry).
  • change_locale : changer la langue du système.
  • change_timezone : changer l’heure locale.
  • ssh : activer le SSH (nous servira par la suite).
  • boot_behavior : vous permet d’atterrir directement sur le bureau, pas sur une console.
  • Update : permet de faire la mise à jour de ce menu via internet.

Sélectionnez les options qui vous intéressent, puis sélectionnez « Finish » et laisser le Raspberry redémarrer. (Dans le cas où il ne se relance pas automatiquement faite “sudo reboot” dans la ligne de commande).

Votre Pi est maintenant installé et configuré !

screen-01

Bureau de raspbian

Si vous souhaitez configurer une option que vous avez oublié, lancez LX Terminal et tapez sudo raspi-config. Vous pouvez configurer les options que vous auriez oubliées.

BONUS

Voici quelques lignes de commandes pouvant vous être utiles.

#Démarrer le serveur X :

startx

#Changer les paramètres de l’affichage graphique :

sudo nano /boot/config.txt overscan_left=-40 overscan_right=-40 overscan_top=-40 overscan_bottom=-40

# Accéder au panneau de contrôle Raspbian :

sudo raspi-config

# Arrêter le RPi :

sudo shutdown -h now ou sudo halt

# Redémarrer le RPi :

sudo shutdown -r now ou sudo reboot

#Connaître la température du CPU :

/opt/vc/bin/vcgencmd measure_temp

#Recherche de programme :

sudo apt-cache search nom_du_programme

#Installation de programme :

sudo apt-get install nom_du_programme
   Envoyer l'article en PDF   

Laisser un commentaire