serveur WEB APACHE sur RPI

créer un serveur WEB APACHE avec votre raspberry PI c’est possible , nous allons voir ici comment faire tout cela.

MISE A JOUR DU PI:

comme toujours avant toute manip d’installation , faire une mise a jour de votre systeme:

sudo apt update
sudo apt upgrade 

INSTALLER APACHE :

nous allons commencer par installer la couche logicielle du serveur WEB , à savoir APACHE2 . rien de plus facile , taper:

sudo apt install apache2

TESTER L’INSTALLATION:

une fois l’installation faite , pour vérifier que tout fonctionne, essayer une connexion sur votre RPI via un PC lui aussi connecté sur votre réseau domestique . tout d’abord , récupérer l’adresse IP de votre RPI. pour cela positionner le pointeur de votre souris sur l’icône de connexion réseau dans la barre de menu du RPI ( en haut ou en bas a droite suivant le type d’affichage choisis).

vous devriez voir apparaitre quelque chose du genre:

eth0: Configured 193.168.1.17

c’est l’adresse IP de votre RPI sur votre reseau domestique.

ouvrez votre navigateur WEB et taper dans la barre de navigation l’adresse IP trouvée avec devant “http://” :

http://193.168.1.17

si tout est OK vous devriez voir apparaitre une page de ce type signe que tout fonctionne:

APACHE est donc installé et il utilise le répertoire /var/www/html comme racine pour le site.

l’installation a déposé dans le repertoire /var/www/html un fichier Index.html qui est la page d’exemple qui s’affiche .

