Comment configurer un serveur Web Apache sur Raspberry Pi
En général, les développeurs Web utilisent des serveurs Web locaux, sur ces serveurs, les programmeurs de pages Web peuvent afficher leurs projets afin de voir le résultat que leurs projets auraient pour l’utilisateur. À cette fin, nous pouvons utiliser des cartes ARM ( Raspberry PI, Orange Pi, Pirock etc.) Ces cartes ARM ont des utilisations infinies, allant d’un petit PC à transporter n’importe où, à la création de notre propre serveur de stockage en réseau (NAS).
Pour réaliser notre projet de serveur web, nous utiliserons dans ce cas la carte ARM Raspberry Pi 3. Cet appareil est une carte d’architecture ARM, c’est-à-dire un tout petit ordinateur. L’objectif principal du Raspberry Pi était de stimuler l’enseignement de l’informatique. Dans RedesZone, nous avons un rapport complet avec l’historique de Raspberry Pi :
L’utilité principale de ce serveur web est que les développeurs peuvent tester localement leurs projets web développés en HTML, CSS et PHP, et ainsi avoir une vue d’ensemble de l’état de leurs projets sans avoir à passer en production.
Avant de commencer à monter notre serveur web sur un Raspberry Pi, nous devons suivre quelques petites instructions pour commencer à monter notre serveur web :
- Connaissance minimale de Linux et de son terminal
- Notre carte ARM doit avoir un système Linux installé sur sa carte SD (Raspbian, Ubuntu Mate, Linux Mint etc.)
- Connexion LAN et connexion Internet sur notre Raspberry
Étapes pour la préparation de notre Raspberry Pi
Tout d’abord, nous allons commencer par préparer notre Raspberry Pi pour réaliser le développement de notre serveur web. Par conséquent, nous devons mettre à jour tous les pilotes et packages de notre système d’exploitation Linux. Pour ce faire, nous allons ouvrir une fenêtre de terminal et exécuter les commandes suivantes :
sudo apt update
sudo apt upgrade -y
Les commandes peuvent varier en fonction de la distribution que nous utilisons, les commandes précédentes fonctionneront dans les distributions dérivées de Debian, pour les autres distributions nous n’aurons qu’à localiser quelle est la commande pour gérer les paquets. Les packages que nous utiliserons seront Apache pour créer le serveur, PHP pour nos projets web et MySQL pour la gestion de nos bases de données. En tant que package supplémentaire, nous utiliserons un serveur FTP pour établir des connexions à notre serveur Web et gérer les fichiers localement ou à distance.
Une fois l’exécution des deux commandes terminée, nous allons préparer notre interface réseau pour attribuer une adresse IP fixe locale à notre carte ARM, bien que nous puissions également utiliser le DHCP statique de notre routeur. Pour cela il faut modifier le fichier « interfaces » présent dans le chemin /etc/network/interfaces . Et à la fin du fichier nous mettrons ce qui suit :
auto eth0
iface eth0 inet static
address 192.168.1.33
netmask 255.255.255.0
gateway 192.168.1.1
Il est important de mentionner que nous devons mettre une IP dans le sous-réseau 192.168.1.0/24 qui n’est pas utilisé, nous pouvons choisir des plages entre 2-254, tant que le routeur principal utilise la première IP disponible.
Comme nous utilisons l’IP privée de type C 192.168.XX avec le masque 255.255.255.0, nous pouvons également utiliser les IP privées de type A 10.XXX avec le masque 255.0.0.0. Tout dépend de la plage d’adresses IP que nous avons dans notre réseau.
Pour modifier le fichier, nous exécuterons :
sudo nano /etc/network/interfaces
La commande nano nous fournira un petit éditeur dans notre terminal, pour pouvoir modifier le fichier mentionné ci-dessus. Au lieu d’utiliser nano, nous pouvons utiliser n’importe quel éditeur de terminal comme vi, vim ou emac .
Installation d’Apache, PHP et MySQL
Nous allons commencer par installer le premier package et commencer par Apache, qui fera office de serveur. Pour cela, nous devons ouvrir un terminal et exécuter la commande suivante :
sudo apt install apache2 -y
Une fois l’installation de notre serveur Apache terminée, nous pouvons vérifier s’il est en cours d’exécution. Pour ce faire, nous devons ouvrir un navigateur, et dans la barre d’adresse accéder à l’adresse http://192.168.1.33 (dans mon cas) ou http://localhost si nous sommes sur le Raspberry Pi lui-même avec l’interface utilisateur graphique. Où la page suivante apparaîtra.
L’étape suivante consiste à installer le serveur PHP. Nous devrons ouvrir à nouveau une fenêtre de terminal et nous devrons exécuter ce qui suit :
sudo apt install php5 libapache2-mod-php5 –y
Une fois le processus d’installation terminé, nous redémarrerons le serveur avec la commande suivante pour que les modifications soient effectives :
sudo service apache2 restart
Pour en finir avec les technologies et notre serveur web semble complet, nous devons installer un administrateur de base de données, dans notre cas nous utiliserons MySQL. Pour effectuer l’installation de MySQL. Nous allons exécuter la commande suivante :
sudo apt-get install mysql-server mysql-client php5-mysql
Une fois que tout a été correctement installé, nous pouvons exécuter directement la base de données MySQL comme suit :
sudo service mysql start
Pour vérifier si les bases de données fonctionnent déjà, tapez ceci dans le terminal :
mysql -u root –p[code]
Finalmente, para manejar nuestras bases de datos de una forma más eficiente y cómoda usaremos phpmyadmin. Para su instalación ejecutaremos el siguiente comando:
[code]sudo apt install -y phpmyadmin
Une fois l’installation terminée, pour accéder à l’interface, il suffit d’ouvrir le navigateur et de saisir l’adresse suivante http://192.168.1.33/phpmyadmin ou http://localhost/phpmyadmin. Avec notre panneau de configuration phpmyadmin, il sera beaucoup plus facile de gérer toutes nos bases de données, car nous les gérerons de manière plus visuelle.
Installation du serveur FTP sur Raspberry Pi
Dans cette étape, nous allons installer un serveur FTP pour pouvoir envoyer des fichiers depuis n’importe quel ordinateur vers notre Raspberry Pi, et depuis le Raspberry Pi lui-même vers un ordinateur où nos projets peuvent en avoir besoin. Il s’agit d’un processus simple. Tout d’abord, nous allons modifier les autorisations du répertoire /var/www afin que tout utilisateur ait des autorisations et puisse voir le contenu.
sudo chown -R pi /var/www
La prochaine commande à exécuter serait :
sudo apt install vsftpd
Une fois tout le processus terminé, il faut éditer le fichier vsftpd.config et pour cela il suffit d’écrire :
sudo nano /etc/vsftpd.conf
Lorsque l’éditeur de fichiers s’ouvrira, nous devrons modifier les lignes suivantes :
- anonyme_enable = OUI devient anonyme_enable = NON
- décommenter local_enable = OUI
- décommenter write_enable = OUI
À ce stade, vous devez aller à la fin du fichier et ajouter » force_dot_files = YES»
Une fois les étapes précédentes effectuées, appuyez sur ctrl + X et tapez un ‘ y’ , puis appuyez sur Entrée pour enregistrer les modifications apportées au fichier. La prochaine étape consiste à redémarrer le service FTP avec la commande suivante :
sudo service vsftpd restart
Enfin, avec cela, nous aurons tout prêt et notre serveur Web terminé et fonctionnel. Et nous pouvons avoir tous nos projets web hébergés sur notre Raspberry Pi.