LAMP Server + phpMyAdmin + FileZilla

1. Nouveau projet de site Web -> Nouvelle installation d’un serveur LAMP -> En local

  • Mise à jour : 17/01/2016

Pour mon nouveau projet de site Web dédié au Logiciel Libre, j’ai besoin d’une installation propre d’un serveur LAMP.

Actuellement ce site Linux Rouen Normandie est développé sur un serveur local LAMP tournant sous Ubuntu 14.04.3 que je ne veux pas perturber en y installant une nouvelle base de données nécessaire à mon nouveau site. Le site actuel est en ligne sur les serveurs mutualisés de OVH et mise à jour par transfert FTP entre mon ordinateur sous Ubuntu et ces serveurs.

Pour ce faire, j’ai donc décidé d’installer un nouveau serveur LAMP en local mais cette fois sous Linux Mint 17.2 sur une autre de mes machines GNU/Linux. Pour réaliser mon nouveau site Internet, je suis en cours de réécriture pour passer de SPIP 3 (SGC – Système de Gestion de Contenu) à WordPress 4 (CMS – Content Management System).

Dans cet article, je vais vous montrer comment j’ai réalisé en local les installations sur mon ordinateur :

  • du serveur LAMP (Linux + Apache + MySQL + PHP) incluant sa configuration et son test,
  • de phpMyAdmin un outil graphique d’administration Web pour le SGBDR MySQL, et
  • de FileZilla un client FTP complet avec une interface graphique simple à utiliser.

2. C’est quoi un serveur LAMP ?

LAMP est un acronyme désignant un ensemble de logiciels libres permettant de construire des serveurs de sites Web en local et/ou directement en ligne sur le Web.

L’acronyme original se réfère aux logiciels suivants :

  • « Linux » le système d’exploitation (GNU/Linux ),
  • « Apache » le serveur Web,
  • « MySQL » le serveur de base de données relationnelles, et
  • « PHP » (ou « Perl » ou « Python ») les langages de script.

Même si les auteurs de chacun de ces programmes ne se sont pas coordonnés pour construire des plates-formes LAMP, cette combinaison de logiciels s’est popularisée du fait du faible coût et de la performance de l’ensemble, ainsi que de la présence de tous ces composants dans la plupart des distributions GNU/Linux.

Cet acronyme a été inventé par Michael Kunze qui l’a utilisé pour la première fois en 1998 dans le magazine allemand Computertechnik. L’article en question voulait démontrer qu’un ensemble de logiciels libres pouvait concurrencer techniquement et bien entendu financièrement les offres commerciales disponibles qui étaient onéreuses.

Ce type de serveur Web portent des noms différents en fonction du système d’exploitation libre ou propriétaire utilisé, mais représente toujours le même concept :
  • GNU/Linux : LAMP pour Linux – Apache – MySQL – PHP
  • Max OS X : MAMP pour Mac – Apache – MySQL – PHP,
  • Windows : WAMP pour Windows – Apache – MySQL – PHP,
  • Et d’autres.

3. Architecture du serveur LAMP

Les rôles des quatre composants de base sont les suivants :

LAMP | Architecture

LAMP | Architecture

  • Linux assure l’attribution des ressources aux autres composants (Rôle d’un Système d’exploitation dit aussi OS (operating system)).
  • Apache est le serveur Web HTTP « frontal » : il est « devant » tous les autres et répond directement aux requêtes du client Web (ici le navigateur Firefox). C’est le serveur open source le plus populaire sur le Web public.
  • MySQL est le système originel de gestion de base de données relationnelles (SGBDR). Il permet de stocker et d’organiser les données des sites Web. Depuis, d’autres SGBDR ont vu le jour et sont utilisées, comme MariaDB ou PostgreSQL.
  • PHP le langage de script (CGI – Common Gateway Interface language) permet la génération de pages Web dynamiques et la communication avec le serveur MySQL. D’autres langages de programmation, comme Perl ou Python, peuvent aussi être utilisés.

Tous ces composants peuvent être situés :

  • sur une même machine (locale et/ou distante sur Internet – dans le cloud),
  • sur deux machines, généralement Apache et le langage de script d’un côté et MySQL de l’autre, ou
  • sur de nombreuses machines pour assurer la haute disponibilité (répartition de charge et/ou failover).

4. Linux MINT et LAMP ?

Linux Mint est basée sur la distribution GNU/Linux Ubuntu, elle-même basée sur Debian. Les développeurs de Mint ont développé une distribution qui veut adresser le plus grand nombre d’utilisateurs possible, incluant les primo-débutants. Pour cela, ils ont enlevé un certain nombre des possibilités de Ubuntu et ajouté des facilitateurs dans le domaine de la prise en main plus aisée de leur distribution.

