Serveur APACHE

Serveur APACHE

 

Maintenant, passons à l’installation du Serveur APACHE:

Apache est disponible dans les dépôts de logiciels par défaut d’Ubuntu, ce qui permet de l’installer à l’aide d’outils conventionnels de gestion des paquets.

Étape 1 – Installation d’Apache:

sudo apt install -y apache2 apache2-utils

Après avoir confirmé l’installation, apt installera Apache et toutes les dépendances requises.

Une fois installé, Apache devrait être démarré automatiquement. Vérifiez son état avec la commande :

systemctl status apache2

Voici ce que vous devriez avoir :

apache2.service – The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active:
active (running) since Thu 2020-07-16 21:13:21 UTC; 55s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 45918 (apache2)
      Tasks: 55 (limit: 4621)
     Memory: 4.9M
     CGroup: /system.slice/apache2.service
             ├─45918 /usr/sbin/apache2 -k start
             ├─45920 /usr/sbin/apache2 -k start
             └─45921 /usr/sbin/apache2 -k start

Si ce n’est pas le cas, utilisez la commande suivante :

sudo systemctl start apache2

Utilisez la commande suivante pour démarrer Apache au démarrage système : 

sudo systemctl enable apache2

Si besoin, vous pouvez vérifier la version d’Apache avec la commande suivante : 

apache2 -v

Étape 2 – Ajustement du pare-feu

Avant de tester Apache, il est nécessaire de modifier les paramètres du pare-feu pour autoriser l’accès extérieur aux ports web par défaut.

Lors de l’installation, Apache s’enregistre auprès du pare-feu UFW pour fournir quelques profils d’application qui peuvent être utilisés pour activer ou désactiver l’accès à Apache par le biais du pare-feu.

Listez les profils d’application UFW en les tapant :

sudo ufw app list

Vous recevrez une liste des profils disponibles :

Available applications:
    Apache
    Apache Full
    Apache Secure
    OpenSSH

Comme l’indique le résultat, il existe trois profils disponibles pour Apache :

  • Apache : Ce profil n’ouvre que le port 80 (trafic web normal, non crypté),
  • Apache Full : Ce profil ouvre à la fois le port 80 (trafic web normal, non chiffré) et le port 443 (trafic chiffré TLS/SSL),
  • Apache Secure : Ce profil n’ouvre que le port 443 (trafic crypté TLS/SSL).

Il est recommandé d’activer le profil le plus restrictif qui permettra toujours le trafic que vous avez configuré. Comme nous n’avons pas encore configuré le protocole SSL pour notre serveur dans ce guide, nous ne devrons autoriser le trafic que sur le port 80 :

sudo ufw allow 'Apache'

Vous pouvez vérifier le changement en tapant :

sudo ufw status

Si la réponse est :

Status: inactive

Taper auparavant pour démarrer le service :

sudo ufw enable

Cela devrait vous répondre :

Firewall is active and enabled on system startup

Puis retaper

sudo ufw status

La sortie fournira une liste du trafic HTTP autorisé :

Status: active
To             Action  From
--             ------  ----
OpenSSH        ALLOW   Anywhere
Apache         ALLOW   Anywhere
OpenSSH (v6)   ALLOW   Anywhere (v6)
Apache (v6)    ALLOW   Anywhere (v6)

Comme l’indique la sortie, le profil a été activé pour permettre l’accès au serveur web Apache.

Étape 3 – (RE)Vérification de votre serveur web

À la fin du processus d’installation, Ubuntu 22.10 lance Apache. Le serveur web devrait déjà être opérationnel.
Vérifiez que le service fonctionne en tapant :

sudo systemctl status apache2
apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-04-23 22:36:30 UTC; 20h ago
Docs: https://httpd.apache.org/docs/2.4/
Main PID: 29435 (apache2)
Tasks: 55 (limit: 1137)
Memory: 8.0M
CGroup: /system.slice/apache2.service
├─29435 /usr/sbin/apache2 -k start
├─29437 /usr/sbin/apache2 -k start
└─29438 /usr/sbin/apache2 -k start

Comme le confirme ce résultat, le service a démarré avec succès. Cependant, la meilleure façon de le tester est de demander une page à Apache.

Vous pouvez accéder à la page d’accueil par défaut d’Apache pour confirmer que le logiciel fonctionne correctement grâce à votre adresse IP. Si vous ne connaissez pas l’adresse IP de votre serveur, vous pouvez l’obtenir de différentes manières à partir de la ligne de commande.

Essayez de la taper à l’invite de commande de votre serveur Icanhazip :

curl -4 icanhazip.com

Notez bien cette adresse, nous nous en serviront plus tard. Pour l’instant, nous allons utiliser l’adresse IP de votre serveur, l’adresse interne. Saisissez-la dans la barre d’adresse de votre navigateur : http://your_server_ip Vous devriez voir la page web par défaut d’Ubuntu 20.04 Apache :

