[Framaforms] problème installation

Effectivement une coquille qui venait du markdown, c’est corrigé !

Cool d’avoir un retour d’expérience dessus. Effectivement ça ne devrait pas causer de problème (et je ne pense pas que tes erreurs soient dûes à Apache).

Tes problèmes ne m’ont pas l’air d’être dus à des modules PHP manquants. Tu peux essayer de les installer au cas où mais à mon avis c’est Drupal qui déconne.

Comme @emilie je pense que c’est effectivement cette erreur qui bloque :

[Tue Mar 24 17:53:32.957726 2020] [core:error] [pid 853] (13)Permission denied: [client 10.0.2.2:57832] AH00035: access to /sites/default/files/Framasoft_Logo.svg.png denied (filesystem path /var/www/html/sites/default/files/Framasoft_Logo.svg.png) because search permissions are missing on a component of the path, referer: http://localhost:8890

Est-ce que tu peux confirmer :

  • que le dossier sites/default/files existe et qu’il contient bien des images gif et png ?
  • qu’il a les autorisation en read/write ? quitte à le changer par la suite par sécurité, tente de faire un chmod 777 dessus, histoire de voir.
  • dans le doute, je ferais aussi un chown -R www-data:www-data sur tout ton dossier framaforms et framaforms_private, si tu as copié des choses depuis qui appartenaient à un user différent.
  • que le fichier sites/default/settings.php a bien les autorisation d’exécution

C’est bien /var/www/framaforms_private, pas très flexible du coup, ça pourrait être une idée de rajouter une étape de configuration de ce chemin dans l’installation.

Je reconfirme que ça n’a pas eu d’incidence de mon côté, plus précisément :

  • j’ai créé la BDD avec l’utilisateur postgres, avec la commande sudo -u postgres createdb framaforms (penser à faire un sudo -u postgres dropdb framaforms si ce n’est pas le premier essai)
  • je me connecte à la BDD avec sudo -u postgres psql
  • je donne les bons droits à l’utilisateur framaforms_user que va utiliser Framaforms : GRANT ALL ON DATABASE framaforms TO USER framaforms_user;

Tant que j’ai bien indiqué les bons noms de BDD et d’utilisateur Postgres dans le settings.php ça marche.

+1 pour tenter de vider le cache, Drupal est tellement une usine à gaz que ça aide souvent.

Globalement, j’ai vu que @Aym avait vu les modifs faites sur le README et le wiki, mais pour @emilie et @ThierryM je vous invite à aller voir, ça peut être plus clair maintenant.

Salut

Vu. En fait, je trouve qu’il reste un problème, Si tu fais git clone https://framagit.org/framasoft/framaforms.git depuis /var/www/ ça va te créer un sous-dossier framasoft. Tu ne peux donc pas faire chown -R www-data:www-data sites/default/files juste après. Soit tu cd dans le dossier framasoft, soit tu fais chown -R www-data:www-data framasoft/sites/default/files. Il faut alors adapter en conséquence plus bas (cd .. seulement si tu as cd framasoft avant).

Oui je l’ai fait par précaution depuis longtemps, ça n’a pas aidé.

Je n’ai plus cette erreur. Je pensais que c’était suite au changement de droits sur sites/default/files en 755, mais maintenant, même avec 600 je n’ai plus cette erreur.

Oui c’est bon

J’ai essayé avec 777, même résultat.

Essayé aussi, même résultat

Essayé aussi, même résultat

J’ai essayé avec tout ça en même temps, même résultat.

Je faisais pas ça, mais d’un autre côté, j’importe le dump avec le user framaforms_user, donc je devrais pas avoir besoin.
J’ai essayé qd même dans le doute, mais ça n’a pas changé le résultat.
D’ailleurs, pour ceux qui lirons plus tard. la bonne syntaxe est GRANT ALL ON DATABASE framaforms TO framaforms_user; (sans le USER).

J’ai essayé ça aussi, même résultat.
J’ai même essayé en navigation privée, rien à faire.

Je n’ai plus les messages Le fichier n'a pas pu être créé. dans la page web, même en la rechargant. Je sais pas dire pourquoi.

