Une Raspberry Pi en Serveur web

Installer un serveur web sur votre Raspberry (Apache + PHP + MySQL)

Mis à jour le 9 avril 2018 - 214 Commentaires - , , , , , , , , ,

Après avoir créé votre carte SD, et après avoir démarré pour la première fois votre Raspberry Pi, il y a de fortes chances que vous souhaitiez l’utiliser comme un serveur web.

La Raspberry Pi comme serveur web, pourquoi ?

Mais pourquoi utiliser la Raspberry comme un serveur Web, plutôt que de faire appel à des prestataires de services spécialisés dans l’hébergement web ?

Tout d’abord, d’un point de vue économique, il faut savoir que les services d’hébergement web ne sont pas gratuits et qu’il faut sortir le porte-monnaie tous les mois/ans. Contrairement à la Raspberry qui demande juste une connexion.
De plus, en choisissant la Raspberry, vous avez la possibilité de modifier vos services à souhait (exemples : la taille du disque, l’hébergem­ent de Database, etc.), ce qui n’est en général pas le cas chez les hébergeurs spécialisés, qui vendent souvent des hébergements mutualisés avec une faible capacité de configuration.
Cependant pour supporter plus d’utilisateurs, vous avez intérêt à utiliser une Raspberry Pi 3, soit la Raspberry Pi avec 1 Go de RAM, plutôt que la Raspberry de type B+ (512 Mo de RAM)

La question qui se pose maintenant est, comment faire de la Raspeberry un serveur web ?

Installation du serveur Apache avec Raspbian

Apache, c’est quoi ?

Tout d’abord, nous allons installer Apache, qui est le serveur web en tant que tel.
Quand on parle de serveur web, on pense souvent à la machine, mais ce terme désigne aussi le logiciel qui permet à la machine d’analyser les requêtes d’un utilisateur (sous forme http), et de retourner le fichier correspondant à la requête (ou une erreur si le fichier n’est pas trouvé, ou la requête mal formulée).
Dans le cadre d’Apache, c’est donc du logiciel que l’on parle.

À l’heure actuelle, Apache est le serveur web le plus utilisé, avec environ 60 % de parts de marché. Apache possède même sa propre licence, utilisée par de nombreux autres projets. De plus, l’utilisation massive d’Apache (devenu le standard des serveurs web), couplée à sa forte popularité, à amener à une formidable abondance de documentation, de cours, et autres livres traitant de son utilisation, depuis l’installation jusqu’à la sécurisation.

Que ce soit pour la Raspberry Pi et Raspbian, ou pour une machine plus généraliste, Apache est donc un choix sûr, et les compétences que vous pourrez acquérir sur le sujet vous seront toujours utiles.

Installation d’Apache

Avant d’installer le serveur, assurons nous d’avoir une machine bien à jour. Pour ce faire nous devons posséder les droits administrateur, soit en étant connecté en root, soit via la commande sudo.

sudo apt update
sudo apt upgrade
sudo apt update

Une fois la Raspberry Pi à jour, nous allons installer le serveur Apache.

sudo apt install apache2

Au passage, nous allons en profiter pour donner des droits au dossier d’apache qui vous permettra de facilement administrer les sites. Pour cela, lancez les commandes suivantes :

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

Vérifier qu’Apache fonctionne

Une fois l’installation terminée, nous pouvons tester qu’Apache fonctionne correctement en nous rendant sur l’adresse de la Raspberry.
Pour cela, il faut tenter d’accéder à la Raspberry depuis le port 80 (ce port n’étant pas encore ouvert depuis l’extérieur, il faudra le faire depuis la Raspberry elle-même). Ne vous inquiétez pas, c’est très facile. Il vous suffit d’ouvrir le navigateur web de la Raspberry (par défaut Midori sous Raspbian), et d’aller à l’adresse « http://127.0.0.1 ». Vous devriez alors obtenir une page avec un message du genre « It works! » et plein d’autre texte.
Si jamais vous ne possédez pas d’interface graphique sur votre Raspbian, ou que vous utilisez le SSH pour vous connecter à votre Raspberry, vous pouvez utiliser la commande suivante :

wget -O verif_apache.html http://127.0.0.1

Cette commande va enregistrer le code HTML de la page dans le fichier « verif_apache.html » dans le répertoire courant.
Vous n’avez donc plus qu’à lire le fichier avec la commande

