Probleme downgrade apache2

Bonjour,
je suis sur Debian 8 jessie et je voulais activer le support de HTTP/2 sur mon site web. j’ai donc suivi le tutoriel suivant : https://www.aktarma.fr/blog/article/installer-http-2-sur-debian-jessie
tout c’est bien déroulé si ce n’est que dans mon cas c’est la version 2.4.29 d’apache qui s’est installée, et que depuis la 2.4.27 HTTP/2 ne fonctionne pas si on utilise MPM Prefork :tired_face:
En cherchant sur internet je vois qu’il suffit de changer de MPM et d’utiliser par exemple apache2-mpm-worker
Mais mon souci c’est que lorsque je fais un

apt-get install apache2-mpm-worker

j’ai le message suivant :

Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
Certains paquets ne peuvent être installés. Ceci peut signifier
que vous avez demandé l’impossible, ou bien, si vous utilisez
la distribution unstable, que certains paquets n’ont pas encore
été créés ou ne sont pas sortis d’Incoming.
L’information suivante devrait vous aider à résoudre la situation :

Les paquets suivants contiennent des dépendances non satisfaites :
apache2-mpm-worker : Dépend: apache2 (= 2.4.10-10+deb8u11) mais 2.4.29-1 devra être installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l’état ».

j’ai essayé de supprimer le dépot testing créé dans le tutorial, refait un apt-get update et forcé la reinstallation d’apache 2.4.10 avec un :

apt-get install --reinstall apache2

mais ca ne marche pas non plus, je ne peux ni avancer ni reculer…

Lecture des listes de paquets… Fait
Construction de l’arbre des dépendances
Lecture des informations d’état… Fait
La réinstallation de apache2 est impossible, il ne peut pas être téléchargé.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

j’aimerai éviter de casser toute mon installation qui fonctionne super bien…
un apt-get remove apache va supprimer plein de paquets qu’il va falloir remettre et reconfigurer (certbot pour letsencrypt etc…), y a t’il moyen de remettre tout d’aplomb sans tout avoir a reconfigurer ?

Merci pour votre aide.

Quand tu désinstalles des paquets, les configs que tu as faites restent en place, et sont réutilisées quand tu réinstalles les paquets. Normalement.
Par précaution, tu peux faire un backup de /etc pour aller y repiocher des fichiers de config qui pourraient se faire écraser lors d’une réinstall, mais a priori, tu n’en auras pas besoin.

Sinon, si jamais tu veux “nettoyer” complétement un paquet avec toute sa config, il faut utiliser une option purge de l’outil apt que tu utilises.

Tu peux donc théoriquement laisser les paquets se désinstaller pour x y raison, et les réinstaller ensuite en retrouvant leurs réglages.

Mais là, j’ai l’impression que tu as quand même un cafouillage dans ton sources.list, c’est bizarre cette impossibilité d’install.
que dit apt-cache policy apache2 apache2-mpm-worker

Nan, ben en fait, j’ai regardé le mien, c’est pareil, et c’est pas une mauvaise config de source.list.
En fait tu as pour une raison inconnue une version de apache2 plus avancée que celle de jessie, il faut forcer le downgrade, je crois que tu dois pouvoir passer avec ça:
aptitude install apache2=2.4.10-10+deb8u11 apache2-mpm-worker

root@jallatte:~# apt-cache policy apache2 apache2-mpm-worker
apache2:
Installé : 2.4.29-1
Candidat : 2.4.29-1
Table de version :
*** 2.4.29-1 0
100 /var/lib/dpkg/status
2.4.10-10+deb8u11 0
500 xxx://debian.mirrors.ovh.net/debian/ jessie/main amd64 Packages
500 xxx://security.debian.org/ jessie/updates/main amd64 Packages
apache2-mpm-worker:
Installé : (aucun)
Candidat : 2.4.10-10+deb8u11
Table de version :
2.4.10-10+deb8u11 0
500 xxx://debian.mirrors.ovh.net/debian/ jessie/main amd64 Packages
500 xxx://security.debian.org/ jessie/updates/main amd64 Packages
root@jallatte:~#

j’ai remplacé les “http” par des “xxx” sinon le forum m’empeche de poster :slight_smile:

ben c’est pas une raison inconnue, c’est le but du tutoriel, de passer sur une version d’apache qui supporte HTTP/2
mais je crois que depuis que ce tutoriel a été posté les choses ont évolué, et “testing” n’est plus “stretch” mais “duster” et ca m’a fait installer apache 2.4.29 au lieu de 2.4.25 qui lui marche avec MPM prefork.

je sens que ca va tout me peter et après ca va être la galère…

