web-dev-qa-db-fra.com

"erreurs dans les modèles de configuration" - comment résoudre les problèmes?

Mon Plesk indique "Erreur: les nouveaux fichiers de configuration du serveur Web Apache n'ont pas été créés en raison d'erreurs dans les modèles de configuration: Impossible de redémarrer le serveur Web :. recherche en ko "

L'extension "Webserver Configurations Troubleshooter" m'indique quels fichiers sont cassés, mais elle ne m'indique aucun détail.

Je remarque que le "Modèle Orig." Est un fichier php, par exemple. "server.php". Cela signifie que je peux m'attendre à ce qu'il y ait des fichiers journaux avec les erreurs php. Alors, où pourrais-je trouver ces journaux?

Remarques:

  • Le but de cette question n'est pas de comprendre mon problème spécifique, mais plutôt la question plus générale de comment résoudre ce type d'erreur, de sorte que la réponse puisse être utile à davantage de personnes.
  • D'habitude, j'évite les outils comme Plesk, et fais les choses manuellement avec la cli. Mais ce serveur a déjà tout configuré avec Plesk, donc maintenant je dois m'en occuper.

Détails

J'ajoute des extraits de /usr/local/psa/admin/logs/panel.log comme suggéré par Oleg Neumyvakin, ainsi que d'autres informations. Mais comme dit, ces informations ajoutées ne devraient pas rendre la question moins générique.

Situation actuelle

  • Le fait de modifier les configurations de vhosts de Plesk me donne le message "Erreur: les nouveaux fichiers de configuration du serveur Web Apache n'ont pas été créés en raison d'erreurs dans les modèles de configuration: Impossible de redémarrer le serveur Web:. Recherche en ko"
  • Le redémarrage d'Apache via cli, Sudo service Apache2 restart réussit, même s'il laisse des traces dans le fichier error.log d'Apache.
  • Après avoir redémarré Apache, le site Web (au moins l’un d’eux) est disponible, avec un certificat de travail encrypté!
  • À plusieurs reprises, sans intervention, Plesk tente de reconstruire les fichiers de configuration et me dit par courrier électronique que cela a échoué. Cela bloque également le site Web.

Message d'interface utilisateur

lors de la reconstruction d'un seul fichier répertorié dans modules/configurations-Troubleshooter/index.php/index/list

Error: Can not reconfigure web server configurations: Unable to execute httpdmng: [2016-11-27 14:59:50] ERR [util_exec] proc_close() failed ['/opt/psa/admin/bin/Apache_control_adapter' '--restart' '--restart-interval' '0' '--http-port' '80' '--https-port' '443'] with exit code [255] 
[2016-11-27 14:59:51] ERR [panel] Apache config (14802550620.55728000) generation failed: Template_Exception: Can not restart web server: 
file: /opt/psa/admin/plib/Service/Driver/Web/Server/Apache.php
line: 108
code: 0
Can not restart web server: 

De panel.log

/usr/local/psa/admin/logs/panel.log

Je vois ce qui suit être répété dans panel.log:

[2016-11-27 11:26:46] ERR [1] Can not restart web server: 
[2016-11-27 11:31:33] ERR [util_exec] proc_close() failed ['/opt/psa/admin/bin/Apache_control_adapter' '--restart' '--restart-interval' '0' '--http-port' '80' '--https-port' '443'] with exit code [255] 
[2016-11-27 11:31:33] ERR [1] '/opt/psa/admin/bin/Apache_control_adapter' '--restart' '--restart-interval' '0' '--http-port' '80' '--https-port' '443' failed with code 255.

stdout:


stderr:

[2016-11-27 11:31:34] ERR [panel] Apache config (14802425710.25667600) generation failed: Template_Exception: Can not restart web server: 
file: /opt/psa/admin/plib/Service/Driver/Web/Server/Apache.php
line: 108
code: 0
[2016-11-27 11:31:34] ERR [1] Can not restart web server: 

Apache.php n'est pas un vrai fichier php lisible. Ce pourrait être une archive phar ou autre chose.

Je reçois également ceci lorsque j'essaie de configurer des certificats SSL, principalement avec "Let's encrypt":

[2016-11-26 20:31:42] ERR [panel] Let's Encrypt SSL certificate installation failed: Failed letsencrypt execution: Saving debug log to /opt/psa/var/modules
/letsencrypt/logs/letsencrypt.log<br />
Obtaining a new certificate<br />
Performing the following challenges:<br />
http-01 challenge for SOME_DOMAIN<br />
http-01 challenge for www.SOME_DOMAIN<br />
filemng: Error occurred during /bin/mkdir command.<br />
Cleaning up challenges<br />
filemng: Error occurred during /bin/rm command.<br />
filemng: Error occurred during /bin/rm command.<br />
Command &#039;[&#039;/usr/local/psa/admin/bin/filemng&#039;, u&#039;SOME_USER&#039;, &#039;mkdir&#039;, &#039;-p&#039;, u&#039;/var/www/vhosts/SOME_DOMAIN/httpdocs/.well-known/acme-challenge&#039;]&#039; returned non-zero exit status 1<br />
IMPORTANT NOTES:<br />
 - If you lose your account credentials, you can recover through<br />
   e-mails sent to SOME_EMAIL.<br />
 - Your account credentials have been saved in your Certbot<br />
   configuration directory at /opt/psa/var/modules/letsencrypt/etc.<br />
   You should make a secure backup of this folder now. This<br />
   configuration directory will also contain certificates and private<br />
   keys obtained by Certbot so making regular backups of this folder<br />
   is ideal.

courriels

