
En règle générale, lorsque j’ai besoin d’un serveur web pour faire du développement, j’utilise Mamp ou une machine virtuelle Linux avec Virtualbox.
Mais là, j’avais besoin de quelque chose de plus pérenne, destiné à fonctionner h24 pour un projet perso.
C’était donc l’occasion de ressortir le Raspberry Pi de son tiroir 🙂 .
Disclaimer : Attention, ce qui est détaillé ici est valable pour un serveur servant à faire du développement, non accessible depuis Internet et sur un réseau sécurisé. En gros, il ne contiendra pas de données importantes non sauvegardées et je suis sa seule utilisatrice. Il est évident que si vous compter y héberger des sites accessibles depuis le web, une grosse partie sécurisation d’Apache n’est pas abordée ici.
Voilà, maintenant on peut rentrer au coeur du sujet. En fait, cet article se veut plus un mémo / wiki qu’un tutoriel, et je serai sans doute la première à m’y référer lorsque j’aurai une autre installation à faire.
Installation de l’OS
Etant habituée, dans le cadre de mon activité professionnelle, à travailler sur des systèmes Debian, j’ai naturellement choisi celui-ci pour mon projet.
La première étape consiste dont à télécharger une version de Debian compatible avec mon Raspberry. Cela se passe ici : https://raspi.debian.net
Personnellement, j’ai choisi une Debian 10.
Ensuite, il faut flasher la carte sd du Raspberry. Pour cela, j’utilise le logiciel officiel : Raspberry Pi Imager, disponible pour Windows, Linux ou Mac OS : https://www.raspberrypi.org/software/
Le principe est simple : vous sélectionner votre carte SD (je vous conseille une carte d’au moins 32 gb), vous sélectionnez votre image de système d’exploitation, et c’est parti !
Une fois la carte ok, il ne reste plus qu’à l’insérer dans le Raspberry, mettre sous tension, et quand il affiche ceci :
Attention : d’origine, l’utilisateur root n’a pas de mot de passe. Vous avez juste à taper « entrée » pour vous connecter au système.
On va d’ailleurs commencer par en mettre un, de mot de passe, faut pas abuser non plus 😉 :
$ passwd
Ensuite, il faut configurer le réseau. Là, ça se passe dans le dossier /etc/network/insterfaces.d . Utilisant la carte wifi, je vais modifier le fichier wlan0 :
$ nano /etc/network/insterfaces.d/wlan0
Je configure les paramètres du réseau wifi, et une adresse ip statique, ce sera plus pratique pour la suite 🙂 :
Et on redémarre !
$ systemctl reboot
Installation du serveur
- SSH
Nous allons d’abord nous intéresser à l’accès via ssh, comme cela, toutes les manipulations ultérieures pourront êtres faites tranquillement, depuis votre poste de travail !
Il faut donc éditer le fichier /etc/ssh/sshd_config, et passer la ligne « PermitRootLogin » à « yes » :
On sauvegarde, on redémarre le service sshd et c’est ok, on peut se connecter à distance !
$ systemctl restart sshd
- Apache
Commencer par mettre à jour le système :
$ apt update
$ apt upgrade
Puis installer Apache via apt :
$ apt install apache2
Vous pouvez vérifier le bon fonctionnement d’Apache en vous connectant en http, via un navigateur web, à l’adresse ip du serveur. Un conseil, faire cela en mode « privé », car ça évite les surprises liées au cache du navigateur.
- PHP
Via apt :
$ apt install php php-mbstring
Pour vérifier que PHP est ok, on peut créer un fichier « phpinfos » dans /var/www/html :
$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfos.php
En ouvrant le fichier « phpinfos.php » depuis votre navigateur web, vous devriez obtenir quelque chose comme cela :
- Mysql
Et enfin, toujours via apt, le serveur mysql, ici MariaDB :
$ apt install mariadb-server php-mysql
Et si tout va bien, vous pouvez vous connecter à Mariadb (sans mot de passe pour le moment) :
$ mysql -u root
Et voilà, nous voici avec un serveur web opérationnel !
J’insiste fortement là dessus, mais c’est nécessaire : en l’état, il est fonctionnel mais pas du tout sécurisé. C’est ok pour du développement en local, mais c’est tout. J’aborderai peut-être la sécurisation d’une installation d’Apache dans un autre article…