Si la connexion est refusée ou bloquée, vérifiez au niveau du pare-feu de votre serveur (UFW) voir plus haut.

Maintenant que nous savons que notre serveur Apache est correctement installé, nous allons passer à la phase d’installation.

Etape 4   Configuration Apache

Maintenant, nous devons définir www-data (utilisateur Apache) en tant que propriétaire de la racine du document (autrement appelé racine Web). Par défaut, il appartient à l’utilisateur root.

sudo chown www-data:www-data /var/www/html/ -R

Par défaut, Apache utilise le nom d’hôte du système comme son global ServerName. Si le nom d’hôte du système ne peut pas être résolu via DNS, alors vous risquez d’avoir une erreur lors de l’utilisation de la commande suivante :

sudo apache2ctl -t

Voici l’erreur que vous pouvez avoir :

test@test:~$ sudo apache2ctl -t
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

 Pour résoudre ce problème, nous pouvons définir un global ServerName dans Apache. Utilisez votre éditeur de texte préféré pour créer un nouveau fichier de configuration.

sudo nano /etc/apache2/conf-available/servername.conf

Ajoutez-y la ligne suivante :

ServerName localhost

ou si cela ne fonctionne pas après le test, mettre la ligne suivante :

ServerName 127.0.0.1

Activez maintenant le fichier de configuration avec la commande suivante : 

sudo a2enconf servername.conf

Relancer apache : 

sudo systemctl reload apache2

Vous ne devriez plus avoir d’erreur lors de l’utilisation de la commande sudo apache2ctl -t

Etape 5   Installation du serveur de base de données MariaDB

MariaDB est une alternative à MySQL. Il est développé par d’anciens membres de l’équipe MySQL qui craignent qu’Oracle ne transforme MySQL en produit fermé.

Entrez la commande suivante pour installer MariaDB sur Ubuntu 22.10.

sudo apt install mariadb-server mariadb-client

Une fois installé, le serveur MariaDB devrait être démarré automatiquement. Utilisez systemctl pour vérifier son état.

systemctl status mariadb

Comme pour Apache, vous devriez avoir un retour de ce style :

 mariadb.service - MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active:
active (running) since Thu 2020-07-16 21:46:44 UTC; 8h ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 48169 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 30 (limit: 4621)
Memory: 65.8M
CGroup: /system.slice/mariadb.service
└─48169 /usr/sbin/mysqld

Puis Ctrl-C et touche Entrée pour sortir

Si MariaDB n’est pas démarré & lancé, vous pouvez le lancer via la commande suivante :

sudo systemctl start mariadb

Ici, comme pour Apache, on lance MariaDB au démarrage du système avec la commande suivante :

sudo systemctl enable mariadb

Configuration de MariaDB

Maintenant que MariaDB est installé, on lance le script de configuration

sudo mysql_secure_installation

Votre installation est nouvelle, donc pour le moment le mot de passe SQL est vide. À la première étape, appuyer sur la touche entrée pour valider que le mot de passe actuel est vide.

  

Puis, sélectionnez ensuite « Y » pour définir un nouveau mot de passe SQL, puis choisissez le bien. (de préférence, supérieur à 8 caractères, avec au moins 1 majuscule 1 minuscule 1 chiffres 1 caractère spéciale genre  * – + =  ou autre)

Pour les questions suivantes, vous pouvez appuyer sur Entrée à chaque fois, ce qui vous permettra de supprimer l’utilisateur anonyme, désactiver la connexion root à distance et supprimer la base de données de test.

Par défaut, le package MariaDB sur Ubuntu utilise unix_socket pour authentifier la connexion utilisateur, ce qui signifie que vous pouvez utiliser le nom d’utilisateur et le mot de passe du système d’exploitation pour vous connecter à la console MariaDB. Vous pouvez donc exécuter la commande suivante pour vous connecter sans fournir le mot de passe root MariaDB

sudo mariadb -u root

Pour sortir du mode, utilisez la commande :

exit;

Vous pouvez vérifier la version de MariaDB installé avec la commande suivante : 

mariadb --version

Ce qui devrait donner un résultat de ce type : 

mariadb Ver 15.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2

Etape 6   Installation de PHP 8.1

Installation de PHP8.1 et des dépendances :

sudo apt install ca-certificates apt-transport-https software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt install php8.1 libapache2-mod-php8.1

Puis redémarrer apache :

sudo systemctl restart apache2

 

Etape 7   Utiliser le serveur Web Apache avec PHP FPM :

sudo apt install php8.1-fpm libapache2-mod-fcgid

