Impossible de lire les .php

Bonjour à tous, je suis newbie en linux,
je viens d'instaler un apache2 et un nagios pour faire un petit peu d'administration / monitoring. Jusque là tous va bien....

Je souhaiterai avoir une interface plus convivial au niveau de nagios et pour cela rajouter la couche OREON (www.oreon.org) j'ai installé comme demandé php4 / mysql. Au début ca avait l'air de fonctionner mais maintenant et je ne sais pas pourquoi je n'arrive plus à accéder au php. IE ou FIREFOX me demande d'enregistrer le fichier

Pourtant dans mon fichier /etc/apache2/apache2.conf
j'ai bien :
AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps
DirectoryIndex index.php setup.php (......etc........)

j'ai créer un fichier phpinfo.php dans /var/www/ pour faire le test et ca marche pas
Je pense que je ne suis pas trés loin de la solution, il me manque simplement un avis plus expert que le miens et un petit coup de pouce

Amitié à tous le monde et merci d'avance pour l'aide que certains pourrons m'apporter !!!
Configuration: Debian

10 réponses

  1. Modérateur
    Salut,

    affiche le résultat de la commande
    egrep 'DocumentRoot' /etc/apache2/apache2.conf 
    lami20j
    1. Bonjour merci pour votre aide,
      la commande ne donne aucun résultat !
    2. Modérateur
      @yannix63Re,

      affiche plutôt ce que tu as tapé pour voir pourquoi il n'y a pas de résultat.

      Merci.

      lami20j
  2. debian:/# egrep 'DocumentRoot' /etc/apache2/apache2.conf
    debian:/#
    1. Modérateur
      En ce cas ouvre le fichier et cherche une ligne qui contient cette directive DocumentRoot

      Ca m'etonnerait qu'elle n'existe pas.

      Affiche entre temps le résultat de

      egrep -i 'root' /etc/apache2/apache2.conf

      C'est bien celui là le fichier de configuration de ton apache ?

      /etc/apache2/apache2.conf

      lami20j
      1. oui oui c'est bien celui la

        debian:/# egrep -i 'root' /etc/apache2/apache2.conf
        # ServerRoot: The top of the directory tree under which the server's
        ServerRoot "/etc/apache2"
        #UserDir disabled root
        debian:/#

        J'ai pas de directive DocumentRoot dans mon apache2.conf
        par contre j'en ai une (et je ne sais pas si ca a un rapport) dans
        /etc/apache2/site-enabled/000-default
    2. en tous cas j'ai plus d'idee
      car apache à l'air de fonctionner correctement
      je vois les pages html mais pas les php
      le apache2.conf à l'air correct d'apres les différent forums
      cad ya les élément qui permettrai de prendre en charge les php
      Aurais-je oublier un paquet ???
      1. Modérateur
        Ben met alors les pages .php où tu as les pages .html pour voir

        lami20j
    3. j'ai eu ça une fois... un reboot de la station resolu le probleme.
      1. ouai dséja essayé et pas qu'une fois
        dur dur comme problème
        et j'ai vraiment pas envie de forpmater aprés 20 heure de travail sur la bécane
        Merci
    4. Je pense pas que le problème vienne de là car quand je tape
      http://localhost/
      je tombe bien sur

      http://localhost/apache2-default/

      donc le rerpertoire est bien défini correctement non ?

      et d'ailleur le fichier html se trouve dans /var/www/apache2-default
      et s'appelle index.html
      mais lorsque je le modifie (ou en rajoute un) avec l'extension php l'explorateur me demande d'enregistrer le fichier au lieu de le visualiser.

      Faut-il que je rajoute la directive DocumentRoot dans le apache2.conf ?
      Quelle différence avec celui définie dans /etc/apache2/sites-enabled/000-default ?

      Merci pour vos réponses !!!
      1. Eh ben !!! Je ne pensais pas que ce petit problème pouvait arréter les plus chevronnés membre CCM linuxien

        Je remonterai le post en début de semaine prochaine si pas de résultat avant, bon weekend à tous
        1. Modérateur
          Salut,

          je vais te préparer un peu plus tard un fichier minimal de configutation pour apache et aussi la commande de démarrage pour pouvouir tester.

          je vais peut être te demander encore des choses mais pour l'instant comme je ne suis pas sous linux je ne veux pas faire des erreurs.

          Pour l'instant affiche ici ton fichier de configuration d'apache ainsi que le résultat de la commande
          ps aux | grep -i 'apache|http'
          lami20j
      2. Modérateur
        Salut,

        DirectoryIndex index.php setup.php (......etc........)

        j'ai créer un fichier phpinfo.php dans /var/www/ pour faire le test et ca marche pas


        Et si tu ajoutes dans la directive DirectoryIndex aussi phpinfo.php ça marche pas non plus?!

        -------------------------------------------------------------------

        affiche /etc/init.d/httpd -V pour voir

        -------------------------------------------------------------------

        Construction d'un site test.


        Remplace httpd avec le nom de ton fichir (ça peut être apachectl,...)

        Et voilà comment tu peux tester avec un fichier de configuration minimal

        En général un site web contient au moins 3 répertoires :

        conf - contient le fichier de configuration, en général httpd.conf

        htdocs - contient les documents, les images, etc. qu'on veut mettre à dispostion des clients

        logs - les fichers journal

        On peut aussi avoir le répertoire cgi-bin - contient les scritps CGI

        A remplacer cette partie LoadModule php5_module modules/libphp5.so avec ton module, il me semble que pour toi tu doit écrire LoadModule php4_module modules/libphp4.so

        Ce que tu vois souligné il faut remplacer selon ta configuration (donc cherche l'emplacement de fichier mime.types et de répertoire modules sur ton OS)

        Les commandes (ce que tu vois en gras sont sur une seule ligne).
        Tu peux bien sûr utiliser un editeur de texte pour créer le fichier httpd.conf.
        J'ai utilisé des commandes pour rendre les chose plus facile si jamais tu ne sais pas utilser un editeur de texte.
        A la fin de message je vais afficher le contenu de httpd obtenu avec la suite de commandes echo

        En root</souligne>
        debian:~# groupadd webgroup
        debian:~# useradd -g 'webgroup' -s /bin/false webuser
        

        En user (j’ai utilisé yannix63)
        ~$ mkdir -p /home/$USER/site.yannix/{conf,htdocs,logs}
        ~$ cd site.yannix/
        ~/site.yannix$ cp -vR /usr/local/httpd/modules/ .
        `/usr/local/httpd/modules/' -> `./modules'
        `/usr/local/httpd/modules/httpd.exp' -> `./modules/httpd.exp'
        `/usr/local/httpd/modules/libphp5.so' -> `./modules/libphp5.so'
        ~/site.yannix$ cat /usr/local/httpd/conf/mime.types  > conf/mime.types
        ~/site.yannix$ echo -e 'Listen 80\nUser webuser\nGroup webgroup' > conf/httpd.conf
        ~/site.yannix$ echo -e "\nServerName localhost\nDocumentRoot /home/$USER/site.yannix/htdocs" >> conf/httpd.conf
        ~/site.yannix$ echo -e '\nTransferLog logs/access_log\nErrorLog logs/error_log' >> conf/httpd.conf
        ~/site.yannix$ echo -e '\nPidFile logs/httpd.pid\nTypesConfig conf/mime.types'>> conf/httpd.conf
        ~/site.yannix$ echo -e '\nLoadModule php5_module        modules/libphp5.so'>> conf/httpd.conf
        ~/site.yannix$ echo -e '\nDirectoryIndex index.html index.php'>> conf/httpd.conf
        ~/site.yannix$ echo -e '\nAddType application/x-httpd-php .php'>> conf/httpd.conf
        ~/site.yannix$ echo -e "<?php\nphpinfo();\n?>" > htdocs/index.php
        


        En root

        ~# killall httpd
        ~# cd /home/yannix63/site.yannix/
        /home/yannix63/site.yannix# /etc/init.d/httpd -f conf/httpd.conf -d $(pwd)
        /home/yannix63/site.yannix# ps aux | grep httpd
        yannix63   5698  0.0  1.0  4432 2628 pts/2    S+   14:29   0:00 /usr/bin/vim ccm_httpd
        root      5715 16.0  3.0 14296 7828 ?        Ss   14:34   0:00 /usr/local/httpd/bin/httpd -f conf/httpd.conf -d /home/yannix63/site.yannix
        webuser   5716  0.0  2.7 14296 7084 ?        S    14:34   0:00 /usr/local/httpd/bin/httpd -f conf/httpd.conf -d /home/yannix63/site.yannix
        webuser   5717  0.0  2.7 14296 7084 ?        S    14:34   0:00 /usr/local/httpd/bin/httpd -f conf/httpd.conf -d /home/yannix63/site.yannix
        webuser   5718  0.0  2.7 14296 7084 ?        S    14:34   0:00 /usr/local/httpd/bin/httpd -f conf/httpd.conf -d /home/yannix63/site.yannix
        webuser   5719  0.0  2.7 14296 7084 ?        S    14:34   0:00 /usr/local/httpd/bin/httpd -f conf/httpd.conf -d /home/yannix63/site.yannix
        webuser   5720  0.0  2.7 14296 7084 ?        S    14:34   0:00 /usr/local/httpd/bin/httpd -f conf/httpd.conf -d /home/yannix63/site.yannix
        root      5722  0.0  0.2  2148  768 pts/1    R+   14:34   0:00 grep httpd
        debian:/home/yannix63/site.yannix#
        

        En user
        ~/site.yannix$ firefox http://localhost&

        Le fichier httpd.conf créer avec la suite de commandes echo :
        ~/site.yannix$ cat conf/httpd.conf
        Listen 80
        User webuser
        Group webgroup
        
        ServerName localhost
        DocumentRoot /home/lami20j/site.yannix/htdocs
        
        TransferLog logs/access_log
        ErrorLog logs/error_log
        
        PidFile logs/httpd.pid
        TypesConfig conf/mime.types
        
        LoadModule php5_module        modules/libphp5.so
        
        DirectoryIndex index.html index.php
        
        AddType application/x-httpd-php .php 


        lami20j

        P.S. C'est un site minimal. Je trouve une bonne politique de commencer la configuration de début pas à pas et de ne pas utiliser le fichier de configuration par défaut d'apache.
        A savoir qu'il y a des options en ligne de commande très utiles.

        A toi de voir.
        1. Salut,
          J'ai rencontré le problème qui se trouve être assez récurrent. Il apparaît lorsque le DNS n'est pas installé.aut taper

          Sous debian il faut taper :
          # a2enmod php5
          #/etc/init.d/apache2 force-reload
          1. 1°) Je ne vois pas le rapport entre apache qui n'interprète pas le PhP, ce qui est le problème ici, et l'installation d'un DNS... Sait tu au moins ce qu'est un DNS et à quoi il set?

            2°) Les commandes que tu donne servent à activer le module PhP5 d'apache, et n'ont absolument aucun rapport avec le service DNS... Malgré tout cette solution peut être utile puisque installer php ne suffit pas, il faut activer le module d'Apache pour que ce dernier le gère...