|  Prochaine révision |  Révision précédente | 
| serveur_hebergement:apache2:activer_http_2_avec_apache [2022/10/01 19:25]  – créée fate | serveur_hebergement:apache2:activer_http_2_avec_apache [2024/01/13 21:02] (Version actuelle)  –  fate | 
|---|
| ===== Version simple pour les chanceux ===== | ===== Version simple pour les chanceux ===== | 
 |  | 
| Tous d'abord il faut savoir que le http/2 ne peut être activé qu'en https. En effet, la majorité des navigateurs ne supportent le http/2 qu'en https, bien que le protocole puissent techniquement être utilisé sans ssl. Il faudra donc que vos sites soient accessible en https. La page [[serveur_hebergement:let_s_encrypt_certbot_et_ssl_sur_debian|Let’s Encrypt, Certbot et SSL sur Debian]] traite de ce sujet. | Tous d'abord il faut savoir que le http/2 ne peut être activé qu'en https. En effet, la majorité des navigateurs ne supportent le http/2 qu'en https, bien que le protocole puisse techniquement être utilisé sans ssl. Il faudra donc que vos sites soient accessibles en https. La page [[serveur_hebergement:apache2:let_s_encrypt_certbot_et_ssl_sur_debian|]] traite de ce sujet. | 
 |  | 
| Commencez par activer le module mod_http2 avec la commande <code bash>sudo a2enmod http2</code> . | Commencez par activer le module mod_http2 avec la commande <code bash>sudo a2enmod http2</code> . | 
| Il faut maintenant ajouter la ligne <code bash>Protocols h2 http/1.1</code> dans vos fichiers de configuration Apache. Cette ligne indique que http/2 sera utilisé en priorité et s'il ne peut être utilisé on bascule sur le http. Vous avez plusieurs choix concernant cette ligne : | Il faut maintenant ajouter la ligne <code bash>Protocols h2 http/1.1</code> dans vos fichiers de configuration Apache. Cette ligne indique que http/2 sera utilisé en priorité et s'il ne peut être utilisé on bascule sur le http. Vous avez plusieurs choix concernant cette ligne : | 
|   * Soit vous la mettez à l'intérieur de vos Virtual Host et seul ce Virtual Host sera en http/2 |   * Soit vous la mettez à l'intérieur de vos Virtual Host et seul ce Virtual Host sera en http/2 | 
|   * Soit vous la mettez à l'extérieur de vos Virtual Host et tout les sites du fichier de configuration seront en http/2 |   * Soit vous la mettez à l'extérieur de vos Virtual Host et tous les sites du fichier de configuration seront en http/2 | 
|   * Soit vous la mettez dans le fichier de configuration général de Apache, situé dans /etc/apache2/apache2.conf, et tous vos sites seront en http/2 |   * Soit vous la mettez dans le fichier de configuration général de Apache, situé dans /etc/apache2/apache2.conf, et tous vos sites seront en http/2 | 
 |  | 
| Redémarrez Apache avec la commande <code bash>sudo systemctl restart apache2</code> pour prendre en compte les modifications. | Redémarrez Apache avec la commande <code bash>sudo systemctl restart apache2</code> pour prendre en compte les modifications. | 
 |  | 
| Rendez-vous sur le site [[href="https://tools.keycdn.com/http2-test|https://tools.keycdn.com/http2-test]] pour tester si votre site est accessible en http/2.  | Rendez-vous sur le site [[https://tools.keycdn.com/http2-test|https://tools.keycdn.com/http2-test]] pour tester si votre site est accessible en http/2.  | 
| Si ça fonctionne, bravo, vous avez fini. | Si ça fonctionne, bravo, vous avez fini. | 
 |  | 
 |  | 
| Lancez les commandes suivantes uniquement si vous utilisez PHP :  | Lancez les commandes suivantes uniquement si vous utilisez PHP :  | 
|   * Installez php-fpm <code bash>sudo aptitude install php7.0-fpm</code> |   * Installez php-fpm et libapache2-mod-fcgid <code bash>sudo aptitude install php-fpm</code> | 
|   * Activez le module [[https://fr.wikipedia.org/wiki/FastCGI|Fastcgi]] nécessaire à php-fpm <code bash>sudo a2enmod proxy_fcgi setenvif</code>  |   * Activez le module [[https://fr.wikipedia.org/wiki/FastCGI|Fastcgi]] nécessaire à php-fpm <code bash>sudo a2enmod proxy_fcgi setenvif</code>  | 
|   * Activez php-fpm <code bash>sudo a2enconf php7.0-fpm</code>  |   * Activez php-fpm <code bash>sudo a2enconf php7.x-fpm</code>  | 
|   * Désactivez mod_phpe <code bash>sudo a2dismod php7.0</code> |   * Désactivez mod_php <code bash>sudo a2dismod php7.x</code> | 
 |  | 
| Désactivez mpm_prefork <code bash>sudo a2dismod mpm_prefork</code> | Désactivez mpm_prefork <code bash>sudo a2dismod mpm_prefork</code> |