Avant de continuer, nous allons modifier la taille maximum de téléchargement des fichiers des bases de données (la taille par défaut est de 2 Mégas, ce qui n’est pas beaucoup. Une fois phpmyadmin installé, je n’ai jamais pu modifier cette taille, malgré de multiples recherches sur internet et modifications des fichiers adéquate en vain, la taille restait obstinément à 2Mega. Le changement n’a pu s’effectuer qu’après désinstallation modification et réinstallation de phpmyadmin.)

Nano /etc/php/8.1/apache2/php.ini

Puis modifier les lignes suivantes :

post_max_size = 8M  
upload_max_filesize = 2M   

1ere ligne   -> mettre 250M, ou plus grand si vous le désirez.
2eme ligne  -> mettre la même valeur que la 1ere ligne.

Une fois fait, taper Ctrl X puis Y pour sauvegarder et Entrée pour sortir.

Même chose pour le fichier de config FPM :

nano /etc/php/8.1/fpm/php.ini

post_max_size = 8M       -> mettre 250M ou plus grand si vous le désirez.
upload_max_filesize = 2M      -> mettre la même valeur que plus haut.

Une fois fait, taper Ctrl X puis Y pour sauvegarder et Entrée pour sortir.

Étant donné que PHP-FPM n’est pas activé par défaut, nous devrons l’activer avec les commandes suivantes:

sudo a2enmod proxy_fcgi setenvif

sudo a2enconf php8.1-fpm

Ensuite, nous devrons redémarrer le serveur Web Apache pour que les modifications prennent effet:

sudo systemctl restart apache2

Vérifier l’installation :

Pour confirmer que la version de PHP est installée correctement, nous créons un fichier php dans /var/www/html que nous appellerons Info.php :

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

À l’intérieur du fichier, nous n’aurons plus qu’à collez les lignes suivantes et enregistrer le fichier.

<?php
phpinfo();
?>

Une fois fait, taper Ctrl X puis Y pour sauvegarder et Entrée pour sortir

Enfin, dans notre navigateur Web préféré sur le PC , nous allons écrire l’adresse IP du serveur dans l’URL et le nom du fichier nouvellement créé:

http://ip-de-serveur/info.php

si tout est correct nous devrions voir l’écran suivant :

Nous pouvons donc considérer PHP 8.1 installé et intégré au serveur Web Apache et fonctionnant sous Ubuntu 22.10.

Etape 8   Télécharger et installer phpMyAdmin sur Ubuntu 22.10

Pour installer phpMyAdmin, depuis votre serveur lancer les commandes suivantes : 

sudo apt update

sudo apt install phpmyadmin

La commande ci-dessus installera toutes les dépendances nécessaires, y compris les extensions PHP8.1. Pendant l’installation, il vous demandera de sélectionner un serveur Web à configurer. Appuyez sur la barre d’espace pour sélectionner apache2. (Un astérisque indique que l’élément est sélectionné). Appuyez ensuite sur la touche Tab et sur Entrée pour confirmer votre choix.


PHPMYADMIN s’installe.

Dans l’écran suivant, sélectionnez Yes pour configurer une base de données pour phpMyAdmin avec dbconfig-common

Définissez ensuite un mot de passe pour l’utilisateur phpmyadmin dans MariaDB / MySQL.

Bien sûr, n’oubliez pas de noter le mot de passe, c’est vite oublié.

Une fois cette étape terminée, une nouvelle base de données nommée phpmyadmin est créée et l’utilisateur de la base de données phpmyadmin dispose des privilèges nécessaires pour gérer cette base de données. Si besoin, vous pouvez vous connecter à votre base de données MariaDB pour vérifier les privilèges du compte phpmyadmin.

sudo mysql -u root

Puis la commande suivante pour afficher les privilèges de phpmyadmin

show grants for phpmyadmin@localhost;

Ce qui devrait vous afficher ceci : 

Vous pouvez sortir de MariaDB avec Exit

Exit;

Tester la connexion vers PHPMyadmin

Lors de l’installation de phpMyAdmin, un fichier de configuration est placé dans /etc/apache2/conf-enabled/phpmyadmin.conf, ce qui nous permet d’accéder à phpMyAdmin via un sous-répertoire. Dans le cas d’un serveur web local, vous pourrez accéder à phpmyadmin via l’adresse
http://votre.ip.reseau.local/phpmyadmin

Si la connexion est refusée ou a échoué, un pare-feu peut empêcher les requêtes HTTP. Vérifier alors votre pare-feu (UFW) mais cela ne devrait pas être le cas.

Vous pouvez maintenant essayer une connexion via le compte
Utilisateur : phpmyadmin
Mot de passe : Celui_entré plus-haut_que_vous_avez_noté.

Aller dans Importer et regarder la taille en face de Parcourir, celle-ci ne devrait plus être limitée à 2 Mo, mais à la taille que vous avez entrée plus haut.

Nous avons terminé la 1ere étape de la création de notre serveur WEB LAMP.