Comment configurer le serveur web Apache sur un VPS Ubuntu ou Debian

Qu’est-ce Qu’Apache?

Apache est le serveur web le plus populaire sur internet. Il est utilisé pour servir plus de la moitié de tous les sites web actifs.

bien qu’il existe de nombreux serveurs web viables qui serviront votre contenu, il est utile de comprendre comment fonctionne Apache en raison de son omniprésence.

dans cet article, nous examinerons quelques fichiers de configuration généraux et les options qui peuvent être contrôlés en leur sein., Cet article suivra la disposition Ubuntu/Debian des fichiers Apache, qui est différente de la façon dont les autres distributions construisent la hiérarchie de configuration.

Comment Installer Apache sur Ubuntu et Debian

Si vous n’avez pas déjà de Apache installé, vous pouvez le faire maintenant en exécutant les commandes suivantes:

sudo apt-get updatesudo apt-get install apache2

C’est tout ce qui est nécessaire pour disposer d’un serveur web., Si vous visitez l’adresse IP de votre VPS dans un navigateur web, vous obtiendrez la page D’index Apache par défaut:

your_domain_name_or_ip_address
It works!This is the default web page for this server.The web server software is running but no content has been added, yet.

la hiérarchie des fichiers Apache dans Ubuntu et Debian

sous Ubuntu et Debian, Apache conserve ses principaux fichiers de configuration dans le dossier « /etc/apache2 »:

cd /etc/apache2ls -F
apache2.conf envvars magic mods-enabled/ sites-available/conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/

Il y a un certain nombre de fichiers texte brut et quelques sous-répertoires dans ce répertoire. Voici quelques-uns des endroits les plus utiles à connaître:

  • apache2.,conf: il s’agit du fichier de configuration principal du serveur. Presque toute la configuration peut être effectuée à partir de ce fichier, bien qu’il soit recommandé d’utiliser des fichiers séparés et désignés pour plus de simplicité. Ce fichier configurera les valeurs par défaut et sera le point d’accès central pour que le serveur puisse lire les détails de configuration.
  • les ports.conf: Ce fichier est utilisé pour spécifier les ports hôtes virtuels doit écouter. Assurez-vous de vérifier que ce fichier est correct si vous configurez SSL.
  • conf.d/: ce répertoire est utilisé pour contrôler des aspects spécifiques de la configuration D’Apache., Par exemple, il est souvent utilisé pour définir la configuration SSL et les choix de sécurité par défaut.
  • sites-available/: ce répertoire contient tous les fichiers hôtes virtuels qui définissent différents sites web. Ceux-ci établiront quel contenu est servi pour quelles demandes. Ce sont des configurations disponibles, pas des configurations actives.
  • sites-enabled/: ce répertoire établit quelles définitions d’hôtes virtuels sont réellement utilisées. Habituellement, ce répertoire se compose de liens symboliques vers des fichiers définis dans le répertoire » sites-available ».,
  • mods -/: ces répertoires ont une fonction similaire aux répertoires de sites, mais ils définissent des modules qui peuvent être chargés optionnellement à la place.

comme vous pouvez le voir, la configuration D’Apache ne se fait pas dans un seul fichier monolithique, mais via une conception modulaire où de nouveaux fichiers peuvent être ajoutés et modifiés au besoin.

en regardant L’Apache2.fichier conf

Les principaux détails de configuration de votre serveur Apache se trouvent dans le fichier « /etc/apache2/apache2.conf de fichier ».,

Ce fichier est divisé en trois sections principales: configuration pour le processus global du serveur Apache, configuration pour le serveur par défaut et configuration des Hôtes Virtuels.

dans Ubuntu et Debian, la majorité du fichier est pour les définitions globales, et la configuration du serveur par défaut et des hôtes virtuels est gérée à la fin, en utilisant le « Include … » directive.

la directive « Include » permet à Apache de lire d’autres fichiers de configuration dans le fichier courant à l’emplacement où l’instruction apparaît., Le résultat est Qu’Apache génère dynamiquement un fichier de configuration global au démarrage.

Si vous faites défiler vers le bas du fichier, il existe un certain nombre d’instructions « Include » différentes. Ces définitions de module de charge, les ports.document conf, les fichiers de configuration spécifiques dans le  » conf.D/ », et enfin, les définitions de L’hôte virtuel dans le répertoire » sites-enabled/ ».

