Récemment, nous avons rencontré l'erreur ci-dessous en essayant d'installer la version gratuite de MagicSpam via l'interface plesk et avons été installés via la ligne de commande en utilisant le rpm de la section de téléchargement plesk. Étant donné que la section de téléchargement de plesk avait une version trop ancienne et que plesk affichait une option de mise à niveau et que la version gratuite ne fonctionnait pas (que j'ai installée à partir du rpm disponible sur plesk)
L'erreur lors de la tentative d'installation/de mise à niveau à partir de l'interface Plesk est la suivante
Failed Installation of extension has failed Execution of /usr/local/psa/tmp/modulehfmXQh/plib/scripts/pre-install.php failed with exit code 1 and the output: Failed to find operating system package manager rpm or dpkg. Contact [email protected] with full details of your installation for assistance.
L'installation normale de rpm et l'installation de yum fonctionnaient correctement.
Après de nombreuses recherches, nous avons résolu ce problème et le correctif était ci-dessous. Que ce qui suit puisse aider certains d'entre vous.
Étant donné que l'erreur était liée à la commande rpm et qu'il s'agissait d'un serveur centos, nous avons donc vérifié l'autorisation de /bin/rpm avec celle d'un autre serveur qui fonctionnait et avons appris que l'autorisation de /bin/rpm était de 755 dans le l'autre et 700 sous celui qui ne travaille pas. J'ai changé la même chose en 755 et l'installation a fonctionné sans aucun problème.
La véritable cause de ce problème est l'installation de LES qui modifiera les autorisations de certains binaires
From the installation log, I can see LES is changing permission of the binaries listed below to 700 server les(5972): {sec.bin} chmod 700 /bin/dmesg server les(5972): {sec.bin} chmod 700 /bin/mount server les(5972): {sec.bin} chmod 700 /bin/rpm server les(5972): {sec.bin} chmod 700 /usr/bin/write server les(5972): {sec.bin} chmod 700 /bin/logger server les(5972): {sec.bin} chmod 700 /usr/bin/ipcrm server les(5972): {sec.bin} chmod 700 /usr/bin/ipcs server les(5972): {sec.bin} chmod 700 /usr/bin/free server les(5972): {sec.bin} chmod 700 /usr/bin/locate server les(5972): {sec.bin} chmod 700 /usr/bin/wall server les(5972): {sec.bin} chmod 700 /sbin/arp server les(5972): {sec.bin} chmod 700 /sbin/ifconfig server les(5972): {sec.bin} chmod 700 /usr/sbin/repquota server les(5972): {sec.bin} chmod 700 /usr/sbin/tcpdump server les(5972): {sec.bin} chmod 700 /usr/bin/wget server les(5972): {sec.bin} chmod 700 /usr/bin/lynx server les(5972): {sec.bin} chmod 700 /usr/bin/cc server les(5972): {sec.bin} chmod 700 /usr/bin/gcc server les(5972): {sec.bin} chmod 700 /usr/bin/logger server les(5972): {sec.bin} chmod 700 /usr/bin/who server les(5972): {sec.bin} chmod 700 /usr/bin/w server les(5972): {glob} sec.bin enabled
Donc, ceux qui ont installé LES, assurez-vous de fixer les autorisations de celui qui est nécessaire et en particulier pour rpm et wget, vous devrez peut-être changer les autorisations en 755.
Pour vérifier l'autorisation, vous pouvez utiliser la commande ci-dessous
# which rpm # ls -l "which rpm"
Une fois cela fait, vérifiez si l'autorisation est 755. Vous pouvez définir l'autorisation 755 à l'aide de la commande suivante.
# chmod 755 "which rpm"
J'espère que cela vous aidera