aptitude install apache2=2.4.10-10+deb8u11 apache2-mpm-worker
Les paquets suivants vont être RÉINSTALLÉS à une VERSION ANTÉRIEURE :
apache2{b}
Les NOUVEAUX paquets suivants vont être installés :
apache2-mpm-worker
Les paquets suivants seront ENLEVÉS :
apache2-data{u}
0 paquets mis à jour, 1 nouvellement installés, 1 remis à une version antérieure, 1 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 209 ko d’archives. Après dépaquetage, 1 119 ko seront libérés.
Les paquets suivants ont des dépendances non satisfaites :
apache2 : Dépend: apache2-bin (= 2.4.10-10+deb8u11) mais 2.4.29-1 est installé.
Dépend: apache2-data (= 2.4.10-10+deb8u11) mais il ne sera pas installé.
Les actions suivantes permettront de résoudre ces dépendances :

 Supprimer les paquets suivants :
  1. apache2
    
  2. libapache2-mod-php5
    
  3. php5
    
  4. phpmyadmin
    
  5. python-certbot-apache
    
 Conserver les paquets suivants dans leur version actuelle :
  1. apache2-mpm-worker [Non installé]
    
 Laisser les dépendances suivantes non satisfaites :
  1. phpmyadmin recommande apache2 | lighttpd | httpd
    

Accepter cette solution ? [Y/n/q/?]

j’ai pas envie que ça me désinstalle tout ca, j’en ai besoin… :disappointed_relieved:

avec cette commande le message en retour me semble beaucoup plus sympathique :

aptitude install apache2=2.4.10-10+deb8u11 apache2-bin=2.4.10-10+deb8u11 apache2-data=2.4.10-10+deb8u11
Les paquets suivants vont être RÉINSTALLÉS à une VERSION ANTÉRIEURE :
apache2 apache2-bin apache2-data
Les paquets suivants seront ENLEVÉS :
liblua5.2-0{u}
0 paquets mis à jour, 0 nouvellement installés, 3 remis à une version antérieure, 1 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 1 408 ko d’archives. Après dépaquetage, 1 330 ko seront libérés.
Voulez-vous continuer ? [Y/n/?]

J’ai exécuté la commande, et grace à toi je me retrouve maintenant au point de départ en 2.4.10, sans avoir rien perdu et sans galère ! Merci a toi, grace a ta commande j’ai pu déduire ce qu’il fallait faire :grinning:

Par contre maintenant il me faut trouver comment activer ce HTTP/2 …

si je fais un apt-get install apache2-mpm-worker est-ce que PHP va toujours marcher ou il faut reconfigurer ? dur dur de trouver des tutoriaux récents…

Bon, je viens de réussir a passer mon site en MPM_WORKER avec les commandes suivantes.

apt-get install libapache2-mod-fastcgi php5-fpm
a2enmod actions
a2dismod php5
a2dismod mpm_prefork
a2enmod mpm_worker
systemctl restart apache2

et j’ai configuré /etc/apache2/mods-enabled/fastcgi.conf comme préconisé ici :

Donc je suis passé sans souci de MPM_PREFORK à MPM_WORKER :grinning:

Ensuite il suffit de suivre le tutoriel ici : https://www.aktarma.fr/blog/article/installer-http-2-sur-debian-jessie pour activer le HTTP/2
a noter qu’à la fin du tutoriel la commande service apache2 reload me mettait une erreur et apache ne voulait pas redemarrer…mais en faisant un /etc/init.d/apache2 restart apache fonctionne correctement

Comme tu as pu constater, c’est robuste au niveau des configs:
mon serveur domestique doit dater de la sarge, il a subi quelques migrations, et ça m’est arrivé plus d’une fois lors de “dist-upgrade” d’obtenir un tel salmigondi de dépendances que la seule solution était de désinstaller les 3/4 du systéme.
Ca a parfois été long et fastidieux de tout réinstaller sans rien oublier*, mais je n’ai jamais perdu mes configs au passage.

[edit: le pire quand même, c’est quand parfois, tu supprimes un peu trop sans faire attention. Je me suis retrouvé sans apt une fois, et redéployer les binaires d’apt en les extrayant des paquets pour réinstaller apt avec apt, c’est pas super.]

Ok, ben merci encore :slight_smile:

par contre j’ai un effet collatéral embêtant au final, le passage sur Apache 2.4.29 me fait perdre le support du cryptage 3DES qui a visiblement été supprimé dans les versions de Debian > Jessie, et donc on échoue aux test “compliance with HIPAA et NIST” sur https://www.htbridge.com/ssl/
Alors qu’avec la 2.4.10 mon site était conforme aux 3 tests PCI DSS + HIPAA + NIST :sleepy:

Donc le passage en 2.4.29 apporte le HTTP/2 mais fait perdre

Pourquoi ne pas te tourner vers un serveur web moderne, y a t’il une obligation à demeuré sur Apache ?

Par exemple :

Apache me semble beaucoup plus simple a configurer, nginx me fait un peu plus “peur”…

Je ne pense pas que ce soit trés différent en complexité.
C’est juste que quand on a des habitudes d’écritures de htaccess, c’est toute une syntaxe à réapprendre, mais je n’ai pas le choix, perso: j’ai de plus en plus de clients en nginx, faut que je m’y fasse.