GNU/Linux >> Tutoriels Linux >  >> Panels >> Panels

Comment configurer Apache avec HTTP/2 sur Ubuntu 16.04

Nous allons vous montrer comment configurer Apache avec HTTP/2. HTTP/2 est la première mise à jour majeure du protocole HTTP depuis 1997. L'objectif principal de HTTP/2 est de réduire la latence, de réduire le nombre total de connexions TCP et d'améliorer ainsi la vitesse de chargement des pages dans les navigateurs Web. HTTP/2 est rétrocompatible avec HTTP/1.1, toutes les sémantiques d'application de HTTP sont les mêmes, à l'exception du mode de transmission des données via une connexion TCP. HTTP/2 exploite le multiplexage et autorise les requêtes asynchrones (parallèles) et assure la compression des données des en-têtes HTTP. De plus, la méthode push du serveur dans HTTP/2 permet au serveur d'envoyer plusieurs réponses pour une seule requête.

Le support HTTP/2 n'est pas inclus dans Ubuntu 16.04, ni avec nginx ni avec Apache car cette fonctionnalité est considérée comme expérimentale par le projet amont Apache httpd, il n'est donc pas possible de l'activer sur un VPS Ubuntu 14.04 à l'aide de la commande a2enmod :

a2enmod http2
ERROR: Module http2 does not exist!

La prise en charge de HTTP/2 doit être activée dans Ubuntu 16.04 après que l'amont Apache httpd considère que cette prise en charge n'est pas expérimentale.
Heureusement, le module Http2 est inclus dans la source, suivez donc ces étapes pour activer la prise en charge de HTTP/2 sur Serveur Web Apache :

1. Ajouter des URI sources

Ajoutez les URI sources au fichier sources.list si ce n'est pas déjà fait :

vi /etc/apt/sources.list

ajoutez les lignes suivantes à la fin :

deb-src http://archive.ubuntu.com/ubuntu/ xenial main universe restricted multiverse
deb-src http://security.ubuntu.com/ubuntu xenial-security main universe restricted multiverse
deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main universe restricted multiverse

2. Téléchargez les listes de packages à partir des référentiels

Exécutez la commande « apt-get update » pour télécharger les listes de packages à partir des référentiels et mettez-les à jour pour obtenir des informations sur les dernières versions des packages, puis mettez à jour les packages du système d'exploitation Ubuntu 16.04 à l'aide de la commande « apt-get upgrade » :

apt-get update
apt-get upgrade

3. Installer les pré-requis

Installez les pré-requis requis :

apt-get install curl devscripts build-essential fakeroot

4. Créer un nouvel utilisateur

Créez un nouvel utilisateur ou passez à un compte utilisateur existant :

sudo adduser <username> sudo
su <username>

Remplacez par un nom d'utilisateur réel.

5. Installez libnghttp2-dev

Installez le paquet libnghttp2-dev :

[user]$ cd ~
[user]$ sudo apt-get install libnghttp2-dev
[user]$ mkdir apache2
[user]$ cd apache2

6. Télécharger les sources apache2

Téléchargez les sources apache2 sur votre serveur et compilez-les :

[user]$ apt-get source apache2
[user]$ sudo apt-get build-dep apache2
[user]$ cd apache-2.4.18
[user]$ sudo apt-get install curl devscripts build-essential fakeroot
[user]$ fakeroot debian/rules binary
[user]$ sudo cp debian/apache2-bin/usr/lib/apache2/modules/mod_http2.so /usr/lib/apache2/modules/
[user]$ exit

7. Chargez le module HTTP/2.

Chargez le module HTTP/2. Créez un fichier /etc/apache2/mods-available/http2.load et ajoutez les lignes suivantes :

LoadModule http2_module /usr/lib/apache2/modules/mod_http2.so

<IfModule http2_module>
LogLevel http2:info
</IfModule>

8. Activer et configurer le module Apache HTTP2

Activez le module http2 :

a2enmod http2

Ajoutez 'Protocoles h2 http/1.1' à chaque hôte virtuel basé sur SSL. Par exemple, modifiez le fichier de configuration default-ssl :

vi /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
 <VirtualHost _default_:443>
 ServerAdmin webmaster@localhost
 ServerName your-domain.com
 Protocols h2 http/1.1
 DocumentRoot /var/www/html
 
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 
 SSLEngine on

 SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
 SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

 <FilesMatch "\.(cgi|shtml|phtml|php)$">
 SSLOptions +StdEnvVars
 </FilesMatch>
 <Directory /usr/lib/cgi-bin>
 SSLOptions +StdEnvVars
 </Directory>

 </VirtualHost>
</IfModule>

Ou ajoutez 'Protocoles h2 http/1.1' à la configuration principale d'Apache pour activer http2 sur tous les sites Web :

vi /etc/apache2/apache2.conf

Ajoutez cette ligne à la fin :

Protocols h2 http/1.1

9. Redémarrez le serveur Web Apache

Redémarrez Apache pour que les modifications prennent effet :

service apache2 restart

C'est ça. Le support HTTP/2 a été activé sur votre serveur Web Apache.

Bien sûr, vous n'êtes pas obligé de configurer Apache avec HTTP/2 sur Ubuntu 16.04, si vous utilisez l'un de nos services d'hébergement VPS haute performance, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts de configurer Apache avec prise en charge HTTP/2 pour toi. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.

PS. Si vous avez aimé cet article sur la configuration d'Apache avec le support HTTP/2 sur Ubuntu 16.04, partagez-le avec vos amis sur les réseaux sociaux à l'aide des boutons ci-dessous, ou laissez simplement une réponse ci-dessous. Merci.


Panels
  1. Comment installer Odoo 12 sur Ubuntu 18.04 avec Apache comme proxy inverse

  2. Comment installer Odoo 14 sur Ubuntu 20.04 avec Apache comme proxy inverse

  3. Comment installer Let's Encrypt sur Ubuntu 20.04 avec Apache

  4. Comment installer Magento 2.4 avec OpenLiteSpeed ​​sur Ubuntu 20.04

  5. Comment configurer Nginx avec la prise en charge HTTP/2 sur Debian 9

Comment activer le protocole HTTP/2 avec Apache sur Ubuntu 20.04

Comment activer la prise en charge HTTP/2.0 sur Apache

Comment activer HTTP/2 dans Apache sur Ubuntu

Comment configurer Nginx avec la prise en charge HTTP/2 sur Ubuntu 18.04

Comment configurer les hôtes virtuels Apache sur Ubuntu 18.04

Comment activer HTTP/2 avec Apache dans Ubuntu