Je reçois des courriels disant ceci (et rien d'autre):

Unable to generate the web server configuration file on the Host <ONE_OF_MY_DOMAINS> because of the following errors:

Template_Exception: Can not restart web server:
file: /opt/psa/admin/plib/Service/Driver/Web/Server/Apache.php
line: 108
code: 0

Please resolve the errors in web server configuration templates and generate the file again.

Plusieurs domaines et hôtes hôtes sont configurés, et un seul d'entre eux génère ces courriels.

extension de dépannage

J'ai installé l'extension "Webserver Configurations Troubleshooter" dans l'espoir qu'elle me donne plus d'informations. Pourtant, tout ce qu’il fait, c’est me parler des fichiers de configuration Apache qui sont marqués en rouge avec "Impossible de redémarrer le serveur Web". Cela ne me dit pas pourquoi cela se produit.

déboguer la sortie.

Après avoir activé les paramètres de débogage dans /usr/local/psa/admin/conf/panel.ini comme suggéré par Oleg Neumyvakin, je reçois une longue sortie de débogage lors de la reconstruction d'un fichier de configuration:

Il contient cette trace de pile:

[2016-11-28 08:09:57] DEBUG [panel] Template_Exception: Can not restart web server: 
file: /opt/psa/admin/plib/Service/Driver/Web/Server/Apache.php
line: 108
code: 0
trace: #0 /opt/psa/admin/plib/Template/Writer/Webserver/Abstract.php(87): Service_Driver_Web_Server_Apache->restart(boolean true)
#1 /opt/psa/admin/plib/Template/Configuration/Applier.php(209): Template_Writer_Webserver_Abstract->restart(boolean true)
#2 /opt/psa/admin/plib/Template/Configuration/Applier.php(109): Template_Configuration_Applier->_applyConfigurationsToServiceNode(integer '1', array)
#3 /opt/psa/admin/plib/WebServerManager/Adapter/Apache.php(66): Template_Configuration_Applier->applyConfiguration(boolean true)
#4 /opt/psa/admin/plib/WebServerManager/Adapter/Apache.php(350): WebServerManager_Adapter_Apache->sync()
#5 /opt/psa/admin/plib/Service/Driver/Web/Vhost/Apache.php(335): WebServerManager_Adapter_Apache->reconfVhost(string 'SOME_DOMAIN', boolean true, boolean true)
#6 /opt/psa/admin/plib/api-common/Httpdmng.php(271): Service_Driver_Web_Vhost_Apache->updateWebServerConfiguration(string 'SOME_DOMAIN', boolean true)
#7 /opt/psa/admin/plib/api-common/Httpdmng.php(101): Httpdmng->_reconfigureDomains(array)
#8 /opt/psa/admin/sbin/httpdmng(13): Httpdmng->__construct()

Il contient également le contenu du fichier conf, que je ne publierai pas ici.

Apache error.log

Le /var/log/Apache2/error.log a quelques avis intéressants. Cependant, il ne s'agit que de le redémarrer manuellement, et cela n'a pas empêché Apache d'être redémarré manuellement via cli.

Quelques extraits:

[Sun Nov 27 13:36:30.312672 2016] [unique_id:alert] [pid 10383] (EAI 2)Name or service not known: AH01564: unable to find IPv4 address of "rs2****5"

[Sun Nov 27 13:36:30.312995 2016] [unique_id:alert] [pid 10383] AH01565: using low-order bits of IPv6 address as if they were unique

[Sun Nov 27 13:36:32.003989 2016] [ssl:warn] [pid 10384] AH01909: webmail.SOME_DOMAIN:443:0 server certificate does NOT include an ID which matches the server name

Version de Plesk

Ubuntu 14.04.3 LTS‬
Plesk Onyx 17.0.17 Update #7 , last updated at Nov 27, 2016 12:13 AM
Apache
PHP 5.5.9-1ubuntu4.20

Les étapes qui pourraient avoir causé cela.

Peut-être l'une des étapes ci-dessous est-elle "tu n'aurais pas dû faire ça, pas étonnant que ce soit cassé". Mais même si c'est le cas, le sujet principal devrait être un chemin de diagnostic générique, qui sera utile à d'autres personnes pouvant avoir des problèmes différents.

Voici donc ce que j'ai fait ou ce dont je me souviens: - J'ai d'abord essayé d'installer des certificats de letencrypt via la ligne de commande, sans tenir compte de Plesk.

  • J'ai ensuite réalisé que je devais le faire via Plesk car je ne voulais pas me mêler des fichiers de configuration Apache générés par Plesk.

  • J'ai dû mettre à niveau Plesk pour le rendre compatible avec l'extension "Encryptons-nous".

  • J'ai activé le cryptage let pour certains hôtes virtuels et manipulé des certificats ici et là.

  • J'ai également désactivé et réactivé un vhost via l'interface utilisateur de Plesk pour voir si cela changerait quelque chose. Il n'a pas.

2
donquixote

Les erreurs doivent être consignées dans /usr/local/psa/admin/logs/panel.log

Mais la plupart du temps, il est difficile d’obtenir un problème réel à partir d’un message d’erreur.

L'activation du débogage dans /usr/local/psa/admin/conf/panel.ini fournit le contenu des configurations temporaires générées afin que vous puissiez les inspecter:

[debug]   
enabled = on

[log]
filter.priority = 7
show.util_exec = on
show.util_exec_io = on

N'oubliez pas de redémarrer le service sw-engine tel que: # service sw-engine restart

C'est possible:

  • directives erronées dans les "Paramètres Apache & nginx" du domaine
  • selinux, vous pouvez le désactiver pour le test avec la commande: # setenforce 0
  • adresses IP manquées, vérifiez Tools&Settings> IP addresses> Reread
  • problèmes de serveur Web, vérifiez les journaux d’erreur Apache et nginx
  • incohérence dans la base de données Plesk, recherchez # plesk db repair
2
Oleg Neumyvakin