nous allons Nous concentrer sur la première partie du fichier pour savoir comment Apache définit ses paramètres globaux.,

section de Configuration globale

Cette section est utilisée pour configurer certaines options qui contrôlent le fonctionnement D’Apache dans son ensemble.

Il y a quelques options intéressantes que vous pouvez modifier dans cette section:

Timeout

par défaut, ce paramètre est défini sur « 300 », ce qui signifie que le serveur a un maximum de 300 secondes pour répondre à chaque demande.

c’est probablement trop élevé pour la plupart des configurations et peut être abaissé en toute sécurité à quelque chose entre 30 et 60 secondes.,

KeepAlive

Cette option, si elle est définie sur « On », permettra à chaque connexion de rester ouverte pour gérer plusieurs requêtes du même client.

Si cette option est définie sur « Off », chaque demande devra établir une nouvelle connexion, ce qui peut entraîner des frais généraux importants en fonction de votre configuration et de la situation du trafic.

MaxKeepAliveRequests

cela contrôle le nombre de requêtes séparées que chaque connexion traitera avant de mourir. Garder ce nombre élevé permettra à Apache de servir du contenu à chaque client plus efficacement.,

définir cette valeur sur 0 permettra à Apache de répondre à un nombre illimité de requêtes pour chaque connexion.

KeepAliveTimeout

ce paramètre spécifie combien de temps attendre la prochaine requête après avoir terminé la dernière. Si le seuil de délai d’attente est atteint, la connexion mourra.

cela signifie simplement que la prochaine fois que le contenu est demandé, le serveur établira une nouvelle connexion pour gérer la demande de contenu qui constitue la page que le client visite.,

configuration MPM

la section suivante spécifie la configuration des options MPM (multi-Processing Module). Vous pouvez croiser la section avec laquelle votre installation Apache a été compilée en sortant du terminal et en tapant:

apache2 -l
Compiled in modules: core.c mod_log_config.c mod_logio.c prefork.c http_core.c mod_so.c

comme vous pouvez le voir, dans ce serveur, « prefork.c » est un module qui a été compilé et est également dans le « apache2.conf de fichier ». Votre installation peut avoir plusieurs choix, mais un seul peut être sélectionné.

Vous pouvez ajuster la configuration du prefork MPM dans la section appropriée.,

exploration du fichier D’hôte virtuel par défaut

La déclaration d’hôte virtuel par défaut se trouve dans un fichier appelé « default » dans le répertoire « sites-available ».

Nous pouvons en apprendre davantage sur le format général d’un fichier hôte virtuel en examinant ce fichier. Ouvrez le fichier avec la commande suivante:

sudo nano /etc/apache2/sites-available/default

l’hôte virtuel par défaut est configuré pour gérer toute requête sur le port 80, le port http standard. Ceci est défini dans l’en-tête de déclaration où il est écrit « *:80 », ce qui signifie le port 80 sur n’importe quelle interface.,

cela ne signifie pas qu’il traitera nécessairement chaque demande au serveur sur ce port cependant. Apache utilise la définition D’hôte virtuel la plus spécifique qui correspond à la requête. Cela signifie que s’il y avait une définition plus spécifique, elle pourrait remplacer cette définition.

configuration de niveau supérieur de L’hôte virtuel

ces options sont définies dans la définition de L’hôte virtuel en dehors de toute autre sous-déclaration de niveau inférieur. Ils s’appliquent à l’ensemble de l’Hôte Virtuel.

L’option « ServerAdmin » spécifie un e-mail de contact qui doit être utilisé en cas de problèmes de serveur.,

cela peut être inséré dans une page d’erreur si vous avez « ServerSignature » défini sur « Email » dans le « /etc/apache2/conf.d / Sécurité » fichier, alors assurez-vous que vous êtes prêt à recevoir le courrier si vous ajustez ce paramètre.

Si nous utilisions ceci comme modèle pour d’autres définitions D’Hôtes Virtuels, nous voudrions ajouter une définition « ServerName » qui spécifie le nom de domaine ou l’adresse IP que cette demande doit gérer. C’est l’option qui ajouterait une spécificité à l’hôte virtuel, lui permettant de l’emporter sur la définition par défaut si elle correspond à la valeur ServerName.,