cat ./verif_apache.html

Si vous voyez marqué à un endroit dans le code « It works! », c’est qu’Apache fonctionne.

 

Apache utilise le répertoire /var/www/html comme racine pour votre site. Cela signifie que quand vous appelez votre Raspberry sur le port 80 (http), Apache cherche le fichier dans /var/www/html.

Par exemple, si vous appelez l’adresse http://127.0.0.1/example, Apache cherchera le fichier example dans le répertoire /var/www/html.
Pour ajouter de nouveaux fichiers, sites, etc., vous devrez donc les ajouter dans ce répertoire.

Vous pouvez dès à présent utiliser votre Raspberry pour faire un site en HTML,  CSS et JavaScript pur, en interne.
Cependant, vous voudrez sans doute rapidement permettre des interactions entre le site et l’utilisateur. Par exemple permettre à l’utilisateur de s’inscrire, etc. Pour cela, vous allez avoir besoin de PHP.

Installation de PHP sur la Raspberry

Qu’est-ce que PHP ?

Tout d’abord, il faut savoir que le PHP est un langage interprété. Et comme dans le cas des serveurs, l’acronyme PHP peut avoir plusieurs sens. En fait, quand l’on parle de PHP, on peut parler soit du langage, soit de l’interpréteur.
Ici, quand nous parlons d’installer PHP, cela signifie que nous allons installer l’interpréteur, afin d’utiliser le langage.

PHP (le langage cette fois) est principalement utilisé pour rendre un site dynamique, c’est-à-dire que l’utilisateur envoie des informations au serveur qui lui renvoie les résultats modifiés en fonction de ces infos. A contrario, un site statique ne s’adapte pas aux informations fournies par un utilisateur. Il est enregistré sous forme de fichier une fois pour toute, et livrera toujours le même contenu.

PHP est libre, et maintenu par la fondation PHP, ainsi que l’entreprise Zend, et diverses autres entreprises (il est à noter que Zend est aussi l’auteur du célèbre framework Zend PHP, très utilisé et reconnu dans le monde de l’entreprise).

C’est un des langages de programmation les plus utilisés, et c’est même le plus utilisé pour la programmation destinée au web, avec environ 79 % de parts de marché.

Là encore, l’ensemble des compétences que vous pourrez acquérir, sur le langage ou sur l’installation et la configuration de l’interpréteur, vous seront toujours utiles. Nous ne pouvons donc que vous conseiller d’apprendre le PHP, qui est vraiment un langage merveilleux et trop souvent sous-estimé.

Installer PHP

On va encore une fois faire appel à l’administrateur pour installer PHP avec la ligne de commande.

sudo apt install php php-mbstring

Vérifier que PHP fonctionne

Pour savoir si PHP fonctionne correctement, ce n’est pas très compliqué, et la méthode est relativement proche de celle employée pour Apache.

Vous allez en premier lieu supprimer le fichier « index.html » dans le répertoire « /var/www/html ».

sudo rm /var/www/html/index.html

Puis créez un fichier « index.php » dans ce répertoire, avec cette ligne de commande

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

À partir de là, le fonctionnement est le même que pour la vérification d’Apache. Vous tentez d’accéder à votre page, et vous devriez avoir un résultat proche de cette image (si vous n’avez pas d’interface, utilisez la même méthode que précédemment, et cherchez les mots « PHP Version »).

Capture d'un phpinfo d'un serveur sous Raspbian

Tableau généré par la commande phpinfo sur une raspberry.

 

Une base de données MySQL pour votre serveur

Un SGBD c’est quoi ? Pourquoi MySQL ?

Maintenant que nous avons mis en place PHP, vous allez sans doute vouloir stocker des informations pour les utiliser dans vos sites. Pour cela, on utilise le plus souvent des bases de données.
Nous allons donc mettre en place un SGBD (Système de Gestion de Bases de Données), à savoir MySQL.

MySQL est un SGBD libre, puissant, massivement utilisé (environ 56 % de parts de marché des SGBD libres). Là encore, MySQL est tellement un incontournable du développement, quelle qu’en soit la branche, que vous devez absolument l’apprendre et le maitriser.

Installer MySQL

Pour ce faire, nous allons installer mysql-server et php-mysql (qui servira de lien entre php et mysql)

