Serveur Web message d'erreur

Bonjour je viens de mettre en place un serveur web apache,php,mysql et phpmyadmin sur mandrake 10.1

Cela fontionne parfaitement quand je tape http://localhost
mais si j'essai d'aller plus loin : http://localhost/dossier/index.htm impossible d'acceder a cette page je recois un message d'erreur

Forbidden

You don't have permission to access /bata/index.html on this server.

Apache-AdvancedExtranetServer/2.0.50 (Mandrakelinux/7mdk) mod_perl/1.99_16 Perl/v5.8.5 mod_ssl/2.0.50 OpenSSL/0.9.7d PHP/4.3.8 Server at 127.0.0.1 Port 80

8 réponses

  1. Modérateur
    Vérifie les permissions que tu as défini dans ton fichier de configuration apache (/etc/apache2/apache2.conf ou httpd.conf).
    0
    1. oki mais deja mon httpd.conf n'est pas a l'emplacement.donc j'ai fais une tite recherche.

      /usr/share/ADVX/compat/httpd.conf

      voici mon httpd.conf

      ServerType standalone
      ServerRoot /etc/httpd
      #ServerName 192.168.1.138
      #LockFile /etc/httpd/httpd.lock
      PidFile /var/run/httpd.pid
      ScoreBoardFile /etc/httpd/httpd.scoreboard
      ErrorLog logs/error_log
      LogLevel warn
      ResourceConfig /dev/null
      AccessConfig /dev/null
      DocumentRoot /var/www/html/

      ###
      ### Global Configuration
      ###
      # We now support multiple apache configurations on the same server. In
      # common.conf, we put all directives that are common to all implementations
      # (httpd, httpd-perl, etc.)
      Include conf/commonhttpd.conf

      ###
      ### IP Address/Port and Proxied configuration section
      ###
      # The APACHEPROXIED setting can be set in /etc/rc.d/init.d/httpd if you
      # are using a proxy or accelerator, like the Apache-SGI or khttpd, so that
      # the fast web server serves static content while Apache handles the
      # cgi or php files

      #BindAddress *
      <IfDefine APACHEPROXIED>
      Port 80
      Listen 80
      </IfDefine>
      <IfDefine !APACHEPROXIED>
      Port 80
      Listen 80
      </IfDefine>

      en gros c'est ca . la page localhost s'affiche parfaitement si je change la page localhost par une des mes pages mais je met le meme nom que la page localhost ca marche pas
      0
      1. en faite je veux integrer phpnuke sur mon serveur web ...
        0
        1. Contributeur
          Salut,

          Et dans "conf/commonhttpd.conf " il y a quoi (cf. la directive "include") ?

          Dal
          0
          1. ( cf . la directive "include")???
            0
            1. Modérateur
              Pour trouver le fichier en question :

              locate commonhttpd.conf
              locate commonapache.conf

              (tape updatedb s'il ne trouve pas, puis refais ton locate). Une fois le fichier localisé, regarde les lignes d'include.
              0
              1. Contributeur
                Hmmm, bon

                1.

                Voici l'extrait de ton fichier de configuration auquel je me référais :

                ### Global Configuration
                ###
                # We now support multiple apache configurations on the same server. In
                # common.conf, we put all directives that are common to all implementations
                # (httpd, httpd-perl, etc.)
                Include conf/commonhttpd.conf


                Dans le répertoire /usr/share/ADVX/compat/ il doit donc y avoir un sous répertoire conf, dans lequel du dois avoir un fichier de configuration additionnel dénommé commonhttpd.conf qui est inclu dans ton httpd.conf ("include").

                Ton httpd.conf me semble explicite sur l'emplacement de ce fichier.

                Ce fichier doit contenir nombre d'options de configuration absentes de ton httpd.conf, qui est très court.

                2.

                Il y a quand même des chances que ton problème vienne d'un problème de permissions, puisque c'est le message d'erreur que tu reçois.

                Le but de farfouiller dans le fichier de configuration est de déterminer l'utilisateur sous lequel ton processus Apache est lancé. Habituellement, ce sont les directives "User" et "Group" qui l'indiquent.

                3.

                Les fichiers html, images, etc. situés à partir de la racine de ton site doivent être lisibles par l'utilisateur en question (ou le groupe auquel il appartient).

                Les répertoires situés à partir de la racine de ton site, y compris ce dernier, doivent être exécutables par l'utilisateur en question (ou le groupe auquel il appartient) pour pouvoir être parcourus par httpd.

                4.

                Tu dois donc :

                - vérifier les permissions des fichiers et répertoires situés à partir de la racine de ton site (ls -l)
                - modifier leur utilisateur ou groupe en fonction de ce que tu as déterminé en 2. (commande chown)
                - atttribuer les droits mentionnés en 3. (commande chmod)

                S'agissant de ton répertoire racine et du fichier index qui y figure, les permissions devraient être correctes, puisque tu arrives à afficher la page. S'agissant de ton sous répertoire et/ou du fichier index qui y figure, il y a des chances que ce ne soit pas le cas. Si tu t'inspires des permissions de ton répertoire racine et du fichier index qui y figure pour les autres, il y a des chances que celà marche.

                5.

                Petit détail.. ton message initial comporte des incohérences.

                Tu dis :

                si j'essai d'aller plus loin : http://localhost/dossier/index.htm impossible d'acceder a cette page je recois un message d'erreur

                Forbidden

                You don't have permission to access /bata/index.html on this server


                L'erreur devrait être être relative au répertoire "dossier" (et non "bata") et au document "index.htm" (et non "index.html").

                Je suppose que c'est dû à un problème de recopie de l'erreur. Si ce n'est pas le cas dis le, car celà aurait une importance.

                Dal
                0
                1. Voir le message d'erreur dans le log /var/log/httpd/logs/error_log (ou équivalent) : tail /var/log/httpd/logs/error_log

                  Et des droits ainsi que owner et group sur le fichier /var/www/html/bata/index.html :
                  ls -l var/www/html/bata/index.html

                  Si tout est bon sur ces éléments, commencer à chercher plus alambiqué !

                  HTH
                  0