Enfin, pour info, je déploie tout ça dans un conteneur Docker dont je créé l’image à partir d’un Dockerfile que j’ai fait (je pourrais envoyer le Dockerfile quand ça fonctionnera). Donc pour chaque test, je supprime le conteneur et je l’instancie de nouveau pour être sûr d’avoir un truc propre.
J’ai essayé de déployer dans une VM aussi pour être sûr que c’était pas une question de volumes non montés ou de droits dans le conteneur. Pas mieux.

@Aym : et donc ça ne marche toujours pas mais tu n’as plus le message « le fichier n’a pas pu être créé », tu as quoi dans les logs ? Toujours pareil ?

Attention au chmod 777 pour tester, de souvenir sur Apache ça met le site en erreur 500 (je sais pas pour nginx par contre)

J’ai joué un peu avec les permissions sur settings.php, sur framaforms_private, et sur sites/default/files.

  • Avec la conf du wiki:

    • 664 sur settings.php (ce sont les permissions qui sont sur default.settings.php lorsqu’on clone le projet, et je fais un cp -p pour garder les même permissions)
    • 200 sur framaforms_private
    • 600 sur sites/default/files

    j’ai la page de mon message précdent (je suis nouveau, je peux mettre qu’une image par message :sob:)
    Je n’ai plus d’erreur Le fichier n'a pas pu être créé. sur la page web, et je n’ai plus l’erreur ci-dessous dans le log error.log d’Apache

    [Tue Mar 24 17:53:32.957726 2020] [core:error] [pid 853] (13)Permission denied: [client 10.0.2.2:57832] AH00035: access to /sites/default/files/Framasoft_Logo.svg.png denied (filesystem path /var/www/html/sites/default/files/Framasoft_Logo.svg.png) because search permissions are missing on a component of the path, referer: http://localhost:8890
    

    Je ne sais pas expliquer pourquoi je n’ai plus ces 2 erreurs alors que c’est ce que j’utilisais les derniers jours.
    J’ai encore les erreurs

    [Wed Mar 25 17:27:42.898339 2020] [:error] [pid 28] [client 172.17.0.1:55110] PHP Notice:  Undefined index: schema_fields_sql in /var/www/html/includes/entity.inc on line 298, referer: http://localhost:8888/
    [Wed Mar 25 17:27:42.916761 2020] [:error] [pid 28] [client 172.17.0.1:55110] PHP Notice:  Undefined index: schema_fields_sql in /var/www/html/sites/all/modules/rules/includes/rules.core.inc on line 56, referer: http://localhost:8888/
    

    Et surtout j’ai des 500 dans le access.log

    172.17.0.1 - - [25/Mar/2020:17:56:39 +0000] "GET / HTTP/1.1" 500 3181 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    172.17.0.1 - - [25/Mar/2020:17:56:39 +0000] "GET / HTTP/1.1" 500 3181 "http://localhost:8888/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    
  • En modifiant les permissions ainsi

    • 644 sur settings.php
    • 300 sur framaforms_private
    • 700 sur sites/default/files (non récursif)

    j’ai le résultat suivant


    On a toujours une erreur, mais maintenant on a du style :sunglasses:
    Si je ne change pas les permissions à la fois sur framaforms_private et sur sites/default/files, alors je n’obtiens pas ce style.
    Au passage, j’ai enfin des fichiers qui apparaissent dans framaforms_private, alors que ça n’était pas le cas avant.
    Il me reste les erreurs suivantes dans error.log

    [Wed Mar 25 17:45:13.581133 2020] [:error] [pid 29] [client 172.17.0.1:55116] PHP Notice:  Undefined index: schema_fields_sql in /var/www/html/includes/entity.inc on line 298
    [Wed Mar 25 17:45:13.600098 2020] [:error] [pid 29] [client 172.17.0.1:55116] PHP Notice:  Undefined index: schema_fields_sql in /var/www/html/sites/all/modules/rules/includes/rules.core.inc on line 56
    

    Dans le access.log, j’ai encore un 500, mais maintenant j’ai des 200 pour certaines requêtes

    172.17.0.1 - - [25/Mar/2020:17:59:32 +0000] "GET / HTTP/1.1" 500 3766 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    172.17.0.1 - - [25/Mar/2020:17:59:32 +0000] "GET /sites/default/files/js/js_q3CMP21-7KHiTMuakzJZKMRjHn2-4upreXrO9or0L5Q.js HTTP/1.1" 200 3087 "http://localhost:8888/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    172.17.0.1 - - [25/Mar/2020:17:59:32 +0000] "GET /sites/default/files/css/css_DkF9LfX2sqAIR5wPcMd1Gy64F9aF9sFIkeQZ5cxi9QQ.css HTTP/1.1" 200 709 "http://localhost:8888/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    172.17.0.1 - - [25/Mar/2020:17:59:32 +0000] "GET /sites/default/files/css/css_Ze5kZz5XCEkzR3u4B5AqOrbFtD_Xnaan4LGdokq2ops.css HTTP/1.1" 200 8202 "http://localhost:8888/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    172.17.0.1 - - [25/Mar/2020:17:59:32 +0000] "GET /sites/default/files/js/js_EebRuRXFlkaf356V0T2K_8cnUVfCKesNTxdvvPSEhCM.js HTTP/1.1" 200 41835 "http://localhost:8888/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    172.17.0.1 - - [25/Mar/2020:17:59:32 +0000] "GET /sites/default/files/css/css_2THG1eGiBIizsWFeexsNe1iDifJ00QRS9uSd03rY9co.css HTTP/1.1" 200 616 "http://localhost:8888/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36"
    

    Il reste donc quelque chose auquel le serveur n’arrive pas à accéder

  • J’ai bien sur essayé avec 777 sur settings.php, framaforms_private et sites/default/files (777 « recursive »), et j’obtiens le même résultat qu’au dessus

