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.