Vous l’avez compris, LAMP n’est pas installé par défaut sur Linux Mint. Il va falloir le faire manuellement, mais avant… La première chose à faire concernant LAMP sous MINT est d’installer l’outil logiciel qui va permettre à son tour l’installation facile du serveur LAMP en quelques clics de mulot. Ceci évitera au maximum l’utilisation du terminal et la ligne de commande, augmentant ainsi la fiabilité de la procédure d’installation.

TASKSEL – le chaînon manquant

tasksel est l’outil pour sélectionner des tâches (groupe de paquets) à installer sur des systèmes Debian et compatibles. Ce paquet fournit une interface simple pour les utilisateurs de tous niveaux qui veulent configurer leur système pour effectuer facilement des tâches spécifiques et complexes.

Nota bene : Vérifier dans Menu -> Administration -> que l’entrée Gestionnaire de paquets Synaptic est bien présente.

Si ce n’est pas le cas, l’installer comme suit :

  • Menu -> Administration -> Gestionnaire de logiciels
  • S’authentifier avec son Mot de passe session pour obtenir les droits «  root system  »
  • Entrer synaptic dans le champ de recherche à droite et valider par Entrée
  • Dans la liste des paquets qui s’affiche, double-cliquer sur synaptic le Gestionnaire graphique de paquets
  • Dans la nouvelle fenêtre, cliquer sur le bouton Installation
  • Une fois que la barre de progression de l’opération en cours est complètement remplie et que le statut affiche Installé(s), refermer le Gestionnaire de logiciels et poursuivre.

Pour installer graphiquement tasksel sous Linux Mint 17.2 :

  • Menu -> Administration -> Gestionnaire de logiciels
  • S’authentifier avec son Mot de passe session pour obtenir les droits «  root system  »
  • Entrer tasksel dans le champ de recherche à droite et valider par Entrée
  • Dans la liste des paquets qui s’affiche, double-cliquer sur tasksel
  • Dans la nouvelle fenêtre, cliquer sur le bouton Installation
  • Une fois que la barre de progression de l’opération en cours est complètement remplie et que le statut affiche Installé(s), refermer le Gestionnaire de logiciels.
LAMP | Synaptic | Linux Mint 17.2 LTS

LAMP | Synaptic | Linux Mint 17.2 LTS

Pour vérifier que « tasksel » est correctement installé :
  • Menu -> Administration -> Gestionnaire de paquets Synaptic
  • S’authentifier avec son Mot de passe session pour obtenir les droits «  root system  »
  • Dans le Gestionnaire de paquets Synaptic -> Menu -> Édition
  • Vérifier dans le menu Édition la présence de l’entrée Sélectionner des paquets par Tâche…
  • Cliquer sur cette entrée, et une nouvelle fenêtre Synaptic s’affiche indiquant : Quelles tâches effectuera votre ordinateur ?
    Il existe des groupes de paquets dédiés à certaines tâches. Si vous sélectionnez une tâche, les paquets correspondants (et leurs dépendances) seront sélectionnés pour installation.

Dans la liste vous trouverez, entre autres choses, LAMP Server (Selects a ready-made Linux/Apache/MySQL/PHP server).

Attention : Ne sélectionnez pas d’autres choix dans cette liste, sinon vous risquez de planter votre système ! Ces autres possibilités sont réservées aux utilisateurs expérimentés.

Voilà, c’est fini pour l’outil de sélection des tâches (groupe de paquets)…

5. INSTALLATION du Serveur LAMP sous Linux Mint 17.2 LTS

Le travail préparatoire ayant été fait, nous pouvons maintenant installer graphiquement le serveur LAMP sous Linux Mint 17.2 LTS (Long Term Support) dont les mises à jour seront supportées jusqu’en 2019.

Le Gestionnaire de paquets « Synaptic » étant ouvert (voir plus haut) :

  • Cliquer sur Sélectionner des paquets par Tâche…
  • La petite fenêtre Synaptic s’ouvre, cocher la case à gauche de LAMP server
  • Puis sur le bouton Valider pour lancer le processus d’installation de LAMP
LAMP | Synaptic | Linux Mint 17.2 LTS

LAMP | Synaptic | Linux Mint 17.2 LTS

Une série de fenêtres va s’afficher avec des informations, des demandes de confirmation ainsi que la définition d’un mot de passe pour le serveur de base de données MySQL.

  • Prévoir d’effectuer d’autres changement ? : liste l’ensemble des paquets qui seront installés. Valider en cliquant sur le bouton Ajouter à la sélection.
  • Appliquer les modifications suivantes ? : liste à nouveau par sécurité les paquets qui vont être installés. En cliquant sur le bouton Afficher les informations détaillées, les versions des paquets seront visibles. Cliquer sur le bouton Appliquer et de retour dans la fenêtre précédente à nouveau sur le bouton Appliquer.
  • L’installation se lance, avec en premier le téléchargement des paquets sélectionnés. Une connexion Internet sur votre ordinateur doit bien entendu être active pour que cela fonctionne.
  • Puis l’installation physique sur le disque dur ou le SSD démarre.