sudo apt install mysql-server php-mysql


Vérifier que MySQL marche correctement

Pour vérifier le fonctionnement de MySQL, cette fois nous utiliserons uniquement la ligne de commande. Pour cela, nous allons simplement nous connecter via la commande :

sudo mysql --user=root

Nous allons maintenant supprimer l’utilisateur root et créer un nouvel utilisateur root, car celui par défaut n’est utilisable que par le compte administrateur du système, et n’est donc pas accessible aux script PHP du serveur.

Pour cela, une fois connecté à MySQL, lancez les commandes suivantes (remplacez password par le mot de passe de votre choix) :

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

Vous avez donc maintenant un serveur web, relié à PHP et à MySQL. Soit tout ce qu’il faut. Vous pouvez donc vous arrêter ici.

(Lors de vos prochaine connections, vous pourrez donc utilisez la commande mysql --user=root --password=votremotdepasse).

PHPMyAdmin, gérer facilement ses bases de données

Toutefois, vous pourriez vouloir une interface un peu plus simple pour administrer vos bases de données qu’une simple console MySQL. Pour cela, vous pouvez installer PHPMyAdmin.

PHPMyAdmin, c’est quoi ?

PHPMyAdmin est une application développée en PHP, et qui vise à fournir une interface simplifiée pour MySQL.
Elle vous 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.

Installer PHPMyAdmin

L’installation de PHPMyAdmin n’est pas du tout obligatoire. Nous ferons ici une installation sans paramètres de sécurité particuliers.

L’installation de PHPMyAdmin se fait très simplement, via le gestionnaire de paquets, en utilisant la commande suivante :

sudo apt install phpmyadmin

PHPMyAdmin vous posera plusieurs questions concernant ses réglages.

Comme nous avons déjà configurez la base de données, choisissez no à la question concernant l’utilisation de dbconfig-common. Choisissez d’utiliser PHPMyAdmin pour un serveur Apache. Pour le mot de passe root, il s’agit de celui que vous aviez utilisé pour MySQL.

Vérifier l’installation de PHPMyAdmin

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

Si jamais vous avez une erreur, cela peut venir du fait que PHPMyAdmin se soit installé dans un autre dossier. Dans ce cas, essayez la commande

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

Rendre votre raspberry pi accessible depuis le web

Votre serveur web est donc prêt. Cependant, vous ne pouvez sans doute pas y accéder depuis internet. En effet, il faudrait pour cela que votre box (livebox, freebox, etc.) redirige les requêtes vers votre Raspberry, sur les bons ports, etc.
Pour mettre ces redirections en place, et même obtenir une adresse URL, allez voir le tuto sur le port fowarding et le dydns.


Vous débutez avec la gestion d’un serveur Apache ? Vous voulez en apprendre plus sur la gestion d’un serveur ? Vous trouverez votre bonheur avec le cours de notre partenaire Éléphorm pour apprendre à bien gérer votre serveur web !


 

