Debian 10 LAMP VMware apache2 le rooter ne marche

Résolu/Fermé
nilson42 Messages postés 37 Date d'inscription samedi 10 février 2018 Statut Membre Dernière intervention 22 juillet 2020 - Modifié le 12 mars 2020 à 15:09
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 - 23 mars 2020 à 18:28
Bonjour,

J'ai installé mon site web dans
/var/www/html
, mais les
 includes, require 
ne marchent pas du tout.

Failed opening required (include_path='.:/usr/share/php')


J'utilise php composer qu'il ne reconnaît pas non plus. Le fichier
root
de mon site web redirige automatiquement l'utilisateur vers la page d'accueil, mais là, c'est une page vide.
On dirait qu'il ne reconnaît pas le chemin.
J'ai essayé bien sûr de mettre
AllowOverride all
dans apache2, mais j'obtiens une
Error 500
.

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
    'App\\src\\' => array($baseDir . '/src'),
    'App\\config\\' => array($baseDir . '/config'),
);


Composer.json
{
    "autoload": {
      "psr-4": {
        "App\\config\\":"config/",
        "App\\src\\": "src/"
      }
    }
  }
    


Voilà le fichier
index
:


require '../vendor/autoload.php';
session_start();
// 1 instansiation de la class rooter
// 2 appel à la méthode [/download/telecharger-34082922-run run] de de class Router
$rooter = new \App\config\Router();
$rooter = $rooter->run();


Bon alors le root est assez simple :
public function run()
    {   
        $route = $this->_request->getGet()->get('route');
        echo '<pre>';
        var_dump($this->_request->getPost(), $this->_request->getGet()->get('ticketId'));
        echo '</pre>';
        $session = $this->_request->getSession()->get('route');
        try{
            if(isset($_GET['route']))
            {
                if($_GET['route'] === 'ticket'){
                    $this->_frontController->ticket($this->_request->getGet()->get('ticketId')); //>get(nom de ID du lien de la page));
                
                } // route est passée à une méthode appelée  ajoutTicket du backController qui prend en paramètre la variable superglobale  $_POST
                elseif($_GET['route'] === 'ajoutTicket'){
                    $this->_backController->ajoutTicket($this->_request->getPost());
                }elseif($_GET['route'] === 'editTicket'){
                    $this->_backController->editTicket($this->_request->getPost(), $this->_request->getGet()->get('ticketId'));
                }elseif($_GET['route'] === 'suppTicket'){
                    $this->_backController->suppTicket($this->_request->getGet()->get('ticketId'));
                }   
                
                /*
                // route est passée à une méthode appelée  ajoutTicket du backController qui prend en paramètre la variable superglobale  $_POST
                elseif($_GET['route'] === 'suppTicket'){
                    $this->_backController->suppTicket($this->_request->getGet()->get('ticketId'));
                }*/
                else{
                    // aucune action définie : affichage de page 404 + redirect à la page principale
                    $this->_errorController->errorNotFound();
                }
            }
            else{ //affichage de la page principale
                $this->_frontController->home();
                
            }
        }
        catch (Exception $e)
        {   
            // aucune action définie : affichage de page 500 + redirect à la page principale
            $this->_errorController->errorServer();
        }

            }
        }

Configuration: VM sous Debian 10 LAMP
A voir également:

5 réponses

mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
Modifié le 12 mars 2020 à 15:20
Bonjour,

Je précise tout de suite que je ne connais composer. Pour résoudre ton problème il faut le décomposer

Réponse courte

Il faut distinguer une erreur de permission (accès interdit) qui signifie que le vhost est mal configuré de l'absence de module de php (rien ne s'affiche car les parties entre
<?php ... ?>
ne sont pas interprétables). Ici je suspecte que tu n'as pas installé et/ou activer le module php correspondant et/ou redémarré apache.

Réponse détaillée

1) Est-ce que tu parviens à afficher une page html ?

Exemple :
/var/www/index.html


<html>
<body>
html marche
</body>
</html>


... puis affiche http://localhost/index.html

2) Est-ce que tu parviens à afficher une exécuter php ?

Exemple :
/var/www/index.php


<html>
<body>
html marche
<?php
echo "php marche";
?>
</body>
</html>


... puis affiche http://localhost/index.php