On est pas loin du compte ! C’est une page d’erreur de Drupal avec le style Framaforms appliqué dessus apparemment, il doit pas manquer grand chose ^^
(Je sais pas si ça marchera ici vu que t’as déjà essayé de vider les caches, mais dans certains cas j’arrive à me débarrasser d’une page d’erreur comme ça en vidant les cache + recharger la page (qui m’affiche encore une erreur) + drush ws pour afficher les logs, ce qui doit rebuild les caches de Drupal au passage => en rechargeant la page une deuxième fois, plus d’erreur ¯_(ツ)_/¯ magie Drupal)

Pour pas récursif ? Drupal doit pouvoir a minima lire et écrire dans sites/default/files/forms pour les fichiers que l’utilisateur upload.

Pour identifier où tu en es de ton installation, tu peux aller voir les logs dans la table watchdog de Postgres, il devrait y avoir du monde dedans.
Par la suite si tu as besoin de logger quelque chose au sein d’un code PHP de Drupal, tu as juste à appeler watchdog('montopic', 'monmessage');.

https://framapic.org ^^

Adieu a totes,
Dans mon installation, je n’ai pas le dossier « forms » :


Est-ce que cela viendrait de là ?

@ThierryM je ne pense pas que ça vienne de là, Fforms ne va se servir de ce dossier que si un utilisateur attache un fichier à un formulaire => pas souvent. C’est normal que tu ne l’ai pas, il est ignoré par le .gitignore.
Il y a aussi des images à lire dans sites/default/imgforms mais le site ne crasherai pas pour ça, et dans ton cas ça a l’air bon.

Salut,

après un peu de lecture, je me suis rendu compte que Drupal 7 recommande php7.1 minimum. J’étais sur php7.0 (paquet dispo sur debian 9).
Framaforms est bien sur Drupal 7?
Je suis donc passé sur une debian 10, qui propose php7.3 et postgresql 11. Je suis passé sur Nginx parce que c’est ce qui est recommandé dans le wiki (je retenterai Apache si j’arrive à faire fonctionner Framaforms).
Le résultat reste le même. Même erreur avec le style Framaforms dans la page web, même erreurs dans les logs Nginx.

J’ai essayé 700 récursif aussi puis 775 récursif. Même résultat.
Je cherchais à augmenter les autorisations le moins possible au départ.
Je supprime le cache Drupal avant chaque essai.

Je confirme, il y a du monde, mais c’est illisible car encodé.

Je vais regarder du côté de drush, @thelem l’a recommandé, et c’est le 1er truc qui sort sur les forums dès qu’on a un souci avec Drupal.

