Apache est un logiciel de serveur web open source et gratuit développé par le Apache Fondation du logiciel. Il s’appelle officiellement Apache Serveur HTTP. Apache est l’un des plus anciens serveurs Web multiplateformes et il est adapté aux débutants.
Dans ce tutoriel, nous allons installer Apache version 2 (Apache2) sur Ubuntu 20.04. De plus, nous allons configurer des hôtes virtuels afin que plusieurs sites Web puissent être hébergés sur un seul serveur.
Installer Apache2 sur Ubuntu 20.04
Tout d’abord, vérifiez les mises à jour du package avec la commande ci-dessous.
$ sudo mise à jour appropriée
Deuxièmement, exécutez la commande suivante pour installer Apache version 2 du référentiel de packages Ubuntu.
$ sudo apt installer apache2
Lorsque vous y êtes invité, entrez Oui pour procéder à l’installation.
Une fois Apache2 installé avec succès, exécutez la commande suivante pour confirmer la version.
$ apache2 -v
Vérifier l’état du serveur Apache2
Ensuite, vérifiez l’état du serveur Apache2 en exécutant la commande ci-dessous.
$ sudo état systemctl apache2

Par défaut, le service Apache2 doit déjà être actif (en cours d’exécution). Sinon, démarrez le service avec la commande suivante.
$ sudo systemctl démarrer apache2
Tester le serveur Web Apache2
La dernière étape consiste à tester le serveur Web Apache2. Ouvrez votre navigateur Web préféré et entrez l’adresse IP de votre serveur Ubuntu. Ou entrez hôte local si vous êtes connecté localement au serveur.
Vous devriez voir la page par défaut Apache2 Ubuntu comme indiqué dans l’image ci-dessous.

Au nom de la Apache Software Foundation, nous vous souhaitons la bienvenue sur Apache2 !
Configurer des hôtes virtuels sur Apache2
Les hôtes virtuels vous permettent d’héberger plusieurs sites Web sur le même serveur Apache2. Alors que sur Nginx, il est nommé en tant que blocs de serveur.
Par défaut, Apache2 est livré avec un hôte virtuel et ses informations de configuration sont stockées dans /etc/apache2/sites-enabled/000-default.conf. De plus, la racine du site Web par défaut est /var/www/html.
La configuration d’un nouvel hôte virtuel est simple. Pour example, j’effectuerais les étapes suivantes pour configurer un hôte virtuel pour mon site Web sur www.cloudindevs.com. Vous pouvez suivre et simplement remplacer cloudindevs avec votre propre nom de domaine enregistré.
Noter: Votre nom de domaine enregistré doit pointer vers l’adresse IP de votre serveur Ubuntu.
Créer un hôte virtuel
Créez un nouveau fichier de configuration d’hôte virtuel en copiant celui par défaut comme suit.
$ cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/cloudindevs.conf
Après cela, désactivez l’hôte virtuel par défaut avec la commande ci-dessous.
$ sudo a2dissite 000-default.conf
Créer le répertoire racine du document
Exécutez la commande suivante pour créer un répertoire racine de documents pour stocker les fichiers du site Web.
$ sudo mkdir /var/www/cloudindevs
Ensuite, faites du compte d’utilisateur du service Apache2 (www-data) et du groupe (www-data) le propriétaire du répertoire racine du document comme suit.
$ sudo chown www-data:www-data /var/www/cloudindevs
De plus, accordez au compte d’utilisateur du service Apache2 (www-data) un accès complet au répertoire racine du document avec la commande suivante.
$ sudo chmod 755 /var/www/cloudindevs
Créer un fichier d’index de site Web
Maintenant, créez un fichier d’index dans le répertoire racine du document avec :
$ sudo nano /var/www/cloudindevs/index.html
Copiez et collez l’exemple de code HTML ci-dessous.
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Cloudindevs!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Cloudindevs!</h1>
<p>If you see this page, the Cloudindevs website is working correctly!</p>
</body>
</html>
Save et close le fichier index.html.
Modifier la configuration de l’hôte virtuel
Ensuite, modifiez le nouveau fichier de configuration d’hôte virtuel avec la commande suivante.
$ sudo nano /etc/apache2/sites-available/cloudindevs.conf
Maintenant, décommentez la ligne qui commence par Nom du serveur puis remplacer www.example.avec avec l’URL réelle du site Web. Remplacez également /var/www/html avec le nouveau chemin racine du document.
Vous trouverez ci-dessous un exemple de ce qui est attendu après avoir apporté les modifications.
<VirtualHost *:80>
ServerName www.cloudindevs.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/cloudindevs
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Save et close le fichier de configuration de l’hôte virtuel.
Activer l’hôte virtuel Apache2
Pour activer l’hôte virtuel Apache2, exécutez la commande ci-dessous.
$ sudo a2ensite cloudindevs.conf
Enfin, redémarrez le serveur web Apache2 avec :
$ sudo systemctl redémarrer apache2
Certes, mon nouveau site Web est maintenant accessible via www.cloudindevs.com, comme indiqué dans l’image ci-dessous.

Commandes de base à gérer Apache Serveur HTTP
Pour conclure, voici quelques éléments de base systemctl commandes pour vous aider à gérer votre serveur Web Apache2.
Utiliser redémarrage pour arrêter le service Apache2, puis le redémarrer.
$ sudo systemctl redémarrer apache2
Utilisez le recharger option pour dire à Apache2 de recharger ses fichiers de configuration mais sans arrêter le service.
$ sudo systemctl recharger apache2
Exécutez le arrêter commande pour arrêter le service Apache2.
$ sudo systemctl stop apache2
À activer le service Apache2 pour démarrer au démarrage du serveur, exécutez :
$ sudo systemctl activer apache2
assistants Apache2
a2ensite – activer un site apache2 ou un hôte virtuel.
$ sudo a2ensite cloudindevs.conf
a2dissite – utilisé pour désactiver un site apache2 ou un hôte virtuel.
sudo a2dissite cloudindevs.conf
Configuration de base d’Apache2 et fichiers journaux
Fichiers de configuration
/etc/apache2/apache2.conf — fichier de configuration principal qui extrait les informations de tous les autres fichiers de configuration lorsque le serveur Web démarre.
/etc/apache2/ports.conf — définit les ports d’écoute pour les connexions entrantes.
/etc/apache2/mods-enabled — contient des informations de configuration pour la gestion des modules.
/etc/apache2/conf-enabled — contient des informations de configuration globale.
/etc/apache2/sites-disponible — stocke les configurations d’hôte virtuel.
/etc/apache2/sites-enabled — définit les hôtes virtuels activés.
Fichiers journaux
/var/log/apache2/error.log — contient des informations sur les erreurs rencontrées par Apache2.
/var/log/apache2/access.log — contient toutes les requêtes traitées par Apache2.
Conclusion
Dans ce guide, nous avons installé et configuré le Apache Serveur HTTP avec un hôte virtuel sur Ubuntu 20.04. De plus, nous avons examiné quelques commandes utiles pour gérer Apache2. Enfin, nous avons donné une brève description des fichiers de configuration et journaux importants utilisés par Apache2.