Partager
Newsletter
Auteur :
Raspbian France
Rejoignez la communauté Raspberry Pi
Un ordinateur à 35€ déjà vendu à 10 millions d'exemplaires
ACHETEZ LA NOUVELLE RASPBERRY PI 3
Tutoriels en rapport
Installer un media-center avec OSMC sur votre Raspberry Pi ! RaspiSMS 2.0, envoyer des SMS par internet avec la Raspberry Pi Bien choisir vos accessoires pour les Raspberry Pi 3 et 2 Envoyer, gérer et recevoir des SMS avec la Raspberry Pi Installer un serveur Minecraft sur votre Raspberry Pi !
214 commentaires
Besoin d'aide ? Vous la trouverez plus vite sur notre forum.
  1. Alexandre dit :

    Bonjour, article très intéressant, malgré tout, pouvez vous mettre a jour l’article aux dernières versions ? Parce que php5 est obsolète, j’ai donc installé php7 mais je ne peux installer mysql puisque la commande ne fonctionne que pour php5, bref, une galère.. Merci beaucoup !

    1. Salut, nous avons mis ça à jour !

  2. Meo dit :

    Bonjour, je bloque à l’étape de l’installation de Mysql. J’ai cru comprendre qu’il y a eu des changements avec Raspbian stretch et je ,’arrive pas à installer PHP5-mysql… De plus on ne me demande pas de mot de passe lors de « sudo aptitude install mysql-server php5-mysql »…
    J’ai cherché la réponse sur pluseiurs sites, mais étant nouveau au monde de linux je ne comprend pas très bien la procédure à suivre ^^’

    1. Salut, essayes peut-être en installant php7 à la place !

  3. Bertrand dit :

    Bonjour a tous,
    Je ne suis pas programmeur et complètement néophyte de ce genre de chose, j’espère que vous ne m’en voudrez pas.

    Voila je recherche une solution peu chère pour créer un réseau de stockage pour un site web. En gros j’aimerais que des fichiers soit stocker chez des partenaire (individuel), que ces fichiers soit référencés sur la base de données du site web, et que sur demande (via le site web) que ces fichiers soient téléchargeable sur le site web.

    Je suis arrivé a cette en me rendant compte que télécharger tout les fichier sur le site web n’était pas viable, autant pour le stockage nécessaire en ligne, que sur le trafic nécessaire pour envoyer tout ces fichiers. j’en suis donc arrivé a la solution de télécharger uniquement ce qui serai nécessaire.

    Mon Idée serai de fournir une « BOX » qui serai en fait un raspberry Pi pre programmé pour être lié a la base de données, une sorte de serveur dédié. Que ces « BOX » puissent être nombreux voir très nombreux. Qu’ils soient sécurisé, peut être avec l’aide d’un VPN.

    Si vous avez des conseils a me donner j’en serai ravi, on peut meme en discuter en privé.

    Merci d’avance.

    1. Salut, pour ce type de demandes je te conseil plutôt d’aller sur le forum (forum.raspbian-france.fr) où tu pourras être mieux conseillé.

  4. jugo dit :

    super le tuto merci vraiment

  5. GuimEirbb dit :

    Bonjour,

    Déjà merci pour ce tuto bien détaillé.
    Je l’ai suivi une première fois il y a quelques semaines sur mon 1er raspberry, et je n’ai rencontré aucun problème.
    Suite à une carte SD qui a rendu l’âme (et comme je ne fais pas de sauvegardes régulières), j’ai dû réinstaller raspbian sur une nouvelle sd, et j’ai donc recommencé ce tuto pour réinstaller un serveur web.

    Mais là, problème:
    Lors de l’installation de mysql, il ne me demande pas de mot de passe …
    J’ai cherché un peu, et j’ai trouvé une solution ici, dans les commentaires :

    « Commence par arrêter MySQL
    sudo /etc/init.d/mysql stop
    Ensuite tu dois redémarrer Mysql sans mot de passe :
    sudo mysqld_safe –skip-grant-tables &
    Maintenant tu vas devoir te connecter avec le compte mysql root:
    mysql -uroot
    Une fois dans MySQL, lancer les commandes suivantes:
    use mysql;
    update user set password=PASSWORD(« monNouveauPassword ») where User=’root’;
    flush privileges;
    quit; »

    Ca a l’air de fonctionner, pas de message d’erreur.
    Mais vient le moment du « stop » puis « start » du /etc/init.d/mysql.
    Le redémarrage plante, en me spécifiant que c’est dû à un timeout trop long …

    Je ne peux donc pas me connecter à mysql :/

    Quelques idées ??

    Merci d’avance

    1. GuimEirbb dit :

      Pour information, suite à plusieurs essais, et quelques arrachage de cheveux, il faut savoir que lors de l’installation de mysql-server, il n’est plus demandé de mot de passe.
      En effet, le mot de passe se met en place lors du premier accès à mysql via la commande:
      sudo mysql -u root -p.

      A noter qu’il faut maintenant utiliser « sudo » pour y accéder

      J’espère pouvoir en aider quelques uns 🙂

      1. Merci pour cette très bonne info !

      2. Ludovic I dit :

        Bonjour,

        Super ce tuto, mais je crois buter sur le même problème, au moment de vérifier que Mysql fonctionne bien, pas de demande de mot de passe.

        J’ai suivi les commandes que tu as indiqué, tout fonctionne, sauf au moment de redémarrer Mysql ($sudo /etc/init.d/mysql start) j’arrive aussi sur l’erreur de timeout trop long. Comment as tu réussi à relancer mysql ?

        Merci d’avance.

        1. Nous avons mis à jour le tuto.

  6. Marin dit :

    impossible d’installer php 7 sur un pi2
    j’ai réussis à installer php 5 via la commande sudo apt-get install php5

    qu’en est-il du 7?
    Pourquoi vous utilisez aptitude plutot que apt-get,?

    1. Salut, il me semble pourtant que PHP7 est celui utilisé par défaut dans Stretch. Pour aptitude, c’est juste une vielle habitude de mec qui a débuté sur Debian ya quelques années…

  7. Vincent dit :

    Bonjour,

    Merci beacoup pour ce tutotiel qui est très bien fait et qui est accessible pour un néophyte comme moi 🙂

    Je suis arrivé à installer le serveur mais j’ai rencontré pas mal de problème avec phpmyadmin et l’utilisateur root. Je me trompe peut-être mais voici ce que j’ai observé lors de mon intall :
    1. le mot de passe demandé lors de l’install de phpmyadmin est pour le user de la base de données phpmyadmin (user phpmyadmin) et donc pas pour le user root
    2. le user root n’a pas de mot de passe par défaut et ne peut pas de base être utilisé pour se connecter via phpmyadmin qui lui oblige de saisir un mot de passe

    Voici ce que j’ai du faire (info glanné à gauche et à droite) en espérant avoir bien fait :

    1. se connecter à la base de donnée mysql : sudo mysql -u root -p
    2. autoriser à accéder en mysql sans utilisé sudo (je ne sais pas si c’est nécessaire finalement) :
    use mysql;
    update user set plugin =  » where User=’root’;
    flush privileges;
    3. Mettre un mot de passe à root :
    update user set password=PASSWORD(‘nouveaumotdepasse’) where user= »root »;
    flush privileges;

    Je ne sais pas si tout est nécessaire mais sinon je n’arrivait pas à accéder au base de donnée via phpmyadmin.

    J’espère que cela peut aider aprè correction d’un spécialiste 🙂
    exit;

    1. Salut, avec la mise à jour du tutoriel ça ne devrais plus poser de problèmes.

  8. henry dit :

    Houlàlà… Ce tuto ne vaut rien… Ca ne fonctionne absolument pas.
    Déjà, la connection en root à mysql après avoir mofifié le compte root, c’est ZERO ! Ne fonctionne pas.
    Ensuite, phpmyadmin c’est ZERO,
    Impossible d’installer, il y a des erreurs de connexion avec le compte roo@localhost… !

    Franchement, gros problèmes en suivant ce tuto… je n’en suis nulle part… IL n’y a que la connection à Mysql qui fonctionne de la façon expliquée dans les commentaires, pas dans le tuto puisqu’il manque le sudo.

    Pouvez-vous complètement revoir les explications d’installation ?

    En attendant je cherche comment solutionner toutes ces problèmes…
    On est loin de quelque chose de précis,, désolé mais j’avais confiance et là je sens que je vais perdre plein de temps à contourner les problèmes… (j’utilise STRETCH sur un Raspberry 3).

    Est-ce que personne ne rencontre les mêmes problèmes ?

    1. Alors là désolé de te décevoir, mais le problème viens de chez toi… Par acquis de conscience j’ai refait tout le tuto sur une raspberry pi 3 avec raspbian Stretch et tout a fonctionné parfaitement !
      La modif du compte root fonctionne parfaitement (note que tu dois te connecter avec le compte root, par root@localhost). L’ajout de PHPMyAdmin, parfait. Quand tu dis qu’il manque sudo dans le tuto, c’est parfaitement normal. Il n’y a pas à avoir le moindre sudo une fois le nouvel utilisateur root créé.
      Du coup, je te conseil de réinstaller une carte Raspbian Stretch neuve, et de suivre le tuto point par point, en faisant un simple copié collé de chaque ligne.
      Normalement tout devrais fonctionner.

    2. Julian dit :

      Moi ça marche très bien !

  9. Kilian dit :

    Bonjour j’essaie de suivre tuto seulement à chaque fois je tombe sur ça lors de l’installation de phpmyadmin « ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) »
    Merci de votre aide.

    1. Salut, il faut dire à PHPMyAdmin de ne pas utiliser common-dbconfig.

  10. Hoffbeck thierry dit :

    Bonjour,
    tout va bien jusqu’à l’installation de phpmyadmin et la:

    ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using
    │ password: NO)

    I need help please…

    Arthus

    1. C’est parce-qu’au début de l’installation de PHPMyAdmin, il faut dire « no » quand il demande si on veux configurer la base avec dbconfig-common.

      1. Lionel dit :

        Bonjour !

        Etant donné que j’avais le même problème que la plupart des personnes dont j’ai lu les commentaires avec phpmyadmin, j’ai choisis « no » lorsqu’il demande si on veut utiliser dbconfig-common.

        Mais du coup j’ai un autre problème : maintenant, lorsque j’exécute la commande « sudo apt-get install phpmyadmin », il affiche un message disant que phpmyadmin est déjà installé sous la dernière version. Mais quand je vais sur l’adresse locale/phpmyadmin, il m’affiche un message d’erreur : « The requested URL /phpmyadmin was not found on this server. »

        Pourriez-vous m’aider ? 🙂

      2. Lionel dit :

        [Edit par rapport à la précédente réponse]

        Après avoir exécuté les commandes suivantes, ça a fonctionné 😉

        cat /etc/phpmyadmin/apache.conf
        sudo nano /etc/apache2/apache2.conf

        [Ici on ajoute, tout en dessous, la ligne suivante :]
        Include /etc/phpmyadmin/apache.conf
        [Ensuite, Ctrl+X ; Y ; Enter]

        sudo service apache2 restart

        Après avoir exécuté ces commandes, la requête vers l’adresse locale/phpmyadmin fonctionne correctement !

  11. Xavier dit :

    libmariadb…deb-compat

  12. Clément Vtrd dit :

    Bonjour,
    Tout d’abord : merci pour le tutoriel qui est très clair.

    J’ai réussi à suivre toute la partie « obligatoire » pour un serveur web, cependant je rencontre un problème lors de l’installation de PHPMyAdmin.

    Plus précisément, lors que l’utilitaire dbconfig-common me demande différente informations. Voici ce que j’ai réalisé :

    nom de la base de données : phpmyadmin (par défaut)
    Nom d’utilisateur : root@localhost
    Mot de passe : [password root]

    Peut-être ai-je mal compris l’une des étapes, auriez-vous une idée du problème ?

    Cordialement.

    1. Il me semble que PHPMyAdmin demande d’utiliser le démon dbconfig-common que si la base n’est pas déjà installée ou un truc comme ça non 😉

      1. Clément Vtrd dit :

        Ah je vois… Et vu qu’on la paramètre plus haut justement en choisissant le mot de passe, nous n’avons pas besoin d’utiliser le démon ? 🙂
        En tout cas merci d’avoir pris le temps de me répondre ! 🙂 Je n’ai plus qu’à me lancer dans la création de mon site web. 🙂

  13. Jonathan dit :

    Excellent tuto ! J’ai eu un petit soucis lors de la connexion a php my admin. Une erreur me disant que mbstring manquait.
    Du coup il suffit d’exécuter ces commandes:
    sudo apt-get install phpmyadmin php-mbstring php-gettext
    sudo service apache2 restart
    Et le tour est joué 🙂

  14. Tixp dit :

    Après avoir rencontré pas mal de problème avec l’installation correcte de phpmyadmin/mysql sur raspian avec une raspberry pi 3. J’ai bidouillé un moment avant de trouver la bonne solution. Le problème était que l’utilisateur root créé rencontrait des problèmes lors de la création nouveau utilisateur/base de données, et que phpmyadmin n’était pas correctement configuré.

    J’ai donc désinstallé complètement mysql et phpmyadmin. Puis lors de la réinstallation j’ai changé les points suivants :
    – j’ai installé phpmyadmin avant de recréer l’utilisateur root de mysql, et je l’ai fait en utilisant dbconfig-common.
    – Puis je recréer l’utilisateur root de mysql en ajoutant « WITH GRANT OPTION » à la fin de la troisième ligne.

    Je pense qu’une mise à jour du tutoriel serait nécessaire, il date de 2014 comme même…

    1. Salut, ça a été mis à jour !

  15. tend dit :

    Bonjour , tout d’abord je veux vous dire que j’adore votre article .
    Cependant j’ai un problème . Quand j’essaye de me connecter a MySQL , je reçois le message « ERROR 1045 (28000):access denied for user ‘root’@’localhost'(using password: YES )
    Je précise que mon mot de passe fonctionnait il y a encore deux jours , et que je n’ai pas installé phpadmin .
    Et je suis pourtant sur que c’est le bon , car j’ai pu en faire une photo il y a deux jours .
    Merci par avance de votre réponse .

    1. Salut, cela viens d’un changement dans le fonctionnement de MySQL (ils ont privilégiés la sécurité à la simplicité). Nous avons mis à jour le tutoriel, ça devrait régler le problème.

      1. tenr dit :

        Bonjour ,
        j’ai un petit problème sur l’interface phpmyadmin , j’ai un message du type « MySQL_real_connect(): (HY000/1045): access denied for user ‘phpmyadmin’@’localhost’ (using password:YES).
        Et cependant j’ai accès a ma base de donnée .
        Est ce qu’il y a un réel problème ou non ?
        Merci d’avance pour votre réponse , bonne soirée à vous .

        1. Salut, reconfigure PHPMyAdmin (dpkg --reconfigure phpmyadmin je pense) et dis lui ne pas utiliser db-common ou quelque chose comme ça.

  16. Vincent Ollivier dit :

    Merci pour ce tuto excellent !

    Tout s’est très bien déroulé, jusqu’à la vérification de l’installation de PHPMyAdmin. Lorsque je tente d’y accéder, j’ai ce message d’erreur :
    « phpMyAdmin – Error
    The mbstring extension is missing. Please check your PHP configuration. »
    J’ai pourtant essayé la commande « sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin »
    mais cela ne change rien.
    Merci d’avance !

    1. Ah, il faut exécuter la commande suivante : sudo apt install php-mbstring

  17. Alex.Lma dit :

    Bonsoir à tous
    Je vais essayer de vous expliquer mon problème de manière simple, en gros j’ai foirée l’étape ou l’on défini un nouveau root, j’ai supprimer l’ancien mais suite à une mauvaise manipulation j’ai quitter avant de créer le nouvelle utilisateur, aussi est-il possible de supprimer totalement l’application afin de recommencer sans avoir a formater le système -oui je suis un débutant comme vous devez vous en douter-.
    Merci en avance pour votre aide
    Cordialement

    1. Alex.Lma dit :

      Edit: J’ai essayer de désinstaller et réinstaller le serveur SQL avec les commandes : « sudo apt-get remove –purge ‘php-mysql.*' » et  » sudo apt-get remove –purge ‘mysql-server.*' » mais même après réinstallation j’ai toujours le message : « ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) » pour la commande « sudo mysql –user=root »

      1. Alex.Lma dit :

        Edit 2: j’ai refait la commande mais en une seule ligne avec : « sudo mysql –user=root drop user ‘root’@’localhost’; create user ‘root’@’localhost’ identified by ‘azerty’; grant all privileges on *.* to ‘root’@’localhost’; » et finalement il semble que sa marche puisque j’obtient : « mysql Ver 15.1 Distrib 10.1.23-MariaDB, for debian-linux-gnueabihf (armv7l) using readline 5.2
        Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others. blablabla ».
        Bref du coup je pense plus avoir besoin d’aide mais merci a tous ceux qui aurons lus les messages jusqu’ici afin de m’aider.

  18. Elyse dit :

    Bonsoir à tous
    J’ai malheureusement eu un problème lors de l’installation du serveur MySQL sur mon raspberry.
    En effet, lors de cette étape, j’ai supprimer l’utilisateur root avec la commande :  »DROP USER ‘root’@’localhost’;  » mais j’ai quitter le serveur -suite à une mauvaise manipulation – sans avoir re-définis d’utilisateur.
    Aussi est-il possible de reprendre le contrôle du serveur? car j’ai essayer de désinstaller et réinstaller mais il met toujours impossible d’accéder au serveur lorsque je me reconnecte avec la commande  » ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: NO) ».
    J’espère que vous pourrez m’aider
    Merci d’avance

    1. Salut, il faudrait supprimer entièrement la base MySQL (il me semble qu’il y a des trucs à virer dans le dossier /var/lib/mysql ou un truc du genre), supprimer toutes les tables manuellement, etc. Puis réinstaller.

      1. Sinon tu dois pouvoir te connecter sans renseigner d’utilisateur, mais je ne sais plus comment de tête (je fais pas ça tout les jours…), tu trouveras peut-être de l’aide sur le forum.

  19. Ivan dit :

    Bonsoir,

    Super tuto pour commencer. Cependant, une fois l’ensemble effectué, dès que j’essaie de vérifier si phpMyAdmin fonctionne (depuis le navigateur), la page qui s’affiche indique :

    phpMyAdmin – Erreur
    Il manque l’extension mysqli. Veuillez vérifier votre configuration PHP. Voyez notre documentation pour plus de détails.

    Malgré que j’ai suivi le lien vers la documentation, je n’ai pas saisi quel était le problème. De plus, lors de l’installation de phpMyAdmin, à aucun moment il ne m’a été demandé de rentrer le mot de passe de la base de données MySQL.

    Des idées sur comment régler le problème?

    Merci d’avance.

    1. Ivan dit :

      Autant pour moi, il suffisait juste de redémarrer la raspberry pi.

      Bonne soirée.

  20. Josselin dit :

    Salut bonjour à tous,
    Je suis un nouveau passionné de Raspberry.
    J’ai peu déjà faire des postes de travail avec, un peu de domotique et aussi un radio FM et une Web Radio.
    Alors mon prochain challenge est de faire de bibliothèque numérique solaire venir en aide aux écoles des zones rurales du Cameroun. En fait je veux mettre Wikipédia disponible en local par le wifi dans les écoles et aussi former les jeunes au développement des contenus locaux de nos villages du Cameroun.
    Alors quelqu’un peut-il m’aider à le faire.???
    Installer Raspberry comme un serveur local sur lequel les utilisateurs se connecte en Wifi ou en cable pour avoir accès à Wikipedia en local et sans internet. Est-ce qu’il sera possible d’installer d’autres ressource éducatives pour aider ces camerounais qui n’ont pas la chance d’avoir l’internet?
    Merci de votre assistance.
    bien cordialement,

    1. Salut, je pense que tu devrais demander de l’aide sur notre forum, je suis sûr qu’un beau projet comme celui-ci trouvera facilement de l’aide.

  21. DESROCHES dit :

    Bonjour et merci pour ce tuto qui s’est déroulé sans aucun pb.
    Mais voila :
    J ‘ai créé mon site sous windows avec dreamweaver cs4 d ‘adobe lié à une base mysql et avec une architecture xampp/htdocs …. et monsite fonctionne très bien en localhost windows.
    Il n en est pas de meme sur mon raspberry avec un emplacement différent var/www/html …
    A cet endoit seul un site html sans base de données fonctionne.
    je voudrais donc savoir comment ecrire mon fichier PHP de connexion et ou le placer.
    Voilà le fichier tel qu’il fonctione sous windows et non sur architecture linux.
    Merci par avance à celui ou celle qui pourra me dépanner

    1. Salut, tu devrais aller demander de l’aide sur le forum, les gens pourrons t’expliquer exactement et s’adapter à ton cas.

  22. Perrin Michel dit :

    Bonjour,
    j’ai suivi votre tuto pour installer les 4 paquets Apache, php, mysql, phpmyadmin, installer aussi mbstring grace au forum,et maintenant apparait cette erreur à l’ouverture de phpmyadmin : erreur  » configuration de « pmadb » en erreur
    fonction relationnelles désactivées ».
    je n’ai rien trouvé à ce sujet dans forum peut-être une vue basse.
    Merci de votre aide pour résoudre cette erreur.

    1. Alors là je n’ai absolument jamais vu cette erreur :/ Demande de l’aide sur le forum si tu ne trouves pas de sujet déjà créé. Je suis certain que des gens pourront t’aider.

  23. Victor Salomé dit :

    Bonjour ce tutoriel est vraiment très bien expliqué ayant aucune connaissance en matière de Raspberry, cependant un problème est survenu :
    – l’installation du PHPMyAdmin se fait bien, en revanche quand je souhaite accéder à ma page http://127.0.0.1/phpmyadminon me dit qu’il y a une erreur et que l’extension « mysqli » est manquante…
    Sauriez-vous comment régler ce problème j’ai vraiment besoin d’une réponse rapide, merci !

    1. Salut, as-tu bien installé php-mysql ?

Partager
Inscription à la Newsletter
Inscrivez-vous à la Newsletter.
Vous avez aimé cet article ?
Inscrivez-vous et restez informé !