quand on contact l’adresse IP du RPI , on se connecte sur le port 80 du RPI (commande http://…) et apache va cherche dans le repertoire /var/www/html/.

par exemple , si vous tappez : http:// 193.168.1.17/monsite apache cherchera automatiquement le fichier “monsite” dans le repertoire /var/www/html/ et si on ne rajoute pas de nom de fichier et juste la commande: http:// 193.168.1.17/ , apache va chercher le fichier index.html comme tout appel classique a un site internet .

MODIFIER LES DROITS D’ACCÈS:

nous allons donner des droits d’accès au dossier d’apache , ce qui permettra d’administrer les sites installés ( modification et création de fichiers => voir plus bas). Pour cela, lancez les commandes suivantes :

sudo chown -R pi:www-data /var/www/html/
sudo chmod -R 770 /var/www/html/

INSTALLER PHP:

pour pouvoir faire fonctionner votre serveur et par exemple installer un site internet , il faudra pour interpréter des commandes PHP. pour cela nous allons devoir installer l’interpréteur PHP qui exécutera ces commandes PHP.

pour installer PHP sur votre RPI, taper:

sudo apt install php php-mbstring

TESTER PHP:

avant de continuer plus loin, comme pour apache, nous allons tester le fonctionnement de PHP. pour cela avec l’explorateur du RPI ou en ligne de commande , aller supprimer le fichier Index.html qui est dans le répertoire /var/www/html/ puis créer un fichier index.php avec un éditeur de texte et mettez y la commande simple suivante:

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

NOTA : les modif précédentes ne peuvent être faites qu’a condition d’avoir modifié les droits d’accès.

ouvrir le navigateur web sur sotre PC connecté sur le reseau et connectez vous a l’adresse IP du RPI , vous devriez voir apparaitre ceci :

INSTALLER MySQL et mariadb-server

nous allons maintenant installer le moteur/gestionnaire de base de données MySQL, et mariadb-server, pour cela taper:

NOTA: mariadb-server remplace mysql-server

sudo apt install mariadb-server php-mysql

TEST DE MySQL:

le test se fait en ligne de commande avec : sudo mysql –user=root

cette commande démarre mariadb qui va nous permetre queluqes config de base, pour cela taper les commandes suivantes derrière le prompt MariaDB [(none)]>:

DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

dans la deuxieme ligne de commande , remplacer ‘password’ par un mot de passe de votre choix. ce mot de passe servira avec PHPmyAdmin

INSTALLER PHPMyAdmin:

PHPMyadmin est une interface plus simple qu’une console pour gerer une base de donnée MySQL. pour l’installer :

sudo apt install phpmyadmin

pendant l’installation, des fenêtres de configuration de paquet s’ouvre , réponses aux différentes questions:

serveur web a reconfigurer: apache2

config de phpmyadmin: repondre non

puis activer l’extension de mysqli avec :

sudo phpenmod mysqli
sudo /etc/init.d/apache2 restart

TEST de PHPmyadmin:

avec le navigateur internet de votre PC , connectez vous avec la commande:

http://193.168.1.17 /phpmyadmin

si vous avez un message d’erreur c’est parce que probablement le répertoire d’installation de phpmyadmin n’est pas dans var/www/html , en général , Phpmyadmin est installé dans usr/share/ , alors taper la commande ci dessous qui va créer un lien entre les 2 répertoires :

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

normalement tout devrait rentrer dans l’ordre et avec l’adresse plus haut on obtiens le

résultat suivant:

CONFIGURATION/CHANGEMENT DU MOT DE PASSE PHPmyAdmin:

en ligne de commande Bash, aller dans le repertoire var/www/html/phpmyadmin et copier/coller le fichier “config.sample.inc.php” en le renommant avec la commande shell ci dessous:

cp config.sample.inc.php config.inc.php

ensuite ouvrir le fichier config.inc.php avec l’editeur nano :

sudo nano config.inc.php

une fois le fichier ouvert en mode éditeur , au debut on trouve un ensemble de ligne sous le commentaire /* serveur parameter */ qui commencent toutes par $cfg[Servers’][$i][‘wxyz’]

aller sous la ligne : $cfg[‘Servers’][$i][‘host’] = ‘localhost’; et ajouter les 2 lignes suivantes ( a la place de password reprendre le mot de passe de la config mariaDB.:

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'password';

enregistrer la modification (ctrl + O) et quitter l’éditeur (CTRL + X) , nous allons maintenant tester l’ouverture de PHPmyadmin. relancer la commande de test :

http://193.168.1.17 /phpmyadmin

puis saisissez l’identifiant root et votre mot de passe si tout est ok vous devriez avoir un écran de ce type :

RENDRE VOTRE RPI accessible depuis le WEB

le serveur Web est prêt mais il n’est pas encore accessible via le web , uniquement en local. pour cela il va falloir que la box redirige les requêtes entrantes vers le RPI qui héberge le serveur. Pour mettre ces redirections en place, nous allons devoir accéder a l’interface de configuration de la Box.

pour accéder a l’interface de config de votre box voir les documents relatif fournis par votre fournisseur d’accès . une fois dans l’interface via vos identifiants et mot de passe d’administration, il vous faudra trouver l’option qui permet de rediriger les connexions entrante . sur une box orange, il faut activer l’option “réseau” dans les préférences et créer/activer les service et port correspondants .

.une fois fait , votre RPI est accessible depuis l’extérieur via l’adresse IP de votre box .

DYN DNS:

votre fournisseur d’acces vous affecte une adresse dynamique , pour résoudre ce problème , il faut utiliser les service d’un fournisseur de nom de “domaine” reliant le nom de domaine a l’adresse dynamique . il en existe plusieurs , un des plus connus est le suivant:

http://noip.com

vous pouvez créer un compte et un nom de domaine fixe en quelques clic et faire le lien de ce nom de domaine fixe avec votre paramétrage DYN/DNS chez votre fournisseur d’accès .

pour cela , vous vous connectez a votre compte administrateur de box et saisissez les données de connexion a votre compte noip et le tour est joué (voir copie écran ci dessous dans le cas de la livebox orange) . il ne reste plus qu’a vous connecter au nom de domaine pour avoir accès a votre serveur web RPI quelque soit votre adresse IP dynamique …

ne reste plus qu’a créer votre site internet et donc les pages hébergées sur le serveur du RPI dans le repertoire var/www/html . ce sera l’objet d’un ou plusieurs autres tutos …

NOTA: si vous vous connectez de façon distante avec un http://domaine.ddns.net/phpmyadmin , vous pouvez aller configurer votre base de donnée de façon distante …