MODELE : PAGE

Installation d’un serveur LAMP
L:Linux / A:Apache / M:MariaDB / P:PHP

Installation et configuration du serveur Apache

Installation et configuration du serveur Apache

Installation d’Apache

sudo apt-get update & upgrade
sudo apt-get install apache2
// Installer le démarrage automatique d'apache : 
sudo systemctl enable apache2
sudo systemctl status apache2	// Vérifier l'état du service
sudo apache2ctl -v		// pour connaitre la version d'apache
systemctl restart apache2

On obtient le retour suivant :

Configuration d’Apache

On active 4 modules sur le serveur Apache :

// Le mode rewrite permet la réécriture  d url, c est-à-dire de voir sur les liens 
// en français constitutifs de la page
sudo a2enmod rewrite

// Pour avoir un site en https qui va pouvoir gérer les certificats	
sudo a2enmod ssl

// Pour la compression et la mise en cache du site internet (accélération du chargement des pages)
sudo a2enmod deflate

// Va permettre d interagir avec les entêtes http
sudo a2enmod headers 

sudo systemctl restart apache2

Pour masquer l’affichage de la version d’Apache sur les pages d’erreurs :

Editer le fichier « apache2.conf » et ajouter la ligne suivante à la fin du fichier :

sudo nano /etc/apache2/apache2.conf
// et à la fin du fichier : 
ServerTokens Prod 
Le répertoire site-available contient les sites disponibles mais pas forcément actifs.
Le répertoire site-enable contient les sites actifs.
On remarque que dans « DocumentRoot, se trouve noté la racine du site  /var/www/html

Exécuter un navigateur et entrer l’adresse IP du serveur dans la barre d’adresse pour vérifier que le serveur Apache est installé et opérationnel.

Installation de PHP

Installation de PHP
sudo apt-get install -y php

Installation de quelques paquets supplémentaires pour compléter l’installation de PHP sur notre serveur. Par exemple, pour permettre les interactions entre PHP et notre instance MariaDB.

sudo apt-get install -y php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath php-imagick php-intl php-json

php -v 

Pour vérifier que l’installation de la version de php est valide, on créé un fichier phpinfo.php :

sudo nano /var/www/html/phpinfo.php	
// dont le contenu est le suivant…vérification ci-dessous
<?php
phpinfo();
?>

Cette page est utile uniquement pour vérification, donc on la supprime.

sudo rm /var/www/html/phpinfo.php

Installation de mariadb

Installation de mariadb
sudo apt-get install -y mariadb-server
sudo mariadb -v

Suite à l’installation, exécuter le script « mariadb-secure-installation » afin de sécuriser un minimum l’installation de MariaDB.

sudo mariadb-secure-installation

En résumé, on va pouvoir définir un mot de passe pour le compte « root » de MariaDB, empêcher les connexions distantes sur notre instance à l’aide du compte « root », empêcher les connexions anonymes et supprimer la base de test.

  • On a pas encore configuré MariaDB donc on valide [Entrer]
  • Et on ne bascule pas sur l’authentification unix_socket à [n]
  • Enfin on indique que l’on veut changer le mot de passe root à [Y]
    Entrer le mot de passe (puis confirmer)
  • Remove anonymous users ? [Y]
  • Disallow root login remotely ? [Y]
  • Remove test database and access to it ? [Y]
  • Reload priviledge tables now ? [Y] (recharge de l’ensemble des privilèges)

On a terminé l’installation minimaliste de notre instance MariaDB. Pour vérifier que l’on a bien accès à notre instance de MariaDB on saisi :

sudo mysql -u root -p

… puis on entre le mot de passe root.

Et on vérifie que l’on a bien accès à la base de données :

show databases;

On voit affiché la liste les bases de données par défaut de MariaDB

On entre…

exit

… pour quitter la console et on termine par …

systemctl restart mariadb