• Bug report
  • Problème d'accès à l'administration (v2.0.0)

Bonjour à toute l'équipe et à la communauté,

Tout d'abord, je tiens à exprimer ma gratitude pour le travail formidable accompli sur 299 Ko. C'est un CMS léger, intuitif et qui correspond parfaitement à mes besoins. Merci de rendre le web plus accessible !

Malheureusement, je rencontre un problème d'accès à l'administration après avoir ajouté des articles de blog. J'ai récemment effectué une installation propre de la version stable v2.0.0. J'ai personnalisé mon site avec mon fichier style.css et tout fonctionnait à merveille.

Voici les informations techniques de info.php :

PHP Version : 8.4.1
Serveur Web : Apache
Système d'exploitation : Linux/Unix

Voici le détail de mon problème :

J'ai ajouté plusieurs articles de blog avec des catégories définies, et tout semblait se dérouler sans problème.
Lors de ma connexion suivante, je ne parviens plus à accéder aux pages d'administration.
Le site lui-même fonctionne toujours correctement.
Je peux me connecter à l'administration, la page principale s'affiche avec le menu et la liste des pages.
Cependant, lorsque je tente d'accéder à n'importe quelle autre page de l'administration, je suis redirigée vers une page d'erreur interne à 299 Ko, affichant le message "Page introuvable".

J'apprécie énormément la simplicité et la légèreté de 299 Ko. C'est exactement ce que je recherche. J'espère que vous pourrez m'aider à résoudre ce problème.

Merci d'avance pour votre aide !

Avant que je rentre sur mon pc , pourrais tu:

Ouvrir le fichier config.json avec un éditeur de texte, (dans data/) et vérifier que le baseUrl correspond bien a la base http de ton site ?

( On va avancer par étapes 😉 Il n'y a pas de problèmes, seulement des solutions)

alors j'ai ça : "siteUrl":"https:\/\/www.
donc oui, ça correspond bien au nom de domaine de mon site web, bon sans les V mignons \/\/ mais en mode https://www.

je doute que le reste du fichier soit utile :
"theme":"default","hideTitles":false,"defaultPlugin":"page","debug":false,"defaultAdminPlugin":"page","siteLang":"fr"}

Je me souviens que j'avais fait une manipulation chez ovh pour activer le certificat ssl... mais laquelle ?!

il y a aussi le fichier .htaccess à la racine avec :
<IfModule mod_rewrite.c>
RewriteEngine on
<FilesMatch ".+.(json|tpl|ini)$">
<IfModule mod_authz_core.c>

Apache 2.4

Require all denied
</IfModule>
<IfModule !mod_authz_core.c>

Apache 2.2

Order deny,allow
Deny from all
</IfModule>
</FilesMatch>
Options -Indexes
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
</IfModule>

Me revoila!

Alors dans ton json, tu a marqué seulement:
"siteUrl":"http:\/\/www" ?

normalement , tu devrais avoir:
"siteUrl":"http:\/\/www.monsite.fr"

