Éléments d’installation d'un application LAMP
Avant-propos
Les applications WEB de type LAMP (Linux, Apache, Mysql, PHP) constituent depuis plusieurs décennies l'essentiel des applications.
Même si certains éléments ont changé, avec notamment la montée en puissance de docker et de nodeJS , il reste pertinent de se pencher sur les bases.
A part le tronc commun, Linux étant déjà installé, on considérera qu'on utilise une distribution Linux Debian 11 (Bullseye)
Le serveur Web
Le plus utilisé reste apache, très adaptable et qui reste la solution de référence, avec toutefois des performances un peu en retrait de son principal concurrent nginx. Le langage PHP est utilisé sous forme de module lancé par le démon apache.
Sur Debian 11 Bullseye
sudo apt install apache2 php php-mbstring php-gd php-mysql
le DocumentRoot d'apache est sur Debian 11 : /var/www/html dans lequel on devra extraire (avec tar ou unzip) les fichiers de l'archive de l'application, directement ou bien dans un sous-répertoire.
la base de données
On installera mariadb ou mysql.
apt install mariadb-server
Il est fortement recommandé de lancer la procédure suivante pour améliorer la sécurité des comptes mariadb
mysql_secure_installation
L'application
la récupération
Le plus simple consiste à récupérer l'URL pour télécharger l'archive (.tar.gz, .tgz ou .zip) depuis le site web de l'application au moyen de la commande wget. ainsi pour wordpress :
wget https://wordpress.org/latest.tar.gz # pour l'archive tar.gz wget https://wordpress.org/latest.zip # pour l'archive zip
Le standard en matière d'archivage sous Linux étant les fichiers .tar.gz, il est recommandé d'utiliser ce format plutôt que le format .zip qui s'il est utilisable, nécessite d’installer l'application unzip ou zip pour extraire l'archive.
Il est également pertinent de se positionner dans la racine du serveur web pour récupérer l'archive pour simplifier les opérations ultérieures
l'extraction
On se positionnera dans la racine du serveur web pour effectuer l'extraction.
tar xvfz latest.tar.gz
les droits
Il est fortement recommandé, pour réduire les problèmes de sécurité, de changer possesseur, groupe et droits pour les fichiers et répertoires de l'application de façon à ce qu'il soient possédés par l'utilisateur root, ce qui empêchera les modifications intempestives.
cd /var/www/html/appli chown -R root:root . chmod -R 755 .
L'application web aura également besoin d'écrire des fichiers pour stocker la configuration, les éléments dynamiques, les éléments téléchargés, les plugins et thèmes divers. Il conviendra donc de donner au serveur web la possibilité d'écrire dans les répertoires en question.
Le plus simple consiste à changer possesseur et groupe pour rendre répertoires et fichiers modifiables par l'utilisateur qui lance le service apache (www-data pour une Debian)
ainsi par example :
chown -R www-data:www-data /var/www/html/appli/config /var/www/html/appli/plugins ...
Le paramétrage
La partie finale ainsi que le paramétrage s'effectuent habituellement à l'aide d'un navigateur pointant sur le répertoire d'installation ( http://adresse-ip/appli ) ou bien sur un fichier spécifique à l'installation (par exemple : http://adresse-ip/appli/setup.php)
La plupart des scripts ou programmes d'installation sont à même de détecter les problèmes lors de l'installation :
- des modules php manquants
- des droits inadaptés
On remédiera aux problèmes rencontrés en installant les paquets manquants puis en redémarrant le serveur apache