LAMP | Synaptic | Linux Mint 17.2 LTS

LAMP | Synaptic | Linux Mint 17.2 LTS

  • Pendant cette étape, une fenêtre Configuration de mysql-server-5.5 va s’ouvrir demandant d’entrer un Mot de passe pour le super-utilisateur de MySQL. Le faire et cliquer sur le bouton Suivant. Une nouvelle fenêtre MySQL apparaît demandant la confirmation du Mot de passe, l’entrer et cliquer sur le bouton Suivant.
  • L’installation se poursuit avec des arrêts et redémarrages automatiques des services LAMP.
  • La dernière fenêtre Les modifications ont été appliqués avec succès s’affiche. Cliquer sur le bouton Fermer si la fenêtre ne s’est pas fermée automatiquement (cela dépend de la case cochée ou pas).
  • Fermer la fenêtre du Gestionnaire de paquets Synaptic.
  • Redémarrer l’ordinateur.

Voilà, c’est fini pour l’installation du serveur LAMP

6. VÉRIFICATION du bon fonctionnement du Serveur LAMP sous Linux Mint 17.2 LTS

En ayant suivi la procédure d’installation indiquée ci-dessus, l’ensemble des services du serveur LAMP se lance automatique à chaque ouverture de session.

Pour mémoire : http://localhost/ correspond, depuis déjà un certain temps, à /var/www/html/. En tenir compte pour la bonne configuration de PHP et de MySQL.

Tester le serveur APACHE 2.4.7

  • Entrer http://localhost/ dans la barre d’adresse de votre navigateur Internet préféré. Si le serveur Apache est bien configuré et fonctionnel sur votre ordinateur, la page suivante s’affichera. Sinon revérifier votre installation d’Apache.
Serveur APACHE 2.4 | Linux Mint 17.2 LTS

Serveur APACHE 2.4 | Linux Mint 17.2 LTS

Apache 2 (Ubuntu) – Linux Mint Default Page : Cela fonctionne !
Ceci est la page d’accueil par défaut utilisé pour tester le bon fonctionnement du serveur Apache 2 après l’installation sur les systèmes Ubuntu (Linux Mint, variantes et dérivées). Il est basé sur la page équivalente de Debian, à partir de laquelle le paquet Ubuntu Apache est dérivé. Si vous pouvez lire cette page, cela signifie que le serveur HTTP Apache installé sur ce site (sous-entendu ici votre ordinateur) fonctionne correctement.

Maintenant, vous devez remplacer ce fichier (situé à /var/www/html/index.html) avant de continuer à utiliser votre serveur Apache.

Tester le langage de script PHP 5.5.9

Langage de script PHP 5.5 | Linux Mint 17.2 LTS

Langage de script PHP 5.5 | Linux Mint 17.2 LTS

  • Ouvrir un Terminal avec la combinaison de touches Ctrl + Alt + T
  • Copier-coller dans le Terminal le texte : sudo gedit /var/www/html/testphp.php et valider avec la touche Entrée
  • S’authentifier avec son Mot de passe session pour obtenir les droits «  root system  »
  • Dans l’Éditeur de texte qui vient de s’ouvrir, copier-coller le texte : <?php phpinfo(); ?>
  • Sauvegarder le fichier modifié -> Fichier -> Enregistrer et fermer l’Éditeur de texte
  • Fermer le Terminal

Si le langage de script PHP est bien configuré et fonctionnel sur votre ordinateur, la page ci-dessus s’affichera. Sinon, revérifier votre installation de PHP.

Tester le serveur MySQL 5.5.44

Serveur MySQL 5.5 | Linux Mint 17.2 LTS

Serveur MySQL 5.5 | Linux Mint 17.2 LTS

  • Ouvrir un Terminal avec la combinaison de touches Ctrl + Alt + T
  • Copier-coller dans le Terminal le texte : mysql -u root -p et valider avec la touche Entrée
  • S’authentifier avec le Mot de passe du super-utilisateur MySQL défini plus haut pour obtenir les droits «  root MySQL  »

Si le serveur MySQL est bien configuré et fonctionnel sur votre ordinateur, le Terminal affichera les informations ci-contre. Sinon, revérifier votre installation de MySQL.

  • Fermer le Terminal

Voilà, c’est fini pour la vérification du serveur LAMP et tout fonctionne correctement. YOUPI !

7. Outil d’administration Web phpMyAdmin 4.0