(monsite.fr étant ton nom de domaine).
essais de modifier le baseURL pour correspondre a ton nom de domaine (ne touche pas al partie \/\/
(sinon j'ai peut être pas bien compris ^^)

ah oui, j'ai omis la suite du texte (la pub déguisée c'est admis ici ?), mais il est correct, c'est bien le nom de domaine de mon site web. Il n'y avait que ces jolis V qui m'intriguaient.

    Noemmie

    Rien d'anormale de ce côté là du coup...
    (tant que tu ne perd pas ton dossier data/ normalement tout ce que tu as fais n'est pas perdu)

    Ce que je trouve étrange c'est que même le master en ayant écrasé ton ancienne installation n'ai pas résolu le problème.

    je relisais ta dernière intervention sur l'autre sujet (pour le fichier install.php supprime le c'est pas grave ça 😉)

    OVH n'aurait pas fait une maj serveur de son coté qui aurait supprimé le mod_rewrite?
    si tu veux vérifier ça , tu peux copier coller le code suivant pour le mettre dans un fichier .php et y accéder après avoir l'avoir mis sur ton serveur:
    <?php
    if (function_exists('apache_get_modules')) {
    $modules = apache_get_modules();
    echo in_array('mod_rewrite', $modules) ? 'mod_rewrite est activé' : 'mod_rewrite n\'est pas activé';
    } else {
    echo 'La fonction apache_get_modules n\'est pas disponible.';
    }
    ?>

    une fois que tu as le résultat supprime le fichier de ton serveur (pour ne pas l'encombré pour rien).

    Suivant le résultat il faudra surement attendre @Max le dev principal de 299Ko , c'est lui la bible ici 😉

    hmmm, ce n'est pas ça non plus. Mince.
    merci pour tes propositions.
    J'ai essayé de supprimer les fichiers concernant les articles de blog dans data, ce sont les dernières modifications que j'ai fait... sans succès non plus.
    Bon, ok pour attendre @Max ; mais on m'a soufflé dans le creux de l'oreille que tu étais le plus gentil de tous !

      Noemmie

      peut être le plus gentils mais au niveau du CMS en lui même le grand sage (très gentil aussi) c'est @Max ! C'est son bébé 299Ko et pour faire la même comparaison que toi au niveau technique, dis toi que, vis a vis de @Max, je suis au même niveau que toi 😉

      (la pub déguisée c'est admis ici ?)

      Quand c'est pour du dépannage est ce de la pub déguisée? si tu as un réel problème et que c'est accessible autant en profiter, du moment que tu ne fais pas un post spécial racoleur pour attirer du monde je n'y vois pas d'objection 😉

      Au moins ça nous permets de voir ce que nos membres font avec le CMS 🙂

      En l'attendant, je peux relancer une nouvelle installation, si tout se passe bien ce n'est pas un problème coté serveur... Vive l'aventure : je m'en vais faire ça de suite.
      J'ai installé votre cms pour une association en Bretagne : https://avelmarine.fr/ mais comme les membres ne sont pas très actifs pour les mises à jour, ce n'est pas non plus un site qui vend du rêve ;-)
      Moi je sais modifier les couleurs dans le fichier css, ça ne vole pas haut en matière de dev !

      la nouvelle installation était une bonne idée :
      "PHP est installé en tant que CGI. La vérification de la réécriture des URL est impossible"

      Je vous quitte pour chercher comment modifier mon php en non-CGI... Merci pour votre/ton temps.

        Noemmie

        le script php que j'avais fournis pour voir si c'était en mode rewrite ne vérifiait pas cela effectivement!

        il faut voir côté serveur.
        Cherche sur ton hébergeur coté Services PHP, quelque chose comme php-fpm a activer !

        je vais aller voir ton site , si tu a besoin de conseils même pour modifier le design n'hésite pas a demander !

        (tu as dû résoudre ton problème le site est bien accessible !)

        Bonjour,
        le site reste accessible quoi qu'il arrive, ce ne sont que les pages d'administration qui ne le sont plus.
        alors pour la réécriture d'URL, j'ai, à la racine du site, le fichier htaccess qui semble correct :

        RewriteEngine on
        <FilesMatch ".+.(json|tpl|ini)$">
        Order allow,deny
        Deny from all
        </FilesMatch>
        Options -Indexes
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule . index.php [L]

        Pour le moteur d'exécution de php, j'ai le fichier ovhconfig qui indique bien php et non phpcgi :

        app.engine.version=8.4
        container.image=stable64
        app.engine=php
        http.firewall=security
        environment=production

        Finalement, je réinstalle le site et je croise tous les doigts de pieds pour ne plus jamais avoir ce souci... malgré l'étrange message à l'installation.

          de souvenir , ce message n'indique que le fait que "on ne peut pas vérifier la réécriture" mais ça ne devrait pas empêcher 299Ko de fonctionner.

          Ton soucis vient seulement de la partie administration donc...
          Ce que je trouve étrange c'est que ça n'impacte que la partie admin.

          Pourrais tu nous faire un copier / coller du contenu du fichier logs.txt que tu trouveras dans le dossier data/ ? cela nous donnera peut être plus d'informations. Je n'ai pas vu @Max se connecter hier, avec son travail il n'as peut être pas eu la possibilité, en attendant je cherche de mon coté ce qui pourrais provoquer cela.

          Noemmie alors pour la réécriture d'URL, j'ai, à la racine du site, le fichier htaccess qui semble correct :

          RewriteEngine on
          <FilesMatch ".+.(json|tpl|ini)$">
          Order allow,deny
          Deny from all
          </FilesMatch>
          Options -Indexes
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule . index.php [L]

          essai de remplacer par:

          <IfModule mod_rewrite.c>
              RewriteEngine on
          
              <FilesMatch ".+\.(json|tpl|ini)$">
                  <IfModule mod_authz_core.c>
                      # Apache 2.4
                      Require all denied
                  </IfModule>
                  <IfModule !mod_authz_core.c>
                      # Apache 2.2
                      Order deny,allow
                      Deny from all
                  </IfModule>
              </FilesMatch>
          
              Options -Indexes
          
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteRule . index.php [L]
          </IfModule>

          Noemmie Pour le moteur d'exécution de php, j'ai le fichier ovhconfig qui indique bien php et non phpcgi :

          app.engine.version=8.4
          container.image=stable64
          app.engine=php
          http.firewall=security
          environment=production

          rajoute "-fpm" a la ligne app-engine=php-fpm
          ca ne règlera peut être pas le soucis mais tu ne devrais plus avoir le message orange a l'installation !

          J'ai essayé les deux :
          Avec la modification de ovhconfig, aucun changement de comportement.
          Avec la modification de htaccess plus aucun lien ne fonctionne, ni le site, ni l'administration !
          écran blanc :

            Noemmie

            Alors la... Je ne saurait ou me diriger , le .htaccess que je t'es fais remplacer ne devrait pas apporter ce comportement.... Si ça marchait mieux avec celui d'avant remets le...

            Le plus sage serait d'attendre que max passe par là car honnêtement, au vue du problème que tu rencontres je ne sais plus trop où me diriger pour te dépanner !

            De plus @Max connait bien OVH je pense et sera plus à même de te dire quoi faire s'il s'avère que le soucis puisse venir d'une config de chez eux!

            Honnêtement je n'en sais rien et ne vais pas m'avancer plus sur quoi que ce soit !

            Navré de ne pas pouvoir faire plus pour toi.
            Attendons ensemble le Maître de 299Ko !
            😃
            Edit:
            (As tu essayé de travailler en local pour voir le comportement ? Tu fais une copie de ce que tu as sur ton serveur (data compris)
            Dans le fichier config.php tu modifie le baseURL pour qu'il corresponde a ton localhost.
            Et ensuite tu vas essayer en local voir si tu a le même problème !

            J'arrive pas a reproduire le comportement que tu as ...

            • Edited

            Hello ici.

            Bienvenue @Noemmie . Désolé pour le temps de réponse, j'ai été embêté avec un ordinateur à mon tour...

            La réécriture fonctionne bien puisque le reste du site, notamment le plugin page, redirige bien vers les articles.
            PHP FPM ou CGI, ça ne change rien, ce n'est pas le problème ici (du moins je ne vois pas le rapport).

            Sais-tu si la date où tu as rencontré l'erreur correspond à peu près à l'installation de PHP 8.4 par OVH ou pas du tout ?
            Je ne l'ai jamais testé avec PHP 8.4 (seulement 8.3), je vais creuser.

            Quelle est l'adresse (URL) affichée lorsque l'erreur apparaît (dans ton post initial) ?

            Merci pour ton retour.

            HS : Tu as raison, @NemStudio18 est le plus gentil 😂😂

            Bonjour @Max,

            Désolée de mon retard pour la réponse, le travail m'a un peu rattrapé moi aussi, j'ai été très occupé.

            Merci beaucoup pour ta réponse et pour votre aide à tous les deux.

            Le problème n'est pas apparu en même temps que le passage à PHP 8.4. Par ailleurs, je peux aisément repasser en PHP 8.3 si cela peut aider à résoudre le problème.

            Concernant l'URL et le message d'erreur correspondant, voici les captures d'écran :


            PS : Effectivement, mes informations à propos de @NemStudio18 sont de première main et d'une source très fiable : lui même ! 😄

            Si l'erreur apparaît avec PHP 8.3 alors ce n'est pas ça.

            Je te propose d'essayer la manip suivante :
            Va dans le fichier common/controllers/AdminCOntroller.php, et remplace cette partie :

            public function __construct() {
                    parent::__construct();
                    if (IS_ADMIN === false) {
                        $this->core->error404();
                    }

            Par :

            public function __construct() {
                    parent::__construct();
                    if (IS_ADMIN === false) {
                        //$this->core->error404();
                        echo '<h1>Not authorized</h1>';
                    }

            Et reteste.
            Si tu vois le message Not Authorized alors que tu es connecté, alors on saura que ça vient de là et on cherchera dans cette direction, sinon on creusera ailleurs.

            Une fois que tu as testé, remets tout d'origine (question de sécurité).
            Merci.

            Salut, j'ai une bonne nouvelle :


            C'est en php 8.3 à présent.
            Merci.

            • Max replied to this.