Oui, on est sur Drupal 7.69 actuellement. Je viens de voir ceci, apparemment il faudrait carrément passer à PHP 7.2 ou 7.3. Par contre je peux te confirmer que j’ai réussi à le faire fonctionner avec PHP 7.0… :confused:

Pour les logs courants Drupal c’est clair que ça aide pas beaucoup ^^ après au début de mon instal les erreurs Postgres avaient tendance à apparaître dedans en clair typiquement.

Une idée me vient : tu pourrais essayer de requêter d’autres pages que la home page Framaforms ? notamment :

  • <monsite.ex>/user/login
  • <monsite.ex>/admin
  • <monsite.ex>/admin/reports/dblog

Voir si ça donne quelque chose.

Salut,

Oui je suis bien sur php 7.3 maintenant.

Il y a un seul message en clair qui apparait plusieurs fois:

Starting framaforms_expired table creation.

J’ai une erreur 404 Not Found sur ces 3 pages.

Bonjour,

Je suis également en difficulté pour utiliser Framaforms. Comme mes compagnons d’infortune, j’ai le message indiquant « Le site Web a rencontré une erreur inattendue[…] » (sans le style :disappointed_relieved:) et même les erreurs 404 sur les autres pages interrogées.

Tout comme @emilie, avec le code de git clone https://framagit.org/framasoft/framaforms.git et une base de donnée vidée, Dupral se lance correctement et les logs d’erreur de Nginx sont vides. Du coup, je ne pense pas que se soit du côté des droits qu’il faille regarder.

Autre point, à un moment donné, je voyais dans les logs de Nginx qu’il y avait une erreur 404 sur un fichier sites/default/files/Framasoft_Logo.svg.png. Le dossier files, ne comporte, par défaut, qu’un dossier imgforms.

Au niveau de la doc, le passage indiquant de modifier le settings.php pour ajouter les infos de connexion à la base, il y des points qui se baladent aux default et qui provoquent des erreurs fatal de php. Du coup, on se retrouve avec une page blanche dans le navigateur.

$databases = array (
    'default' =>.
    array (
      'default' =>.
      array (
        'database' => 'framaforms',
        'username' => 'framaforms_user',
        'password' => 'yourpassword',
        'host' => 'localhost',
        'port' => '',
        'driver' => 'pgsql',
        'prefix' => '',
      ),
    ),
  );

Encore le markdown ?

De plus, si vous pouviez ajouter dans cette doc, au niveau des pré-requis, qu’il y a besoin de php-pgsql, ce serait cool. Ca éviterait à des gars tête en l’air comme moi de perdre des heures à comprendre que c’est ce paquet qui fourni les fonctions PDO, parce que le message d’erreur n’est pas très explicite …

En tout cas, merci pour votre travail. J’ai hâte de voir ça tourner sur ma machine.

Salut,

J’ai essayé de reprendre le debug. J’ai cherché du côté de Drush pour debugger les erreurs Drupal.
J’ai installé Drush de manière global, pas d’install « site ».
Une fois Drush installé, j’ai testé l’install en appelant Drush depuis un dossier quelconque ne contenant pas le site framforms.
La commande drush core-status me retourne ça

 PHP executable         :  /usr/bin/php
 PHP configuration      :  /etc/php/7.3/cli/php.ini
 PHP OS                 :  Linux
 Drush script           :  /var/www/.composer/vendor/drush/drush/drush.php
 Drush version          :  8.3.2
 Drush temp directory   :  /tmp
 Drush configuration    :
 Drush alias files      :

J’en déduis que l’installation s’est bien passée.

Lorsque je lance n’importe quelle commande Drush depuis le dossier /var/www/html/ (où se trouve mon site framaforms), j’obtiens les erreurs suivantes

Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Attempt to assign property 'rdf_mapping' of non-object rdf.module:412         [warning]
Drush command terminated abnormally due to an unrecoverable error.            [error]
Error : Call to a member function events() on string dans RulesEventSet::rebuildEventCache() (ligne 838 dans /var/www/html/sites/all/modules/rules/includes/rules.plugins.inc).

