Introduction

Le serveur HTTP Apache est le serveur web le plus utilisé au monde. Il offre de nombreuses fonctionnalités puissantes, notamment des modules à chargement dynamique, une prise en charge robuste des médias et une intégration poussée avec d'autres logiciels populaires.

Dans ce guide, nous vous expliquerons comment installer un serveur web Apache sur votre serveur Ubuntu 20.04. Pour une version plus détaillée de ce tutoriel, veuillez vous référer à Comment installer le serveur Web Apache sur Ubuntu 20.04.

Conditions préalables

apache illustration for: Conditions préalables

Avant de commencer ce guide, vous devez disposer des éléments suivants :

  • Un serveur Ubuntu 20.04 et un utilisateur non root ordinaire avec des privilèges sudo. En outre, vous devrez activer un pare-feu de base pour bloquer les ports non essentiels. Vous pouvez apprendre comment configurer un compte utilisateur ordinaire et mettre en place un pare-feu pour votre serveur en suivant notre Guide de configuration initiale du serveur pour Ubuntu 20.04.

Lorsque vous avez un compte disponible, connectez-vous en tant qu'utilisateur non root pour commencer.

Étape 1 — Installation d'Apache

Apache est disponible dans les dépôts de logiciels par défaut d'Ubuntu, vous pouvez donc l'installer en utilisant les outils conventionnels de gestion des packages.

Mettez à jour votre index local des packages :

				
					
sudo apt update

				
			

Installez le package apache2 :

				
					
sudo apt install apache2

				
			

Étape 2 — Réglage du pare-feu

Consultez les profils d'application ufw disponibles :

				
					
sudo ufw app list

				
			
				
					
[secondary_label Output]

Available applications:

  Apache

  Apache Full

  Apache Secure

  OpenSSH

				
			

Activons le profil le plus restrictif qui permettra toujours le trafic que vous avez configuré, en autorisant le trafic sur le port 80 (trafic web normal, non crypté) :

				
					
sudo ufw allow 'Apache'

				
			

Vérifiez le changement :

				
					
sudo ufw status

				
			
				
					
[secondary_label Output]

Status: active



To                         Action      From

--                         ------      ----

OpenSSH                    ALLOW       Anywhere                  

Apache                     ALLOW       Anywhere                  

OpenSSH (v6)               ALLOW       Anywhere (v6)             

Apache (v6)                ALLOW       Anywhere (v6)

				
			

Étape 3 - Vérification de votre serveur Web

Vérifiez avec le système systemd init pour vous assurer que le service fonctionne en tapant :

				
					
sudo systemctl status apache2

				
			
				
					
[secondary_label Output]

apache2.service - The Apache HTTP Server

     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>

     Active: <^>active (running)<^> since Tue 2020-04-28 23:06:40 UTC; 56s ago

       Docs: https://httpd.apache.org/docs/2.4/

   Main PID: 13785 (apache2)

      Tasks: 55 (limit: 1137)

     Memory: 5.3M

     CGroup: /system.slice/apache2.service

             ├─13785 /usr/sbin/apache2 -k start

             ├─13787 /usr/sbin/apache2 -k start

             └─13788 /usr/sbin/apache2 -k start



				
			

Accédez à la page d'accueil par défaut d'Apache pour confirmer que le logiciel fonctionne correctement grâce à votre adresse IP :

				
					
http://<^>your_server_ip<^>

				
			

Vous devriez recevoir la page web Apache par défaut d'Ubuntu 20.04 :

Étape 4 — Configuration des hôtes virtuels (recommandé)

Lorsque vous utilisez le serveur web Apache, vous pouvez utiliser des _hôtes virtuels_ (similaires aux blocs de serveurs dans Nginx) pour encapsuler les détails de la configuration et héberger plusieurs domaines à partir d'un seul serveur. Nous allons configurer un domaine appelé your_domain, mais vous devez le remplacer par le nom propre à votre domaine. Pour en savoir plus sur la configuration d'un nom de domaine avec the cloud provider, veuillez vous reporter à notre Introduction au DNS the cloud provider.

Créez le répertoire pour <^>your_domain<^>:

				
					
sudo mkdir /var/www/&lt;^&gt;your_domain&lt;^&gt;

				
			

Attribuez la propriété du répertoire :

				
					
sudo chown -R $USER:$USER /var/www/&lt;^&gt;your_domain&lt;^&gt;

				
			

Les autorisations de vos racines web devraient être correctes si vous n'avez pas modifié votre valeur unmask, mais vous pouvez vous en assurer en tapant :

				
					
sudo chmod -R 755 /var/www/&lt;^&gt;your_domain&lt;^&gt;

				
			

Créez un exemple de page index.html en utilisant nano ou votre éditeur préféré :

				
					
nano /var/www/&lt;^&gt;your_domain&lt;^&gt;/index.html

				
			

À l'intérieur, ajoutez l'exemple de HTML suivant :

				
					
[label /var/www/your_domain/index.html]

&lt;html&gt;

    &lt;head&gt;

        &lt;title&gt;Welcome to &lt;^&gt;Your_domain&lt;^&gt;!&lt;/title&gt;

    &lt;/head&gt;

    &lt;body&gt;

        &lt;h1&gt;Success!  The &lt;^&gt;your_domain&lt;^&gt; virtual host is working!&lt;/h1&gt;

    &lt;/body&gt;

&lt;/html&gt;

				
			

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créez un nouveau fichier d'hôte virtuel dans /etc/apache2/sites-available/<^>your_domain<^>.conf :

				
					
sudo nano /etc/apache2/sites-available/&lt;^&gt;your_domain&lt;^&gt;.conf

				
			

Collez dans le bloc de configuration suivant, mis à jour pour notre nouveau répertoire et nom de domaine :

				
					
[label /etc/apache2/sites-available/your_domain.conf]

&lt;VirtualHost *:80&gt;

    ServerAdmin webmaster@localhost

    ServerName &lt;^&gt;your_domain&lt;^&gt;

    ServerAlias &lt;^&gt;your_domain&lt;^&gt;

    DocumentRoot /var/www/&lt;^&gt;your_domain&lt;^&gt;

    ErrorLog ${APACHE_LOG_DIR}/error.log

    CustomLog ${APACHE_LOG_DIR}/access.log combined

&lt;/VirtualHost&gt;

				
			

Enregistrez et fermez le fichier lorsque vous avez terminé.

Activez le fichier avec a2ensite :

				
					
sudo a2ensite &lt;^&gt;your_domain&lt;^&gt;.conf

				
			

Désactivez le site par défaut défini dans 000-default.conf :

				
					
sudo a2dissite 000-default.conf

				
			

Effectuez un test pour trouver d'éventuelles erreurs de configuration :

				
					
sudo apache2ctl configtest

				
			

Vous devriez voir la sortie suivante :

				
					
[secondary_label Output]

Syntax OK

				
			

Redémarrez Apache pour implémenter vos modifications :

				
					
sudo systemctl restart apache2

				
			

Apache devrait maintenant vous présenter votre nom de domaine. Vous pouvez vérifier cela en allant sur http://<^>your_domain<^>, où vous devriez voir quelque chose de similaire à ceci :

Conclusion

Maintenant que votre serveur Web est installé, vous disposez de nombreuses options pour le type de contenu que vous voulez présenter et les technologies que vous souhaitez utiliser afin de créer une expérience plus riche.

Si vous souhaitez construire une pile d'applications plus complète, consultez cet article sur Comment configurer une pile LAMP sur Ubuntu 20.04.