Construire un serveur Web Raspberry Pi LAMP Stack avec PHPMyAdmin et Filezilla

Attention Nous ne suggérons pas que quiconque essaie d’exécuter un site Web face au public sur un Raspberry Pi, ou en fait sur n’importe quel serveur basé à la maison/bureau. Nous n’avons pas essayé de sécuriser le serveur web car ce n’était pas un problème pour notre projet. Des recherches supplémentaires seraient nécessaires pour durcir la pile LAMP avant que le serveur puisse être exposé sur Internet.

Installer Linux

  • Installer le système d’exploitation Raspbian (basé sur Debian Linux)
  • Utiliser l’interface utilisateur pour définir un mot de passe de connexion et désactiver la connexion automatique
  • Utiliser l’interface utilisateur pour définir une adresse IP fixe et un nom d’hôte personnalisé
  • Redémarrer et se connecter avec votre nouveau mot de passe
  • Mettre à jour avec sudo apt-.get update et sudo apt-get dist-upgrade (un bon moment pour aller faire une tasse de thé car cela prend du temps)
  • Un dernier redémarrage car une ou plusieurs des mises à jour vont forcément le nécessiter

Installer Apache

sudo apt-get install apache2 -y

Tester localement en ouvrant le navigateur web du Pi et en visitant http://localhost/ et éventuellement tester via un ordinateur en réseau aussi en visitant http://your-pi’s-ip-address

Les fichiers seront stockés dans /var/www/html/ – pour faciliter la vie, j’ai donné à tous les utilisateurs un accès en écriture à ce dossier :

sudo chmod -R 777 /var/www/html

Nous saurons si cela a fonctionné lorsque nous testerons PHP à l’étape suivante.

Installer PHP

sudo apt-get install php libapache2-mod-php -y

Vous pouvez tester PHP en remplaçant le fichier index.html par défaut par un fichier index.php (suggérez qu’il contienne phpinfo() 😉 dans /var/www/html – si vous trouvez que vous ne pouvez pas supprimer, créer ou modifier des fichiers dans ce répertoire, alors vérifiez à nouveau que vous avez défini les autorisations dans l’étape ci-dessus

TIP Jusqu’à présent, le processus a été infaillible, mais j’ai trouvé que configurer correctement MySQL et ses utilisateurs était un peu un processus d’essais et d’erreurs. Il a fallu plusieurs tentatives pour arriver au système ci-dessous – qui peut ne pas vous convenir ou être encore correct au moment où vous lisez ceci. Cela pourrait être un bon moment pour faire une image de la carte SD de votre Pi afin que vous puissiez expérimenter et sauter rapidement à cette étape si nécessaire.

Installer le serveur MySQL

sudo apt-get install mysql-server php-mysql -y

L’installation ne demande plus de mot de passe pour root, à la place vous devez exécuter

sudo mysql_secure_installation

et répondre à quelques questions. Rappelez-vous ici que nous avons affaire à l’utilisateur racine de MySQL PAS à l’utilisateur racine de Linux, donc vous pouvez utiliser différents mots de passe si vous le souhaitez – gardez simplement de bons enregistrements.

Redémarrez Apache:

sudo service apache2 restart

Essayez maintenant de vous connecter à MySQL en tant que nouvel utilisateur racine en entrant le mot de passe que vous venez de configurer lorsque vous y êtes invité:

mysql -u root -p

Si votre accès est refusé, alors vous devrez effectuer les étapes supplémentaires suivantes.

D’abord utilisez sudo pour vous connecter à MySQL:

sudo mysql -u root

Accédez à la table MySQL:

 USE mysql;

Et maintenant la partie magique:

UPDATE user SET plugin='mysql_native_password' WHERE User='root';

alors

FLUSH PRIVILEGES;

maintenant

quit

et

service mysql restart

essayez ensuite de vous connecter à nouveau comme ci-dessus – c’est-à-dire sans utiliser sudo. Si vous n’arrivez pas à vous connecter, commencez à Googler – ne passez pas à autre chose tant que vous n’avez pas craqué cette étape.

Installer PHPMyAdmin (facultatif)

Vous n’en avez peut-être pas besoin mais pour mon projet, j’ai décidé d’installer l’interface graphique d’administration de MySQL avec laquelle je suis le plus familier – PHPMyAdmin.

sudo apt-get install phpmyadmin

(confirmez que vous voulez continuer, sélectionnez le serveur apache2, cliquez sur oui pour la configuration du paquet, FOURNISSEZ UN MOT DE PASSE et enregistrez-le. Si vous laissez le mot de passe vide, il en crée un aléatoire pour vous mais, pour autant que je puisse voir, ne vous dit jamais ce qu’il est !

Modifiez le fichier /etc/apache2/apache2.conf en ajoutant la ligne

include /etc/phpmyadmin/apache.conf

à la fin du fichier.

Redémarrez Apache:

sudo /etc/init.d/apache2 restart

Testez en visitant http://localhost/phpmyadmin et en vous connectant avec le nom d’utilisateur phpmyadmin et le mot de passe que vous avez fourni pendant la configuration.

Installer le client FTP Filezilla (facultatif)

Il y a beaucoup de façons de gérer le FTP mais je choisis de m’en tenir à ce que je connais et d’installer Filezilla :

sudo apt-get install filezilla

L’étape la plus importante !

Une fois que vous êtes heureux que tout fonctionne, assurez-vous de faire une image de la carte SD afin de pouvoir récupérer rapidement de tout problème. Les cartes SD ne sont pas très robustes ou à longue durée de vie, alors attendez-vous à ce qu’elle échoue et planifiez en conséquence. Vous vous en remercierez !

Conclusion

À l’exception de l’installation de MySQL, le processus est incroyablement rapide et facile. Le serveur résultant est fiable et plus que capable d’exécuter l’outil d’administration basé sur WordPress que nous voulions apporter en interne. Le serveur web basé sur Pi se trouve maintenant à côté de notre lecteur NAS basé sur Pi et nous nous demandons ce que nous pourrons construire ensuite !

.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.