J’ai donc ensuite nettoyé le cache Drupal directement en base, puis j’ai essayé d’accéder à la page web qui m’a renvoyé l’erreur habituelle, avec le style Framaforms (pour rappel l’erreur est: « Le site Web a rencontré une erreur inattendue. Veuillez essayer de nouveau plus tard. »).

Après ça, drush core-status depuis /var/www/html me retourne quelque chose de similaire, mais avec une petite variation par rapport aux erreurs précédentes

Invalid argument supplied for foreach() common.inc:7300                       [warning]
array_keys() expects parameter 1 to be array, null given common.inc:7320      [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() entity.controller.inc:259             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Invalid argument supplied for foreach() rules.core.inc:56                     [warning]
Attempt to assign property 'dependencies' of non-object rules.core.inc:61     [warning]
Attempt to assign property 'tags' of non-object rules.core.inc:62             [warning]
Attempt to assign property 'rdf_mapping' of non-object rdf.module:412         [warning]
WD php: Error: Call to a member function events() on string in                [error]
RulesEventSet::rebuildEventCache() (line 838 of
/var/www/html/sites/all/modules/rules/includes/rules.plugins.inc).
PHP Fatal error:  Uncaught Error: Call to a member function plugin() on string in /var/www/html/sites/all/modules/rules/includes/rules.core.inc:84
Stack trace:
#0 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(774): RulesEntityController->applyConditions(Array, Array)
#1 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(223): EntityAPIControllerExportable->cacheGet(false, Array)
#2 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(730): EntityAPIController->load(false, Array)
#3 /var/www/html/includes/common.inc(8086): EntityAPIControllerExportable->load(false, Array)
#4 /var/www/html/sites/all/modules/entity/entity.module(259): entity_load('rules_config', false, Array)
#5 /var/www/html/sites/all/modules/rules/rules.module(892): entity_load_multiple_by_name('rules_config', false, Array)
#6 /var/www/html/sites/all/modules/rules/includes/rules.plugins.inc(835): rules_config_load_multiple(false, Array)
#7 /var/www/html/sites/all/modules/rules/rules.module(413): RulesE in /var/www/html/sites/all/modules/rules/includes/rules.core.inc on line 84
Drush command terminated abnormally due to an unrecoverable error.            [error]
Error: Uncaught Error: Call to a member function plugin() on string in
/var/www/html/sites/all/modules/rules/includes/rules.core.inc:84
Stack trace:
#0 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(774):
RulesEntityController->applyConditions(Array, Array)
#1 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(223):
EntityAPIControllerExportable->cacheGet(false, Array)
#2 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(730):
EntityAPIController->load(false, Array)
#3 /var/www/html/includes/common.inc(8086):
EntityAPIControllerExportable->load(false, Array)
#4 /var/www/html/sites/all/modules/entity/entity.module(259):
entity_load('rules_config', false, Array)
#5 /var/www/html/sites/all/modules/rules/rules.module(892):
entity_load_multiple_by_name('rules_config', false, Array)
#6 /var/www/html/sites/all/modules/rules/includes/rules.plugins.inc(835):
rules_config_load_multiple(false, Array)
#7 /var/www/html/sites/all/modules/rules/rules.module(413): RulesE in
/var/www/html/sites/all/modules/rules/includes/rules.core.inc, line 84

On retrouve ici toutes les erreurs PHP qu’on avait dans le error.log Nginx.
Après exécution de la commande Drush, quand je recharge la page web, je perd le style Framaforms.
Si je nettoie le cache Drupal de nouveau et que je recharge la page, je retrouve le style. :man_shrugging:

Bref, je sais plus trop où chercher maintenant. Des idées?

Salut @Aym , c’est des erreurs résiduelles que j’ai aussi en local. De mon côté, la manip suivante permet de faire marcher le site (c’est honteux mais bon, d’ici que j’ai trouvé d’où elles viennent on fait avec) :

  1. drush cc all pour supprimer le cache
  2. rafraichir la page >> on obtient l’erreur dont tu parlais
  3. drush ws pour voir les logs, qui apparemment déclenche la reconstruction des caches.
  4. re-rafraîchir la page >> plus d’erreur.

Pas vraiment une explication, mais dis-moi si ça marche ?

Salut @RainX,

Tu veux dire que Drupal se lance avec une page d’installation ? (l’url point sur install.php normalement).

Avec une BDD vide, le chemin vers le répertoire privé (framaforms_private/) n’est pas configuré, Drupal ignore donc l’existence de ce dossier. Ça explique aussi pourquoi tu n’as pas de style : le thème Framaforms (avec les CSS et compagnie) est configuré dans la BDD.
Par contre un fois que la BDD est renseignée avec tous les paramètres, les branchements de modules, etc, Drupal va commencer à peupler ce dossier avec des fichiers utilisateur. Donc pas exclu que ce soit un problème de droit (par contre j’avoue qu’avec tout ce qu’il s’est dit au-dessus, je commence à sécher…).

'fectivement, ça manque. Je l’ajouterai à l’occase. En attendant, si tu veux ajouter ton propre logo (en le nommant Framasoft_Logo.svg.png et en le plaçant au même endroit) ça devrait marcher.

Pas sûr que ce soit le markdown… cette erreur me dit quelque chose. Ça règle les erreurs d’enlever les points ?

C’est ajouté dans le wiki ^^ merci de l’avoir signalé

Bonne chance !

Salut @thelem

Malheureusement, la commande drush cc all part en erreur aussi. J’ai essayé en root et en user www-data, même résultat.

WD php: Error: Call to a member function events() on string in RulesEventSet::rebuildEventCache() (line 838 of                                                            [error]
/var/www/html/sites/all/modules/rules/includes/rules.plugins.inc).
PHP Fatal error:  Uncaught Error: Call to a member function plugin() on string in /var/www/html/sites/all/modules/rules/includes/rules.core.inc:84
Stack trace:
#0 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(774): RulesEntityController->applyConditions(Array, Array)
#1 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(223): EntityAPIControllerExportable->cacheGet(false, Array)
#2 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(730): EntityAPIController->load(false, Array)
#3 /var/www/html/includes/common.inc(8086): EntityAPIControllerExportable->load(false, Array)
#4 /var/www/html/sites/all/modules/entity/entity.module(259): entity_load('rules_config', false, Array)
#5 /var/www/html/sites/all/modules/rules/rules.module(892): entity_load_multiple_by_name('rules_config', false, Array)
#6 /var/www/html/sites/all/modules/rules/includes/rules.plugins.inc(835): rules_config_load_multiple(false, Array)
#7 /var/www/html/sites/all/modules/rules/rules.module(413): RulesE in /var/www/html/sites/all/modules/rules/includes/rules.core.inc on line 84
Drush command terminated abnormally due to an unrecoverable error.                                                                                                        [error]
Error: Uncaught Error: Call to a member function plugin() on string in /var/www/html/sites/all/modules/rules/includes/rules.core.inc:84
Stack trace:
#0 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(774): RulesEntityController->applyConditions(Array, Array)
#1 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(223): EntityAPIControllerExportable->cacheGet(false, Array)
#2 /var/www/html/sites/all/modules/entity/includes/entity.controller.inc(730): EntityAPIController->load(false, Array)
#3 /var/www/html/includes/common.inc(8086): EntityAPIControllerExportable->load(false, Array)
#4 /var/www/html/sites/all/modules/entity/entity.module(259): entity_load('rules_config', false, Array)
#5 /var/www/html/sites/all/modules/rules/rules.module(892): entity_load_multiple_by_name('rules_config', false, Array)
#6 /var/www/html/sites/all/modules/rules/includes/rules.plugins.inc(835): rules_config_load_multiple(false, Array)
#7 /var/www/html/sites/all/modules/rules/rules.module(413): RulesE in /var/www/html/sites/all/modules/rules/includes/rules.core.inc, line 84

En continuant, j’ai remarqué la chose suivante:
Je lance la commande drush cc all qui part en erreur comme indiqué dans mon précédent message.

Qd je recharge la page la première fois, j’ai le message d’erreur avec le style Framaforms. Je recharge la page une 2e fois et là je perd le style framaforms, je n’ai plus que le message d’erreur Drupal.

Et qd je relance drush cc all après ça, j’ai une nouvelle erreur

array_diff(): Expected parameter 1 to be an array, null given faces.inc:229                                                                                               [warning]
class_implements(): Class RulesPluginFeaturesIntegrationInterface does not exist and could not be loaded faces.inc:233                                                    [warning]
WD php: Error: Unsupported operand types in FacesExtendable->extend() (line 233 of /var/www/html/sites/all/modules/rules/includes/faces.inc).                             [error]
Drush command terminated abnormally due to an unrecoverable error.                                                                                                        [error]
Error : Unsupported operand types dans FacesExtendable->extend() (ligne 233 dans /var/www/html/sites/all/modules/rules/includes/faces.inc).

Salut @thelem,

J’ai enfin une page d’accueil complète :sunglasses:
Il me reste cependant encore un problème: Les liens pour s’authentifier, s’inscrire ou voir les fonctionnalités me retournent tous une erreur 404 Not Found :disappointed:. Une idée?

Pour arriver jusque là, j’ai du reconstruire le registre Drupal, avec quelques pièges sur la route.
Ci-dessous, les étapes pour arriver jusqu’à ce résultat.

# Need sudo to run commands as another user
# Need composer to install Drush
# Need wget to allow Drush to download "Register Rebuild"
sudo apt-get install sudo composer wget

# Install Drush
sudo -u www-data composer global require drush/drush:8.*

# Start postgresql
sudo /etc/init.d/postgresql start

# Clear Drupal cache in DB
for i in cache cache_block cache_field cache_form cache_libraries cache_page cache_path cache_token cache_views cache_admin_menu cache_bootstrap cache_filter cache_image cache_menu cache_panels cache_rules cache_update cache_views_data; do sudo -u postgres psql -d framaforms -c "TRUNCATE $i"; done

# Do the rest as root
sudo -i

# Move to my site's directory
cd /var/www/html

# This commands throws an error. But it is necessary as without this call, I never got the main page even with the rest of the procedure below
/var/www/.composer/vendor/bin/drush ws

# Download the "Registry Rebuild"
/var/www/.composer/vendor/bin/drush @none dl registry_rebuild-7.x

# Rebuild Drupal registry
sudo /var/www/.composer/vendor/bin/drush rr

#Clear Drupal cache
/var/www/.composer/vendor/bin/drush cc all

# Force cache rebuild
/var/www/.composer/vendor/bin/drush ws

Bien joué !
J’avais aussi dû faire ça un moment (mais dans un autre contexte donc ça m’est pas venu à l’esprit), on peut utiliser ce projet D7 aussi.

Pour les 404 il faudrait voir ce que disent les logs Drupal :sweat_smile: Ton drush remarche, donc tu peux poster les logs ?

C’était un problème de configuration nginx.
En plus des changements que j’avais déjà fait dans /etc/nginx/site-available/default, sous location /, j’ai remplacé la ligne

try_files $uri $uri/ =404;

par la ligne

try_files $uri /index.php?$query_string;

Le site de nginx fournit un exemple de conf complet.
Je ne l’ai pas essayé.

J’arrive maintenant à me logger, créer un utilisateur, etc.
Lorsque je créé un formulaire, j’ai un message d’erreur, je n’ai pas encore debuggé. Cependant, je ne sais pas si cela a sa place dans cette question, maintenant que le problème d’installation est résolu.

Salut, @thelem

Tu veux dire que Drupal se lance avec une page d’installation ? (l’url point sur install.php normalement).

C’est exactement ça. Et donc, si l’on suit l’assistant d’installation, le Drupal s’installe correctement, mais évidemment, il n’y a aucun lien avec le style, le module Webform et toutes les autres choses que vous avez paramétré.

Pas sûr que ce soit le markdown… cette erreur me dit quelque chose. Ça règle les erreurs d’enlever les points ?

Ca règle le souci, oui. Si on demande à PHP de checker la syntaxe :

php -l settings.php 
PHP Parse error:  syntax error, unexpected '.' in settings.php on line 761
Errors parsing settings.php

Si on enlève les points, PHP est content.

Je reviens sur les pré-requis. Au niveau de la conf de Nginx, dans le wiki, il est indiqué :

Configure your reverse HTTP proxy in NGINX’s sites-available (more details here), pointing to the downloaded folder and restart NGINX.

Mais aucun lien n’est disponible …

Merci pour les corrections déjà apportées.