IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

[eZ Publish] Installation manuelle qui échoue


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut [eZ Publish] Installation manuelle qui échoue
    Bonjour,

    J'essaye d'installer manuellement ezpublish au lieu de passer par l'installateur web. L'objectif étant de pouvoir faire une installation automatique.

    J'ai suivis les indications de la page http://ez.no/doc/ez_publish/technica..._of_ez_publish
    La configuration du domaine et des fichiers d'ezpublish sont exactement les mêmes que pour l'installation via le web ; en fait, une seconde installation faite par le web fonctionne parfaitement sur ce domaine.

    Mais lorsque j'accède à la page d'accueil de l'installation manuelle, j'obtiens l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: require(autoload/ezp_kernel.php) [function.require]: failed to open stream: Permission denied in /ezp/autoload.php on line 34

    Contrairement aux indications du lien ci-dessus, l'installation normale du template website crée de nombreux autres fichiers de config et les trois cités dans le lien ont des paramètres différents.

    J'ai essayé de copier les fichiers et dossiers manquant dans l'installation manuelle, mais cela n'a rien changé.

    Que manque-t-il comme informations dans ce lien pour installer correctement de façon manuelle un site web sous ezp ?
    Dans tous les fichiers de config non mentionnés dans le lien, faut-il changer des paramètres comme le chemin ou le nom du site (ezwebin_ en autre chose) ? et dans quels fichiers ?

    Merci pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 147
    Par défaut
    Je ne connais pas ezpublish, mais je pense que tu a simplement un problème de droits sur tes fichiers.

    Tu a uploadé tes fichiers sur ton serveur par FTP ?

    Si oui il faut que tu attribue les droits suffisant au "user" que va utiliser PHP.
    Dans la pluspart des cas, PHP "passe par le user" public. Il faut donc des droits en 775 sur tes fichiers et en 777 sur tes dossiers ou doivent être créés des ficheirs par le script.

    La solution la plus sure serait tout de même d'attribuer les fichiers au user httpd et de ne pas toucher les droits, mais cette opération n'est pas toujours faisable selon l'hébergeur.

  3. #3
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    Salut,

    Tu peux poster ton fichier autoload.php ? Comme ça on y verra plus clair...
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    Bloodscalp :
    J'utilise strictement les mêmes commandes pour les droits des fichiers lorsque j'installe par l'interface web ou directement en ligne de commande.
    J'ai un accès root sur la machine qui me permet d'effectuer ces commandes donc je ne pense pas que cela vienne de là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    rep=`pwd|gawk 'BEGIN {FS = "httpdocs"} {print $1}'`httpdocs;user=`stat -c "%U" $rep`;chown -R $user.psacln *
    chmod -R a+rwx settings settings/override var var/storage var/cache settings/siteaccess settings/siteaccess/admin design
    chmod -R ug+rwx extension
    chown -R apache:apache extension
    chmod -R ug+rwx autoload
    chown -R apache:apache autoload
    L'utilisateur ftp ($user) et apache ne sont pas dans le même groupe.

    Yoteco :
    Je ne touche pas au fichier autoload.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
    /**
     * Autoloader definition for eZ Publish
     *
     * @copyright Copyright (C) 2005-2008 eZ Systems AS. All rights reserved.
     * @license http://ez.no/licenses/gnu_gpl GNU GPL
     * @version //autogentag//
     * @filesource
     *
     */
     
    // config.php can set the components path like:
    // ini_set( 'include_path', ini_get( 'include_path' ). ':../ezcomponents/trunk' );
     
    if ( file_exists( "config.php" ) )
    {
        require "config.php";
    }
     
    // require 'Base/src/base.php';
    $baseEnabled = @include( 'ezc/Base/base.php' );
    if ( !$baseEnabled )
    {
        $baseEnabled = @include( 'Base/src/base.php' );
    }
     
    define( 'EZCBASE_ENABLED', $baseEnabled );
     
    function __autoload( $className )
    {
        static $ezpClasses = null;
        if ( is_null( $ezpClasses ) )
        {
            $ezpKernelClasses = require 'autoload/ezp_kernel.php';
            $ezpExtensionClasses = require 'autoload/ezp_extension.php';
            $ezpClasses = array_merge( $ezpKernelClasses, $ezpExtensionClasses );
        }
     
        if ( array_key_exists( $className, $ezpClasses ) )
        {
            require( $ezpClasses[$className] );
        }
        elseif ( EZCBASE_ENABLED )
        {
            ezcBase::autoload( $className );
        }
    }
     
    ?>
    À quoi sert-il ? À télécharger les extensions de site en fin d'installation web ?

    Si je fais une installation manuelle, dois-je créer un site au nom particulier (ezwebin_*) ou au contraire laisser le dossier settings/siteaccess/ (et autres) en jachère ?

    Merci.

  5. #5
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    C'est vraiment bizarre.

    Le fichier autoload.php s'occupe de charger les classes dynamiquement.

    Et si tu essayes une méthode vraiment pas très fine mais pour être sûr que c'est bien un problème de droit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chmod -R 777 sur tous le dossier ezp
    Si là ça ne fonctionne toujours pas c'est qu'il y a un autre problème.

    Le dossier settings/siteaccess ne devrait pas être vide. Tu devrais au moins avoir deux siteaccess.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    C'est bien ça semble-t-il : un problème de droits. Le chmod 777 me permet maintenant d'avoir la page d'accueil sans erreur (sauf du côté du chemin des images, ce que je devrais pouvoir régler). Comme j'ai appliqué strictement les mêmes droits dans les deux cas, je pensais que ce ne pouvait pas être cela. Ezp doit en changer durant l'install, ou j'ai raté une étape quelque part.

    Par contre l'accès à l'admin indique l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    The requested module site_admin could not be found.
     
    Possible reasons for this are:
     
        * The module name was misspelled, try changing the URL.
        * The module does not exist on this site.
        * This site uses siteaccess matching in the URL and you did not supply one, try inserting a siteaccess name before the module in the URL .
    Sachant que par rapport à l'installation normale de ezp, j'ai renommé le site "ezweb_site" en "site" partout où je l'ai trouvé (à l'exception de quelques lignes peut-être comme "ezwebin"), y a-t-il un module de ezp qui gère ce type de site et ne doit pas être renommé ?

    Au départ, je n'avais renommé que les dossiers de settings/siteaccess/ mais comme ça ne fonctionnait pas, j'ai renommé des dossiers situés dans d'autres dossiers comme var/ design/ etc.

    Est-ce que vous avez des indications de quels dossiers/fichiers il faut que je corrige/renomme pour changer le nom d'un site de ezweb_site en site et de ceux auxquels il ne faut pas toucher ? Je ne demande que les grandes lignes sans les détails, je les chercherai.

    Merci.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    Je viens de trouver de la documentation qui devrait me permettre d'installer manuellement l'interface web ezwebin : http://ez.no/doc/extensions/website_interface (premier pdf, section 4).

    Pour la question des droits, je pense avoir trouvé l'origine. Les manips de propriétaires et droits lors de l'installation, s'effectuent en fait légèrement différemment selon la méthode d'installation :
    - seulement le contenu de l'archive ezpublish par la méthode web, tous les fichiers de ezwebin appartenant à apache puisque c'est lui qui installe ce paquet,
    - tous les fichiers de ezpublish et ezwebin par la méthode manuelle, car j'importe tout avant de faire les manips.

    Du coup, apache n'a sans doute plus les droits nécessaires sur l'extension ezwebin.


    Je vais essayer de mettre tout cela en place, ce qui va me demander un peu de temps (lecture du pdf entre deux clients ...) et je ferai un compte-rendu ensuite.

    Merci.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    Résultat des courses : ça ne marche pas, c'est peu clair et ce n'est même pas fait pour une installation mais une mise à jour.

    Quelques points :
    - en faisant l'installation manuelle d'ezp comme indiqué sur le premier lien, donc en créant les dossiers site et site_admin et les fichiers de config dedans, cela génère le message d'erreur d'autoload.
    - en ne créant pas ces dossiers, cela m'envoie vers l'installateur : donc profit nul
    - en suivant le dernier lien, ce n'est pas mieux : je suis les recommandations, téléchargement des paquets de la version 4.0.1 et extraction dans var/storage/packages/eZ-systems/ puis j'appelle le script php (idem si c'est celui déjà dispo ou la version de http://pubsvn.ez.no/nextgen/stable/4...ebincommon.php). J'obtiens alors l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    /usr/bin/php ezwebinupgrade.php -s example --auto-mode=off --repository=var/storage/packages/eZ-systems
    Notice: Using siteaccess example
    Configuring...
    Package 'ezwebin_classes' already downloaded. Download it anyway? [y/n]: n
    Package 'ezwebin_extension' already downloaded. Download it anyway? [y/n]: n
    Package 'ezwebin_design' already downloaded. Download it anyway? [y/n]: n
    Package 'ezwebin_site' already downloaded. Download it anyway? [y/n]: n
    Downloading...
    Importing...
    ezwebin_classes
    ezwebin_extension
    ezwebin_design
    Error: Faild to import 'ezwebin_design' package: err =
    En nettoyant tous, en spécifiant la version 1.3-0 (apparemment c'était la 1.2 qui était utilisée) et en tentant cela à nouveau (/tmp/ezwebin/ n'existant plus), ezwebinupgrade.php me dit alors :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    /usr/bin/php ezwebinupgrade.php -s example --auto-mode=off --repository=var/storage/packages/eZ-systems --to-version=1.3-0
    Notice: Using siteaccess example
    Configuring...
    Package 'ezwebin_classes' already downloaded. Download it anyway? [y/n]: y
    Package 'ezwebin_extension' already downloaded. Download it anyway? [y/n]: y
    Downloading...
    ezwebin_classes
    ezwebin_extension
    ezwebin_design_blue
    ezwebin_design_gray
    ezwebin_site
    Importing...
    ezwebin_classes
    ezwebin_extension
    ezwebin_design_blue
    ezwebin_design_gray
    ezwebin_site
    Installing...
    Installing package 'ezwebin_classes'
    Error: can't fetch package 'ezwebin_classes'. Aborting...
    Là, je séche !


    Au passage, le pdf donne une info obsolète : pour vider le cache, ce n'est pas
    bin/shell/clearcache.sh –clear-all
    mais
    bin/php/ezcache.php --clear-all

    Merci.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 6
    Par défaut
    Résultat des courses : seule l'installation web est possible. L'installation manuelle est résolument impossible.

    Je viens de faire les manipulations suivante :
    - installation d'un ezp + ezwebin par le web en utilisant des mots-clés :
    . dossier : achanger/
    . titre : "Titre à changer"
    . base : test_ezp
    . site : exemple
    - j'ai compressé ce dossier fonctionnel en un tgz
    - j'ai recherché dans tout le dossier les mot-clés précédents : contrairement à la documentation au lieu des trois dossiers de settings/ à mettre en place, je me retrouve avec 43 fichiers contenant un ou plusieurs de ces mots, dispersés dans tout le dossier hors de settings/

    Autrement dit, la doc ne peut pas permettre d'installer manuellement.

    Muni de cette archive fonctionnelle et des ces fichiers à modifier, j'ai donc procédé à une installation manuelle dans un dossier différent du même domaine, puis remplacé toutes les occurrences des mots-clés par les bonnes valeurs, corrigé les noms des dossiers de siteaccess/ pour obtenir un superbe message :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     Error / kernel (1)
    Access denied
     
    You do not have permission to access this area.
     
    Possible reasons for this are:
     
        * Your current user does not have the proper privileges to access this page.
        * You misspelled some parts of your URL, try changing it.
    Après près d'une semaine de travail à plein temps la dessus je laisse tomber : CE N'EST PAS FAISABLE !

    Certainement faut-il allez changer un nom de fichier "webin_exemple" dans kernel/share/include/default/language/dossier_perdu/ pour que éventuellement cela fonctionne, ou lire l'intégrale de O'Reilly pour avoir une idée de la façon de procéder.

  10. #10
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Bonjour,

    Ne laisse pas tomber si vite, vérifie que ton extension php contient bien toutes les extensions réquises.

    Et que les paramètres à l'accès à la base de données sont corrects.

Discussions similaires

  1. Installation win10 Java qui échoue
    Par tr1v1al dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 25/01/2019, 15h18
  2. [VB6] Upload fichier xls qui échoue (missing css file)
    Par pom dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/06/2006, 15h10
  3. [C#]Authentification qui échoue : a chaque fois "Login inco
    Par The_revival dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/04/2006, 23h36
  4. [PEAR] Installation manuelle de la bibliothèque PEAR
    Par Thierry8 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 01/03/2006, 23h59
  5. Réponses: 8
    Dernier message: 07/12/2005, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo