Ajout d’une pile AMP au serveur Linux

23 février 2022

Contenu


Objectif général

À la suite de cet atelier le participant sera en mesure, sur Linux, d’installer, d’utiliser et d’effectuer des tests de fonctionnalités des services A(pache), M(MySQL) et P(PHP).

Prérequis


Voici les étapes d’une installations LAMP

Mise en contexte
Une fois le serveur Linux installé, les opérations de mise à jour, d’installation de services et de configuration sont habituellement effectuées à distance, c-a-d, pas directement sur l’ordinateur physique sur lequel roule le système mais plutôt à partir d’une session (ssh) qui peut être à des kilomètres du serveur.
Le serveur Ubuntu que nous avons installé à l’atelier précédent ne permet pas, pour l’instant, de connexion à partir d’une autre station réseau.
Si c’était le cas, il serait alors possible de s’y connecter de la façon suivante:
Action 1a – À partir d’un terminal de votre poste de travail , connexion ssh au serveur Linux

$ ssh utilisateur@SERVER_IP

Début de l’installation

Action 2 – Avant de commencer, il est préférable de vérifier la présence de mises à jour générales du système:

$ sudo apt-get update

Si c’est le cas, les installer:
Action 3 – Installer les mises à jour:

$ sudo apt-get upgrade -y


A – Installation  du serveur Web

Action 4 – Installer le serveur Apache, à partir des dépôts Ubuntu:

$ sudo apt-get install apache2 -y

Action 9 – Ouvrir un fureteur, à partir de votre poste de travail, et tester le serveur web en utilisant l’adresse IP du serveur Linux:

Note: Il faut utiliser la commande ‘ip a‘, à partir de la console Linux, pour obtenir l’adresse IP du serveur.  Il faudra utiliser l’adresse obtenue, à même l’URL : http://192.168.c.d du fureteur.
Schermata da 2017-05-11 09-35-12

Dossier racine du serveur Apache

La localisation dossier racine du serveur Apache dépend de la distribution Linux ou de l’application xAMP utilisée.
Sur Ubuntu, ce dossier est:

/var/www/html

Par défaut, les fichiers et dossiers copiés à cet endroit seront disponibles à partir d’un fureteur web.


Laboratoire

  1. Créer, dans le bon dossier, une nouvelle page web – hello.html – qui affiche « Bonjour à vous » en <h1/> et tester dans le fureteur.
  2. Retirer à ‘other‘ le droit de lecture au fichier hello.html et tester dans le fureteur
  3. Changer le groupe du fichier hello.html pour www-data et tester dans le fureteur.

Renseigner un DNS local pour le serveur Web

Action 9.1 – Éditer le fichier ‘hosts’ du poste de travail:

ATTENTION – >>> Sous Windows il faut éditer le fichier en tant qu’administrateur.

192.168.c.d  nom01 nom02 ...

# Par exemple,
192.168.1.77  serveur01 srv01 serveur01.local
10.10.10.1    serveur02 srv02

Action 9.2 – Enregistrer le fichier ‘hosts’ et tester le DNS

Fichier hosts:

127.0.0.1     localhost
serveur01     192.168.0.2

Tester le DNS:

ping serveur01

# Dans un fureteur:
http://srv01/

B – Installer MySQL

À cette étape, nous avons un serveur web en fonction.
Nous allons maintenant installer le gestionnaire de base de données  – SGBD – MySQL.
MySQL est disponible dans le dépot Ubuntu , nous allons dons utiliser la commandeapt
Action 10 – Installer Mysql

$ sudo apt-get install mysql-server -y

Action 10.1 – Changer le mot de passe du compte ‘root’ sur mySQL:

$ sudo mysql 
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'; 
FLUSH PRIVILEGES; 
exit

Nous avons maintenant un serveur MySQL fonctionnel!

Références: Syntaxe SQL


C – Installer PHP

La prochaine partie de l’installation de notre pile LAMP est php:
Mise en contexte
Dans la mesure où l’on nous demande de mettre en place un site Web utilisant WordPress il faudra alors s’assurer que le module du language PHP est installé sur le serveur web.  Wordpress est essentiellement programmé en PHP.
Action 12 – Installer php:

$ sudo apt-get install php -y

