Debian buster : commandes apache a2enmod, a2ensite introuvable

Tags: #<Tag:0x00007f78b8eeb140> #<Tag:0x00007f78b8eeae20>

Bonjour,
sur ma debian buster, je n’ai plus les commandes d’apaches a2enmod, a2ensite, etc.

 root@faus:/etc/apache2# a2enmod
 bash: a2enmod : commande introuvable

Je pense avoir les paquets nécessaires pourtant :

 root@faus:/etc/apache2# aptitude search '^apache'
 v   apache-tools                                                                           -                                                                                                  
 i A apache2                                                                                - Serveur HTTP Apache                                                                              
 v   apache2-api-20120211                                                                   -                                                                                                  
 v   apache2-api-20120211-openssl1.1                                                        -                                                                                                  
 i A apache2-bin                                                                            - Serveur HTTP Apache (modules et autres fichers binaires)                                        
 i A apache2-data                                                                           - Serveur HTTP Apache - fichiers communs                                                           
 p   apache2-dev                                                                            - serveur HTTP Apache − en-têtes de développement                                                  
 i A apache2-doc                                                                            - Serveur HTTP Apache - documentation hors-ligne                                                   
 p   apache2-ssl-dev                                                                        - serveur HTTP Apache – en-têtes de développement mod_ssl                                          
 v   apache2-suexec                                                                         -                                                                                                  
 p   apache2-suexec-custom                                                                  - programme configurable suexec pour mod_suexec du serveur HTTP Apache                             
 p   apache2-suexec-pristine                                                                - programme suexec standard pour mod_suexec du serveur HTTP Apache                                 
 i A apache2-utils                                                                          - Serveur HTTP Apache - utilitaires pour serveurs web                                              
 p   apachedex                                                                              - calcul d'APDEX à partir de journaux dans le style d'Apache                                       
 p   apacheds                                                                               - serveur d’annuaire d’Apache Directory                                                            
 p   apachetop                                                                              - Outil de surveillance de Apache en temps réel                                                    

D’après mes recherches, ces commandes seraient dans apache2-utils, qui est installé.

Quelqu’un a-t-il une idée ?

Bonjour @nico

essaie :

which a2enmod

Pour le localiser.

Mais ma réponse n’est pas bonne ;
Si a2enmod est dans le PATH de root, il aurait été exécuté.

Après recherche,

(...)
/usr/sbin/a2disconf
/usr/sbin/a2dismod
/usr/sbin/a2dissite
/usr/sbin/a2enconf
/usr/sbin/a2enmod
/usr/sbin/a2ensite
/usr/sbin/a2query
/usr/sbin/apache2ctl
/usr/sbin/apachectl
(...)

Sont dans le paquet apache2
https://packages.debian.org/search?searchon=contents&keywords=a2enmod&mode=exactfilename&suite=testing&arch=amd64

Bonjour,

Au lieu d’un aptitude, peut-on avoir le retour de la commande suivante stp:

dpkg -l | grep apache2

Et pourquoi pas celle-ci aussi stp:

apt policy apache2

Merci pour la rapidité du retour, voici la réponse des commandes :

root@faus:/etc/apache2# dpkg -l | grep apache2
ii  apache2                               2.4.38-3                             amd64        Apache HTTP Server
ii  apache2-bin                           2.4.38-3                             amd64        Apache HTTP Server (modules and other binary files)
ii  apache2-data                          2.4.38-3                             all          Apache HTTP Server (common files)
ii  apache2-doc                           2.4.38-3                             all          Apache HTTP Server (on-site documentation)
ii  apache2-utils                         2.4.38-3                             amd64        Apache HTTP Server (utility programs for web servers)
ii  libapache2-mod-php7.3                 7.3.4-2                              amd64        server-side, HTML-embedded scripting language (Apache 2 module)
root@faus:/etc/apache2# apt policy apache2
apache2:
  Installé : 2.4.38-3
  Candidat : 2.4.38-3
 Table de version :
 *** 2.4.38-3 500
        500 http://debian.polytech-lille.fr/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status

Est-ce que cette commande renvoie quelque chose ?

which a2enmod

Si oui, essaye de lancer directement ceci :

/usr/sbin/a2enmod

la commande ne renvoie rien…

Alors, en root

updatedb

et puis

locate a2enmod 

root@n40l:~# apt-get install apache2
root@n40l:~# updatedb
root@n40l:~# locate a2enmod 
/usr/sbin/a2enmod
/usr/share/bash-completion/completions/a2enmod
/usr/share/man/man8/a2enmod.8.gz
root@n40l:~# 
faus:/home/nmouret# locate a2enmod
/usr/sbin/a2enmod
/usr/share/bash-completion/completions/a2enmod
/usr/share/man/man8/a2enmod.8.gz

À vrai dire, je ne m’y attendais pas, le /usr/sbin n’était pas dans le PATH du compte root…!

faus:/home/nmouret# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
faus:/home/nmouret# export PATH=/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
faus:/home/nmouret# which a2enmod
/usr/sbin/a2enmod

Cela devrait résoudre pas mal de chose.

Bonjour nico

Sans doute parce que tu avais utilisé la commande su pour passer sous le compte root
sans spécifier d’option permettant d’utiliser l’environnement de ce compte utilisateur.

Un extrait de la page man concernant la commande su :

…
       -, -l, --login
           Fournir à l'utilisateur un environnement similaire à celui qu'il
           aurait obtenu s'il s'était connecté directement.
…

Pour que les variables d’environnement (dont le PATH)
du compte utilisateur sous lequel tu veux passer soient prises en compte,
il te faudrait simplement ajouter un tiret à la suite de la commande su
comme ci-dessous :

su -
2 J'aime

Ce qui m’interpelait, c’est que je n’avais pas eu ce problème sur les versions précédentes de debian pour les mêmes manip… Pour maintenant, je sais. Encore merci.