Nous arrivons vers la fin de cet article sur le serveur LAMP sous Linux Mint 17.2 LTS. Nous allons maintenant installer le logiciel libre phpMyAdmin qui est un outil graphique d’administration Web pour le SGBD MySQL. Il est écrit en langage PHP et s’appuie sur le serveur HTTP Apache. Il doit être installé après le serveur LAMP, pas avant !

« phpMyAdmin » permet d’administrer les éléments suivants de « MySQL » :

  • les bases de données
  • les tables et leurs champs (ajout, suppression, définition du type)
  • les index, les clés primaires et étrangères
  • les utilisateurs de la base et leurs permissions
  • d’exporter les données dans divers formats (CSV, XML, PDF, OpenDocument, Word, Excel et LaTeX).

Installation de phpMyAdmin 4.0

Pour installer graphiquement « phpMyAdmin » sous Linux Mint 17.2 :

  • Menu -> Administration -> Gestionnaire de logiciels
  • S’authentifier avec son Mot de passe session pour obtenir les droits «  root system  »
  • Entrer phpMyAdmin dans le champ de recherche à droite et valider par Entrée
  • Dans la liste des paquets qui s’affiche, double-cliquer sur phpMyAdmin
  • Dans la nouvelle fenêtre, cliquer sur le bouton Installation
  • À développer les différentes étapes
  • Une fois que la barre de progression de l’opération en cours est complètement remplie et que le statut affiche Installé(s), refermer le Gestionnaire de logiciels.

Vérification du bon fonctionnement de phpMyAdmin 4.0

Outil d’administration Web phpMyAdmin 4.0 | Linux Mint 17.2 LTS

Outil d’administration Web phpMyAdmin 4.0 | Linux Mint 17.2 LTS

Pour lancer phpMyAdmin 4.0 sous Linux Mint 17.2 :

  • Menu -> Programmation -> phpMyAdmin (MySQL management over Web)
  • La page de Connexion Web s’ouvre dans le navigateur Internet
  • Entrer le nom de l’Utilisateur et le Mot de passe précédemment définis
  • Valider en cliquant sur le bouton Exécuter

Si l’Outil d’administration Web phpMyAdmin ainsi qu’Apache (serveur HTML) et MySQL (SGBD) sont bien configurés et fonctionnels sur votre ordinateur, la page ci-contre s’affichera. Sinon, revérifier votre installation de phpMyAdmin.

8. FileZilla – Client graphique FTP

Pour finir cet article sur le serveur LAMP, nous allons maintenant installer le dernier logiciel libre, open source et multiplateforme FileZilla qui est un client FTP (File Transfer Protocol ou protocole de transfert de fichiers) complet avec une interface graphique simple à utiliser. Il est nécessaire pour transférer son site local depuis son ordinateur sur le serveur local ou distant (cloud) et beaucoup plus. Il est écrit en C++ et utilise la bibliothèque wxWidgets.

FileZilla propose un client FTP simple d’utilisation qui permettra aux débutants comme aux utilisateurs confirmés de se connecter à distance sur un serveur afin d’y télécharger des fichiers. Cette application particulièrement riche en fonctionnalités supporte le glisser-déposer, les protocoles SSL et SSH et permet de reprendre les mises à jour et téléchargements interrompus y compris pour les fichiers de taille conséquente (supérieurs à 4 Go). Grâce au gestionnaire de sites intégré, vous pouvez accéder plus rapidement aux adresses auxquelles vous vous connectez de façon régulière.

FileZilla possède les fonctionnalités suivantes :

FileZilla 3.7 – Client graphique FTP | Linux Mint 17.2 LTS

FileZilla 3.7 – Client graphique FTP | Linux Mint 17.2 LTS

  • Prise en charge FTP, FTP over SSL/TLS (FTPS) et Protocole de transfert de fichiers SSH (SFTP)
  • Prise en charge IPv6
  • Disponible en plus de 40 langues
  • Prend en charge la reprise et le transfert de gros fichiers > 4 Go
  • Gestionnaire de sites et file d’attente de transfert facile à utiliser
  • Favoris
  • Prise en charge du glisser/déplacer
  • Limitations de vitesse
  • Filtres de noms de fichiers
  • Comparaison de répertoires
  • Assistant de configuration réseau
  • Édition de fichiers à distance
  • Connexions persistantes
  • Prise en charge de HTTP/1.1, SOCKS5 et des passerelles FTP
  • Journalisation dans un fichier
  • Exploration des répertoires synchronisés
  • Recherche de fichiers à distance
  • Interface à onglets pour vous connecter à plusieurs serveurs

 

Serveur LAMP : Linux + Apache + MySQL + PHP

Serveur LAMP : Linux + Apache + MySQL + PHP