PHP propose une multitude de modules permettant d’enrichir ses fonctionnalités .
Voici comment en obtenir la liste:

$ apt-cache search php- | less
libnet-libidn-perl - Perl bindings for GNU Libidn
php-all-dev - package depending on all supported PHP development packages
php-cgi - server-side, HTML-embedded scripting language (CGI binary) (default)
php-cli - command-line interpreter for the PHP scripting language (default)
php-common - Common files for PHP packages
php-curl - CURL module for PHP [default]
php-dev - Files for PHP module development (default)
php-gd - GD module for PHP [default]
php-gmp - GMP module for PHP [default]
php-ldap - LDAP module for PHP [default]
php-mysql - MySQL module for PHP [default]
php-odbc - ODBC module for PHP [default]
php-pear - PEAR Base System
php-pgsql - PostgreSQL module for PHP [default]
php-pspell - pspell module for PHP [default]
php-recode - recode module for PHP [default]
php-snmp - SNMP module for PHP [default]
php-sqlite3 - SQLite3 module for PHP [default]
php-tidy - tidy module for PHP [default]
php-xmlrpc - XMLRPC-EPI module for PHP [default]
php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary)
php7.0-cli - command-line interpreter for the PHP scripting language
php7.0-common - documentation, examples and common module for PHP
...

Note:  Pour quitter la liste il faut appuyer sur ‘q’


Au besoin, tester PHP

Nous allons maintenant vérifier si le module PHP fonctionne correctement
Action 13 – Créer le fichier info.php dans le dossier racine d’Apache web root – pour Ubuntu il est dans /var/www/html:

$ sudo nano /var/www/html/info.php

Action 14 – Ajouter le code suivant dans le fichier:

<?php
   phpinfo();
?>

Action 15 – Enregistrer le fichier et fermer l’éditeur.

Action 16 – Tester le script dans un fureteur:

http://adresse_IP_du_serveur/info.php

Schermata da 2017-05-11 10-02-46


Voila, nous avons installé une pile Apache, Php, MySQL sur notre serveur Linux.

Nous allons en tirer profit en installant l’application ‘phpmyadmin’

Action 17 – Installer ‘phpmyadmin
PHPMyAdmin est disponible dans le dépôt Ubuntu. Pour l’installer il suffit de tapper:

sudo apt install phpmyadmin -y

Action 18 – Suivre les directives du programme d’installation. Au mot de passe, fournir ‘password’
Action 19 – Tester phpmyadmin à l’aide d’un fureteur Web: http://adresse_IP_du_serveur/phpmyadmin (utiliser l’adresse privée de l’invité)

Note: En cas de problème:

sudo apt remove --purge phpmyadmin -y

et réinstaller!
Action 19.1 – Erreur possible sur mot de passe: solution
Action 19.2.1 – Erreur Possible:  Page not found, solution 01:

1 - Éditer le fichier: /etc/apache2/apache2.conf
    $ sudo nano /etc/apache2/apache2.conf
2 - Ajouter la ligne suivante à la fin du fichier:
    Include /etc/phpmyadmin/apache.conf
3 - Redémarrer le service apache:
    $ sudo systemctl restart apache2

Action 19.2.2 – Erreur Possible:  Page not found, solution 02:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
sudo a2enconf phpmyadmin.conf
sudo systemctl restart apache2



D – Résumé des commandes pour installer la pile AMP + WP

sudo apt-get update && sudo apt-get upgrade
​sudo apt-get install lamp-server^
sudo mysql
   ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
   FLUSH PRIVILEGES;
   exit
wget -c https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
sudo mv wordpress/* /var/www/html
sudo chown www-data:www-data /var/www/html -R
sudo rm /var/www/html/index.html
sudo apt install phpmyadmin -y
Avec phpmyadmin: Créer un user et une BD pour WP
Lancer l'installation de WP: http://adr-ip


Astuce: 
Certaines distributions Linux proposent une installation LAMP en quelques commandes.  Par exemple, sur Ubuntu il suffit de suivre les étapes suivantes:

sudo apt-get update && apt-get upgrade
​sudo apt-get install lamp-server^

Prochain atelier – Installation de WordPress

FIN du document


Document rédigé par Alain Boudreault – version 2022.09.30.02