Vous pouvez également appliquer l’hôte virtuel à plus d’un nom en utilisant la définition « ServerAlias ». Cela fournit des chemins alternatifs pour accéder au même contenu. Un bon cas d’utilisation pour ajouter le même domaine, précédé par « www ».

L’option « DocumentRoot » spécifie l’emplacement du contenu demandé pour cet hôte virtuel. L’hôte virtuel par défaut est configuré pour servir le contenu du répertoire « /var/www » Sur Ubuntu.,

définitions de répertoire

dans la définition de L’hôte virtuel, il y a des définitions pour la façon dont le serveur gère différents répertoires dans le système de fichiers. Apache appliquera toutes ces directions dans l’ordre du plus court au plus long, il y a donc à nouveau une chance de remplacer les options précédentes.

la première définition de répertoire applique des règles pour le répertoire « / », ou racine. Cela fournira la configuration de base pour votre hôte virtuel, car elle s’applique à tous les fichiers servis sur le système de fichiers.

par défaut, Ubuntu ne met en place aucune restriction d’accès au système de fichiers., Apache vous recommande d’ajouter des restrictions d’accès par défaut. Vous pouvez modifier ceci comme ceci:

<Directory />Options FollowSymLinksAllowOverride NoneOrder Deny,AllowDeny from All</Directory>

cela refusera l’accès à tout le Contenu sauf indication contraire dans les définitions de répertoire suivantes.

La définition de répertoire suivante est pour la racine du document, elle spécifie donc l’option « Autoriser de tout » qui remplace l’option « / » pour ce répertoire.

L’option « AllowOverride » est utilisée pour décider si un « .le fichier » htaccess  » peut remplacer les paramètres s’il est placé dans le répertoire de contenu., Ceci n’est pas autorisé par défaut, mais peut être utile pour l’activer dans diverses circonstances.

instructions Alias et ScriptAlias

Les définitions de répertoire sont parfois précédées d’instructions « Alias » ou « ScriptAlias ». Alias mappe un chemin d’url à un chemin de répertoire.

ScriptAlias fonctionne de la même manière, mais est utilisé pour définir des répertoires qui auront des composants exécutables en eux.

Alias /content/ /path/to/content/

Après l’alias, vous devez vous rappeler de définir le répertoire avec les privilèges d’accès comme indiqué dans la section précédente.,

activation des Sites et des Modules dans Apache

Une fois que vous avez un fichier hôte virtuel qui répond à vos besoins, vous pouvez utiliser les outils inclus avec Apache pour les transférer dans des sites en direct.,

pour créer automatiquement un lien symbolique dans le répertoire « sites-enabled » vers un fichier existant dans le répertoire « sites-available », émettez la commande suivante:

sudo a2ensite virtual_host_file_name

Après avoir activé un site, émettez la commande suivante pour dire à Apache de relire ses fichiers de configuration, permettant à la modification de se propager:

sudo service apache2 reload

est également une commande compagnon pour désactiver un hôte virtuel., Il fonctionne en supprimant le lien symbolique du répertoire » sites-enabled »:

sudo a2dissite virtual_host_file_name

encore une fois, rechargez la configuration pour effectuer le changement:

sudo service apache2 reload

Les Modules peuvent être activés ou désactivés en utilisant les commandes » a2enmod « et » a2dismod  » respectivement. Ils fonctionnent de la même manière que les versions » site  » de ces commandes.

n’oubliez pas de recharger vos modifications de configuration après modules ont été activés ou désactivés.

Conclusion

Nous avons passé en revue quelques fichiers de configuration Apache de base., Apache est polyvalent et très modulaire, les besoins de configuration seront donc différents en fonction de votre configuration.

Vous devez bien comprendre à quoi servent les fichiers de configuration principaux et comment ils interagissent les uns avec les autres. Si vous avez besoin de connaître des options de configuration spécifiques, les fichiers fournis sont bien commentés et Apache fournit une excellente documentation.

espérons que les fichiers de configuration ne seront pas aussi intimidants maintenant, et vous vous sentirez plus à l’aise d’expérimenter et de modifier pour répondre à vos besoins.

Par Justin Ellingwood

Share

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *