Raspberry Pi : Création d’un serveur Web

Dernière mise à jour : 18 août 2017

Installation d’Apache

Je suis le tuto de Raspbian France (1). Celui-ci (2), celui-ci (3) et celui-ci (4), peuvent aussi servir. J’installe Apache (logiciel serveur HTTP) au moyen de sudo aptitude install apache2. Je teste Apache. Celui-ci ne fonctionne pas !! Les répertoires et/ou fichiers soi-disant créés n’existent pas – notamment /var/www . Des paquets sont introuvables sur le serveur de logiciels.

Je note alors l’importance des commandes sudo apt-get update et … upgrade qui doivent être lancées au préalable à toute installation d’un nouveau logiciel (nouveaux paquets). J’avais sauté l’étape pensant qu’elle n’était pas utile. Ceci est valable également pour aptitude si l’on utilise cette commande au lieu de apt-get. L’installation d’Apache2 se déroule sans problème une fois l’update et l’upgrade réalisés.

Je vérifie que Apache est bien installé, en entrant l’adresse http://127.0.0.1 dans le navigateur de l’interface graphique du Raspberry Pi. J’obtiens alors la page Apache2 Debian Default Page. C’est parfait !

Pour le cas où Apache n’aurait pas démarré, on peut lancer la commande sudo service apache2 status pour vérifier et, éventuellement, forcer le démarrage au moyen de sudo service apache2 start.

Création d’une page HTML de test

Comme suggéré par le tuto n°1, je donne des droits au dossier /var/www/html au moyen des commandes sudo chown -R pi:www-data /var/www/html/ et sudo chmod -R 770 /var/www/html/ . Je crée un fichier test.html dans ce répertoire au moyen de nano. J’y mets :

Ma page s’affiche sur le navigateur du Raspberry lorsque j’entre http://127.0.0.1/test.html comme adresse. Elle s’affiche aussi sur le navigateur de mon PC Windows lorsque j’entre l’URL http://192.168.0.51/test.html (l’adresse IP, fixe, de mon Raspberry, étant 192.168.0.51).

Rendre accessible le serveur depuis le Web

Je suis le tuto de Raspbian France. Sur le Web, je vais sur la page de gestion de ma Freebox. J’en profite pour récupérer son adresse IP externe. Dans la rubrique Configurer mon routeur Freebox, sous-rubrique Redirections/Baux DHCP, je modifie l’IP de destination du port 80 en entrant l’adresse IP locale du Raspberry Pi (192.168.0.51) et je reboot la Freebox.

Ma page s’affiche désormais sur le navigateur de mon PC Windows lorsque j’entre l’URL http://adresse_de_ma_box/test.html . Mon PC étant sur le réseau local, je teste au moyen de mon smartphone connecté en GPRS. Ca marche aussi.

Je recommence l’opération de configuration du routeur de la Freebox, en ajoutant une ligne de redirection pour le port 443 (HTTPS), pour le cas où j’en aurais besoin.

Configurer une URL personnalisée

Un tuto sur Freenews me permet de le faire. Sur le Web, je vais, une fois de plus, sur la page de gestion de ma Freebox. Je choisis mon_choix.hd.free.fr comme adresse et je l’entre au bas de la page Personnaliser mon reverse DNS. Après avoir confirmé mon choix, on m’indique que la redirection (irréversible) a bien été enregistée et qu’elle sera effective d’ici quelques heures. Elle l’est, effectivement, le lendemain.

Installation de PHP et MySQL

Je reprends le tuto initial de Raspbian France. Après avoir fait un update et un upgrade de aptitude, j’intalle le langage de programmation PHP5 au moyen de la commande sudo aptitude install php5.

Je vérifie que l’installation a bien fonctionné en créant le fichier index.php sous /var/www/html. Lorsque j’entre l’adresse de mon serveur dans un navigateur, une page me montrant que PHP fonctionne, s’affiche.

J’installe MySQL (système de gestion de bases de données) au moyen de la commande sudo aptitude install mysql-server php5-mysql , j’entre un mot de passe lorsqu’il m’est demandé. puis je vérifie que l’installation s’est bien faite au moyen de la commande mysql –user=root –password=’votrepasswd’ … en entrant le mot de passe qui m’a été demandé. MySQL se lance en ligne de commande.

J’installe ensuite PHPMyAdmin, l’interface Web de MySQL, au moyen de la commande sudo aptitude install phpmyadmin. Lors de l’installation, il m’est demandé à quel logiciel HTTP je souhaite attacher PHPMyAdmin. Je choisis Apache2. Plus loin, je choisis la configuration par défaut d’une base de données et j’entre de nouveau le mot de passe.

Je teste l’installation au moyen du navigateur de mon Raspberry en entrant l’adresse http://localhost/phpmyadmin/. Je me connecte sur la base de données sous l’utilisateur root, avec le mot de passe fourni. Ça marche !! Je quitte PHPMyAdmin (deuxième bouton sous le logo). Je fais la même opération avec l’adresse externe http://mon_choix.hd.free.fr/phpmyadmin . Ca marche aussi. Je peux donc administrer ma base de données depuis n’importe où sur le Web.

Je pourrais aussi installer WordPress comme je l’ai fait chez mon hébergeur mais je ne vois pas l’intérêt de devoir gérer un blog supplémentaire sur le Raspberry qui n’est pas connecté en permanence et sur lequel je veux surtout « bidouiller ». Par exemple, pour que l’adresse IP du visiteur de mon site s’affiche, j’utilise un petit script PHP trouvé sur le site !nfoWebMaster. Ça a l’air de marcher.

Révisions HTML et apprentissage CSS

14 août 2017. Je me plonge dans un cours OpenClassrooms pour mettre à jour mes connaissances en HTML (elles datent d’une quinzaine d’années, voire plus)… et pour apprendre à écrire des feuilles de style (langage CSS). Je note, au passage, des liens intéressants :