3) Voir les problèmes spécifiques à composer (est-ce que la version de php installé permet d'utiliser composer, est-ce que la configuration apache -notamment les redirections- sont correctes, etc).

Sous debian un serveur LAMP s'installe comme suit :

sudo apt update
sudo apt install apache2 default-mysql-server libapache2-mod-php
sudo /etc/init.d/apache2 restart


Tu peux vérifier que le module php est installé. Retrouve son nom dans
/etc/apache2/mods-available/
. Tu verras par exemple
/etc/apache2/mods-available/php7.4.conf
et dans ce cas le nom du module est
php7.4
. Dans ce cas tu peux activer ce module avec :

sudo a2enmod php7.4


(Note que respectivement, le désactiver, avec
a2dismod
).

À ce stade, tout devrait marcher concernant les étapes 1 et 2. Reste avoir la fin, propre au site et plus au serveur lui-même.

Sur le même principe, les différents virtual hosts sont déclarés dans
/etc/apache2/sites-available
et s'activent / désactivent avec
a2ensite
et
a2dissite
. Là encore, il faut s'assurer que ton vhost est actif et que sa configuration est correct.

Bonne chance
1
nilson42 Messages postés 37 Date d'inscription samedi 10 février 2018 Statut Membre Dernière intervention 22 juillet 2020
Modifié le 18 mars 2020 à 13:34
Re,

Merci pour tes réponses. Malheureusement, ça ne change rien, j'ai réinstallé une Debian 10 virtuelle et c'est le même problème. J'ai essayé sur une machine réelle Windows 10 avec xampp ou wamp et ça marche !! J'arrive à accéder à tous les liens, donc le problème ne vient pas de mon code mais du serveur apache2. Que ce soit le
.htaccess
ou les redirections du rooter (mon code) sur une machine lamp sous Vmware ou Virtualbox, ça ne marche pas.

Je crois que c'est le chemin qu'il ne reconnait pas ou n'arrive pas à accéder. Je ne sais pas comment résoudre ce problème...
0
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
18 mars 2020 à 13:35
Bonjour,

Que donnent :

dpkg -l | grep apache2
ls -l /etc/apache2/mods-enabled


Bonne chance
0
nilson42 Messages postés 37 Date d'inscription samedi 10 février 2018 Statut Membre Dernière intervention 22 juillet 2020
18 mars 2020 à 20:18
ii  apache2                       2.4.38-3+deb10u3            amd64        Apach              e HTTP Server
ii apache2-bin 2.4.38-3+deb10u3 amd64 Apach e HTTP Server (modules and other binary files)
ii apache2-data 2.4.38-3+deb10u3 all Apach e HTTP Server (common files)
ii apache2-utils 2.4.38-3+deb10u3 amd64 Apach e HTTP Server (utility programs for web servers)
ii libapache2-mod-php7.3 7.3.11-1~deb10u1 amd64 serve r-side, HTML-embedded scripting language (Apache 2 module)

total 0
lrwxrwxrwx 1 root root 36 nov. 28 21:41 access_compat.load -> ../mods-available/access_compat.load
lrwxrwxrwx 1 root root 28 nov. 28 21:41 alias.conf -> ../mods-available/alias.conf
lrwxrwxrwx 1 root root 28 nov. 28 21:41 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 authn_core.load -> ../mods-available/authn_core.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 authn_file.load -> ../mods-available/authn_file.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 authz_core.load -> ../mods-available/authz_core.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 authz_host.load -> ../mods-available/authz_host.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 authz_user.load -> ../mods-available/authz_user.load
lrwxrwxrwx 1 root root 32 nov. 28 21:41 autoindex.conf -> ../mods-available/autoindex.conf
lrwxrwxrwx 1 root root 32 nov. 28 21:41 autoindex.load -> ../mods-available/autoindex.load
lrwxrwxrwx 1 root root 30 nov. 28 21:41 deflate.conf -> ../mods-available/deflate.conf
lrwxrwxrwx 1 root root 30 nov. 28 21:41 deflate.load -> ../mods-available/deflate.load
lrwxrwxrwx 1 root root 26 nov. 28 21:41 dir.conf -> ../mods-available/dir.conf
lrwxrwxrwx 1 root root 26 nov. 28 21:41 dir.load -> ../mods-available/dir.load
lrwxrwxrwx 1 root root 26 nov. 28 21:41 env.load -> ../mods-available/env.load
lrwxrwxrwx 1 root root 29 nov. 28 21:41 filter.load -> ../mods-available/filter.load
lrwxrwxrwx 1 root root 27 nov. 28 21:41 mime.conf -> ../mods-available/mime.conf
lrwxrwxrwx 1 root root 27 nov. 28 21:41 mime.load -> ../mods-available/mime.load
lrwxrwxrwx 1 root root 34 nov. 28 21:50 mpm_prefork.conf -> ../mods-available/mpm_prefork.conf
lrwxrwxrwx 1 root root 34 nov. 28 21:50 mpm_prefork.load -> ../mods-available/mpm_prefork.load
lrwxrwxrwx 1 root root 34 nov. 28 21:41 negotiation.conf -> ../mods-available/negotiation.conf
lrwxrwxrwx 1 root root 34 nov. 28 21:41 negotiation.load -> ../mods-available/negotiation.load
lrwxrwxrwx 1 root root 29 nov. 28 21:50 php7.3.conf -> ../mods-available/php7.3.conf
lrwxrwxrwx 1 root root 29 nov. 28 21:50 php7.3.load -> ../mods-available/php7.3.load
lrwxrwxrwx 1 root root 33 nov. 28 21:41 reqtimeout.conf -> ../mods-available/reqtimeout.conf
lrwxrwxrwx 1 root root 33 nov. 28 21:41 reqtimeout.load -> ../mods-available/reqtimeout.load
lrwxrwxrwx 1 root root 31 nov. 28 21:41 setenvif.conf -> ../mods-available/setenvif.conf
lrwxrwxrwx 1 root root 31 nov. 28 21:41 setenvif.load -> ../mods-available/setenvif.load
lrwxrwxrwx 1 root root 29 nov. 28 21:41 status.conf -> ../mods-available/status.conf
lrwxrwxrwx 1 root root 29 nov. 28 21:41 status.load -> ../mods-available/status.load
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
23 mars 2020 à 18:28
Comme le montre ta configuration, le module php7.3 est disponible et activé donc je suppose que ça marche ?
0