Forum Linux.débutant configuration d'apache : Server Error: 501 Not Implemented

Posté par  .
Étiquettes : aucune
0
29
oct.
2005
Salut

J'ai deux ordis reliès à un modem routeur olitec sx500
ordi 1: 192.168.0.1
ordi 2: 192.168.0.2

les deux sont en réseau privé et connecté au net avec l'ADSL

J'installe apache sur l'ordi 2 configure httpd, et ouvre le port 80 pour 192.168.0.2 sur la configuration du routeur ( et en profite pour noter l'IP (du routeur ?)) : 81.248.76.78

Je relance le tout,
je navigue sans problème sur le net mais :

qd de l'ordi 1, je fais http://81.248.76.78/192.168.0.2/,
la réponse est:

Server Error: 501 Not Implemented
No RPM for this combination of URL and method
/192/168/0/2


Que se passe-t-il ? J'ai fouillé des tutoriaux et forum sur apache, et je ne trouve pas.

Voici mon fichier /usr/share/ADVX/compat/httpd.conf (Rmq: le DocumentRoot /web existe et a pour droits drwxrwxrwx ):
### Main Configuration Section
### You really shouldn't change these settings unless you're a guru
###
ServerType standalone
ServerRoot /etc/httpd
ServerName 192.168.0.2
#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 /web


### Dynamic Shared Object (DSO) Support
###
###
#LoadModule mmap_static_module modules/mod_mmap_static.so
LoadModule env_module modules/mod_env.so
LoadModule config_log_module modules/mod_log_config.so
LoadModule agent_log_module modules/mod_log_agent.so
LoadModule referer_log_module modules/mod_log_referer.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule mime_module modules/mod_mime.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so
LoadModule includes_module modules/mod_include.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule asis_module modules/mod_asis.so
LoadModule imap_module modules/mod_imap.so
LoadModule action_module modules/mod_actions.so
#LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule proxy_module modules/libproxy.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule anon_auth_module modules/mod_auth_anon.so
#LoadModule dbm_auth_module modules/mod_auth_dbm.so
#LoadModule db_auth_module modules/mod_auth_db.so
LoadModule digest_module modules/mod_digest.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule example_module modules/mod_example.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so

# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
# [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
ClearModuleList
#AddModule mod_mmap_static.c
AddModule mod_env.c
AddModule mod_log_config.c
AddModule mod_log_agent.c
AddModule mod_log_referer.c
#AddModule mod_mime_magic.c
AddModule mod_mime.c
AddModule mod_negotiation.c
AddModule mod_status.c
AddModule mod_info.c
AddModule mod_include.c
AddModule mod_autoindex.c
AddModule mod_dir.c
AddModule mod_cgi.c
AddModule mod_asis.c
AddModule mod_imap.c
AddModule mod_actions.c
#AddModule mod_speling.c
AddModule mod_userdir.c
AddModule mod_proxy.c
AddModule mod_alias.c
AddModule mod_rewrite.c
AddModule mod_access.c
AddModule mod_auth.c
AddModule mod_auth_anon.c
#AddModule mod_auth_dbm.c
#AddModule mod_auth_db.c
AddModule mod_digest.c
#AddModule mod_cern_meta.c
AddModule mod_expires.c
AddModule mod_headers.c
AddModule mod_usertrack.c
#AddModule mod_example.c
#AddModule mod_log_forensic.c
#AddModule mod_unique_id.c
AddModule mod_so.c
AddModule mod_setenvif.c
AddModule mod_vhost_alias.c

###
### 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 8080
Listen 8080

<IfDefine !APACHEPROXIED>
Port 80
Listen 80


# Likewise, we can set apache as the server by default and send perl
# requests via ProxyPass to apache-mod_perl. It increases performance
# since the perl interpreter is only used for perl and the standard apache
# does all the html and image files, with a smaller footprint.
#
# If you install apache and apache-mod_perl, this is the default config.
# If you don't want two web servers to use perl, uninstall apache, and
# apache-mod_perl will not be proxied.

<IfDefine PERLPROXIED>
RewriteEngine on
RewriteRule ^proxy:.* - [F]
RewriteRule ^(.*\/perl\/.*)$ http://%{HTTP_HOST}:8200$1 [P]
RewriteRule ^(.*\/cgi-perl\/.*)$ http://%{HTTP_HOST}:8200$1 [P]


###
### Log configuration Section
###

#Single logfile with access, agent and referer information
#This is the default, if vlogs are not defined for the main server
CustomLog logs/access_log combined env=!VLOG
#If VLOG is defined in conf/vhosts/Vhost.conf, we use this entry
CustomLog "|/usr/sbin/advxsplitlogfile" vhost env=VLOG


###
### Virtual Hosts
###
# We include different templates for Virtual Hosting. Have a look in the
# vhosts directory and modify to suit your needs.
Include conf/vhosts/Vhosts.conf
#Include conf/vhosts/DynamicVhosts.conf
#Include conf/vhosts/VirtualHomePages.conf


###
### Performance settings Section
###
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 15

#
# Server-pool size regulation. Rather than making you guess how many
# server processes you need, Apache dynamically adapts to the load it
# sees --- that is, it tries to maintain enough server processes to
# handle the current load, plus a few spare servers to handle transient
# load spikes (e.g., multiple simultaneous requests from a single
# Netscape browser).
#
# It does this by periodically checking how many servers are waiting
# for a request. If there are fewer than MinSpareServers, it creates
# a new spare. If there are more than MaxSpareServers, some of the
# spares die off. The default values are probably OK for most sites.
#
MinSpareServers 4
MaxSpareServers 10

#
# Number of servers to start initially --- should be a reasonable ballpark
# figure.
#
StartServers 4

#
# Limit on total number of servers running, i.e., limit on the number
# of clients who can simultaneously connect --- if this limit is ever
# reached, clients will be LOCKED OUT, so it should NOT BE SET TOO LOW.
# It is intended mainly as a brake to keep a runaway server from taking
# the system with it as it spirals down...
#
MaxClients 150

#
# MaxRequestsPerChild: the number of requests each child process is
# allowed to process before the child dies. The child will exit so
# as to avoid problems after prolonged use when Apache (and maybe the
# libraries it uses) leak memory or other resources. On most systems, this
# isn't really needed, but a few (such as Solaris) do have notable leaks
# in the libraries. For these platforms, set to something like 10000
# or so; a setting of 0 means unlimited.
#
# NOTE: This value does not include keepalive requests after the initial
# request per connection. For example, if a child process handles
# an initial request and 10 subsequent "keptalive" requests, it
# would only count as 1 request towards this limit.
#
MaxRequestsPerChild 500
  • # Utilise la bonne adresse du serrveur web !

    Posté par  . Évalué à 2.

    Pour consulter ton serveur web sur ordi2 à partir d'ordi1, tu utilises uniquement ton réseau local.
    Dasn ce cas, l'adresse 81.248.76.78 est inutile : c'est l'adresse IP de ton modem vue d'internet.

    A partir de ordi1, fais http://192.168.0.2

    Si cela ne fonctionne pas, vérifie d'une part que ton routeur achemine les paquets d'ordi1 vers ordi2 et réciproquement et d'autre part qu'un pare-feu sur ordi1 ou ordi2 ne bloque pas les échanges réseaux web.
    • [^] # Re: Utilise la bonne adresse du serrveur web !

      Posté par  . Évalué à 1.

      Pour consulter ton serveur web sur ordi2 à partir d'ordi1, tu utilises uniquement ton réseau local.
      Dans ce cas, l'adresse 81.248.76.78 est inutile : c'est l'adresse IP de ton modem vue d'internet.

      oui, mais je voudrais pouvoir consulter mon serveur web depuis n'importe quel ordi (pas forcément un du réseau local)
      si je fais à partir de l'ordi 1; http://192.168.0.2 , firefox marque chargement et stop un moment en écrivant : Délai de connexion dépassé lors du contatct 192.168.0.2
      Et puis cela meparaît étrange que quelqu'un du web doive taper 192.168.0.2 ( adresse privée )pour accéder à mon serveur web ??
      Par contre, si je tape http://81.248.76.78, on me demande de m'identifier (por accéder au réglage de mon routeur), mais pas moyen d'accéder à ordi2 ( qui est derrière ce routeur)

      vérifier qu'un pare-feu sur ordi1 ou ordi2 ne bloque pas les échanges réseaux web
      De plus, quand je teste tout ça, je désactive mon firewall sur l'ordi 2:
      iptables -F
      iptables -X
      iptables -P INPUT ACCEPT
      iptables -P OUTPUT ACCEPT
      iptables -P FORWARD ACCEPT
      • [^] # commencer par le début !

        Posté par  . Évalué à 1.

        Tu as de multiples vérifications-configurations à faire. Si tu veux t'en sortir, réalise les étapes dans l'ordre et ne passe pas à l'étape suivante si l'étape en cours n'est pas traitée correctement :
        - ton serveur web est-il en service ?
        - est-il consultable à partir d'ordi2 ?
        - les machines ordi1 et ordi2 peuvent-elles échanger des données par le réseau (ping, pare-feu, le modem routeur est-il configuré pour cela) ?
        - ton serveur web est-il accessible à partir d'ordi1l (visiblement non actuellement) ?
        - ton serveur web est-il accessible d'internet (configuration du modem routeur) ?

        En local, tu dois utiliser l'adresse d'ordi2 pour consulter ton serveur web. A partir d'internet, tu utiliseras l'adresses du modem routeur qui fera suivre à ordi2 (NAT, en français : translation d'adresse réseau).

        firefox n'est pas le premier outil à utiliser pour tester ton réseau. Utilise d'abord :
        ifconfig
        iptables
        ping
        route
        nmap
        tcpdump
        Voir les pages de manuel correspondantes.

        Consulte la documentation, en particulier :
        - notion de passerelle,
        - le routage,
        - la translation d'adresse.

        #Par contre, si je tape http://81.248.76.78, on me demande de
        # m'identifier (por accéder au réglage de mon routeur),
        Normal : tu tentes de te connecter sur le serveur web de ton modem routeur qui te permet de le configurer.

        Bonne lecture et bonne continuation.
        • [^] # Re: commencer par le début !

          Posté par  . Évalué à 1.

          le réseau privé est ok:
          je peux faire un ping de l'ordi 1 sur l'ordi 2
          ordi1:/home est monté via nfs sur l'ordi 2
          nmap ok...
          donc ce n'est pas ça

          qd je fais http://192.168.0.2 de l'ordi 1, ma page d'acceuil s'affiche.

          Mais si je fais un http://81.248.76.78 ,on me demande de
          m'identifier (por accéder au réglage de mon routeur):

          Ca semble être un pb au niveau des réglages du routeur ( olitec sx500)


          Je m'y mets de suite ...
          • [^] # Re: commencer par le début !

            Posté par  . Évalué à 1.

            >Mais si je fais un http://81.248.76.78 ,on me demande de
            >m'identifier (por accéder au réglage de mon routeur)
            Il est peut-être possible de désactiver le serveur web de ton modem et de renvoyer les demandes de connection provenant du réseau local à destination du port 80 de 81.248.46.78 vers ton serveur web sur ordi2. Mais dans ce cas, comment vas-tu configurer ton modem ?


            Pour tester l'accès à ton serveur web à partir d'internet, demande à l'un de tes amis s'il peut s'y connecter à partir de sa machine personelle.

            Il est impossible de tester cet accès seulement à partir d'ordi1 : les paquets doivent venir d'internet et ordi1 est dans le réseau local.


            Une question :l'adresse IP mise à ta dispoqition par fournisseur d'accès est-elle fixe ou bien dynamique ?
            Dans le second cas, comment retrouver ta machine sur internet d'un jour à l'autre ?

            P.S. A l'instant, il n'y a pas de serveur web à l'adresse 81.248.46.78
        • [^] # Re: commencer par le début !

          Posté par  . Évalué à 1.

          nmap de l'ordi 1 sur l'ordi 2 ok
          ping.... ok

          ce n'est donc pas le réseau locale qui flanche

          http://192.168.0.2 de l'ordi 1 affiche bien la page d'acceuil du site hébergé sur l'ordi 2

          http://81.248.76.78 m'envoi sur les régages du routeur

          Donc : ordi 2 accessible du réseau locale mais pas du net.

          Ca semble être un pb de configuration du routeur

          Je m'y mets
  • # Configuration d'apache

    Posté par  . Évalué à 2.

    "qd de l'ordi 1, je fais http://81.248.76.78/192.168.0.2/"

    Là ce doit être le routeur qui répond, et pas le serveur sur 192.168.0.2.

    "Voici mon fichier /usr/share/ADVX/compat/httpd.conf "

    ["ADVX" : la distribution est certainement une mandriva]

    Ça n'est sûrement pas ce fichier qu'il faut modifier, mais ceux présents dans /etc/httpd/

    De plus l'indication "You really shouldn't change these settings unless you're a guru" semble AMHA prendre tout son sens ici :-)
    Pas touche à cette section du fichier (d'ailleurs, pas besoin de changer le nom d'hote en une adresse IP ...)!




    Pour accéder au serveur depuis le réseau local, l'URI
    http://192.168.0.2/
    doit fonctionner (une fois apache configuré correctement).

    Pour accéder depuis l'extérieur, il faut dans la configuration du routeur mapper le port TCP 80 vers la machine 192.168.0.2 (cf. doc du routeur).

    Et alors l'accès depuis l'extérieur se fera par :
    http://81.248.76.78/
    (jusqu'à ce que cette IP change, dans le cas d'une IP dynamique).

    En résumé : il faut configurer les vrais fichiers de apache (et non ceux de la doc), et configurer le routeur pour mapper le port.

    • [^] # RESOLU

      Posté par  . Évalué à 1.

      ok, c'est résolu
      1) Grâce à vos conseils
      2)il fallait faire les vérifs à partir d'un autre compte ADSL, sinon, ça ne marche pas.

      Merci à tous

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.