EasyPHP en mini-serveur local

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : EasyPHP en mini-serveur local

par Patriboom » 18 nov. 2007, 04:49

La solution de l'adresse incomplète me plait.
J'avoue qu'à recopier une liste d'adresse j'espérais que quelque chose du genre existe, mais ça n'est pas allé plus loin que ça.

Merci.

par zeus » 17 nov. 2007, 20:44

Il est aussi possible d'utiliser une adresse IP partielle ou une paire adresse réseau/masque réseau.

Comme toutes les machines de ton réseau semblent être de la forme 192.168.0.* (on va dire 192.168.*.*), tu pourrais utiliser

Code : Tout sélectionner

DocumentRoot "C:/Gestion" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 192.168 # Exemple avec une adresse incomplète Satisfy all </Directory> <Directory "C:/Gestion"> Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 192.168.0.0/0.0.255.255 # Exemple avec couple adresse du réseau/masque </Directory>
Tu remarqueras que je te présente 2 solutions :

L'utilisation d'une adresse IP incomplète, qui équivaut à accepter toutes les adresses IP qui commencent par ce qui est saisi :

Code : Tout sélectionner

Allow from 192.168 # Exemple avec une adresse incomplète
L'utilisation d'une adresse IP de réseau et un masque de réseau pour accepter toutes les machines d'un réseau :

Code : Tout sélectionner

Allow from 192.168.0.0/0.0.255.255 # Exemple avec couple adresse du réseau/masque

par Truc » 17 nov. 2007, 20:43

Je ne fais que de passer...

C'est quand même plus de la "gestion de serveur" qu'un souci PHP :wink

Code : Tout sélectionner

Allow from 192.168.0
à la place du listing devrait aussi fonctionner :-k

par Patriboom » 17 nov. 2007, 19:50

Je n'osais pas, mais si vous me le dites, ce me semblerait plus simple aussi.

Merci.

par Ryle » 17 nov. 2007, 17:51

Et ca serait pas plus simple de virer le "deny from all" que de gérer machine par machine qui a le droit de se connecter ? (surtout que s'il y a des modif dans le parc, personne ne viendra jamais songer à éditer le fichier conf du serveur)

par Patriboom » 17 nov. 2007, 16:51

:) :) :)

Ça marche!!!!
J'ai copié ma liste de permissions dans la section spécifique du sous-répertoire en plus de l'avoir déjà dans le répertoire principal. voici donc la version fonctionnelle de mon httpd.conf:

Code : Tout sélectionner

DocumentRoot "C:/Gestion" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 192.168.0.203 Allow from 192.168.0.204 Allow from 192.168.0.205 Allow from 192.168.0.206 ... Allow from 192.168.0.217 Satisfy all </Directory> [b]<Directory "C:/Gestion">[/b] Options Indexes FollowSymLinks AllowOverride all Order Deny,Allow Deny from all Allow from 127.0.0.1 Allow from 192.168.0.203 Allow from 192.168.0.204 Allow from 192.168.0.205 Allow from 192.168.0.206 ... Allow from 192.168.0.217 </Directory>
J'ai enlevé, ci-haut, toutes les lignes avec commentaire (#).

Le problème, je crois, c'est d'avoir mis en c:\gestion en root.


Merci à vous.

par Patriboom » 17 nov. 2007, 16:40

De retour :!:

J'ai essayé une liste de Allow from 192.168.0.201 ... à 192.168.0.219
Ça n'a pas fonctionné.

J'ai installé Wamp et j'ai changé son httpd.conf, lui insérant ceci:

Code : Tout sélectionner

<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 192.168.0.203 Allow from 192.168.0.204 Allow from 192.168.0.205 Allow from 192.168.0.206 Allow from 192.168.0.207 Allow from 192.168.0.208 Allow from 192.168.0.209 Allow from 192.168.0.210 Allow from 192.168.0.211 Allow from 192.168.0.212 Allow from 192.168.0.213 Allow from 192.168.0.214 Allow from 192.168.0.215 Allow from 192.168.0.216 Allow from 192.168.0.217 Satisfy all </Directory>
Et j'essaie d'y accéder via 192.168.0.208


Et voilà que j'ai un nouveau message d'erreur:
Forbidden
You don't have permission to access / on this server.



Pourtant, j'ai
  • - arrêté complètement le FireWall
    - redémarrer Apache
    - essayé en maj/min
Y aurait-il d'autres modifications à faire dans le httpd.conf ?

par Patriboom » 17 nov. 2007, 15:21

Donc, j'essaie des Allow ip_des_autres_machines et je vous reviens.

par Ryle » 17 nov. 2007, 13:04

Ca serait plus logique en effet, mais apache ne semble pas se soucier de l'ordre :)

A priori on peut même les alterner :

Code : Tout sélectionner

allow from 127.0.0.1 deny from 127.0.0.2 allow from 127.0.0.3 deny from 127.0.0.4

par zeus » 17 nov. 2007, 12:56

Dans le cas d'un

Code : Tout sélectionner

Order deny, allow
ne faut-il pas tout d'abord le deny et ensuite les allow ?

Ce qui donnerais donc :

Code : Tout sélectionner

Order deny,allow deny from all Allow from 127.0.0.1

par Ryle » 17 nov. 2007, 12:44

Quelques remarques :

"localhost" et "127.0.0.1" correspondent à la même chose, à savoir la machine sur laquelle on se trouve. Tu ne peux donc pas l'utiliser depuis un poste client pour te connecter au serveur.

Il te faut donc bien passer par l'adresse ip du serveur pour t'y connecter (voire par le nom de la machine sous un réseau windows, cela doit fonctionner également).

Si tu testes l'url http://addresse_ip_serveur/ tu devrais pouvoir accéder à la page d'accueil d'easyphp qui se trouve dans le dossier www.

Ensuite, concernant la configuration d'apache, tu as ceci :
Alias "/Gestion" "c:/gestion/" // redirige les urls du type /Gestion vers le dossier c:/gestion/
<Directory "c:/gestion">
Options FollowSymLinks Indexes
AllowOverride None
Order deny,allow
Allow from 127.0.0.1 // autorise l'accès aux machines dont l'adresse est 127.0.0.1 (cad le serveur)
deny from all // rejete toute les autres demandes
</Directory>
Ainsi ta configuration ne te permet d'accéder à ce dossier qu'en te connectant depuis ton serveur et non d'un poste client qui aura forcément une autre adresse ip que 127.0.0.1 (qui correspond à la machine locale) et qui sera donc rejeté :)

HTH

par Truc » 17 nov. 2007, 02:26

:google: :roll:

C'est gratuit.

par Patriboom » 17 nov. 2007, 02:08

Où puis-je trouver Wamp ? Pour ceux qui se posent la même question: http://www.wampserver.com/index.php

Est-ce gratuit?

par choubix » 17 nov. 2007, 01:51

j'etais sur easyphp et je suis passe sur Wamp

ca me semble tenir la route.
les updates sont aussi apparement plus frequentes que pour easyphp.

par ailleurs je suis passe sur wamp parce ue j'avais des soucis d'alias

par Patriboom » 16 nov. 2007, 20:25

Bien sûr, je peux, mais c'est gros.

Quelle partie?


Voici le bas de la page, les allias:

Code : Tout sélectionner

### Alias EasyPHP # !!! DO NOT REMOVE !!! # ======================================== #alias Alias "/Gestion" "c:/gestion/" <Directory "c:/gestion"> Options FollowSymLinks Indexes AllowOverride None Order deny,allow Allow from 127.0.0.1 deny from all </Directory> #alias # ======================================== ### Alias End

À peu près au tiers du fichier httpd.conf se trouve aussi ceci:

Code : Tout sélectionner

<IfModule alias_module> # # Redirect: Allows you to tell clients about documents that used to # exist in your server's namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo http://localhost/bar # # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path Alias /images_easyphp "${path}/home/images_easyphp" Alias /home/mysql "${path}/phpmyadmin" Alias /home/sqlite "${path}/sqlitemanager" Alias /home "${path}/home" # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a <Directory> section to allow access to # the filesystem path. <Directory "${path}/home/images_easyphp"> Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all </Directory> <Directory "${path}/phpmyadmin"> Options FollowSymLinks Indexes AllowOverride None Order deny,allow allow from 127.0.0.1 deny from all </Directory> <Directory "${path}/sqlitemanager"> Options FollowSymLinks Indexes AllowOverride None Order deny,allow allow from 127.0.0.1 deny from all </Directory> <Directory "${path}/home"> Options FollowSymLinks Indexes AllowOverride None Order deny,allow allow from 127.0.0.1 deny from all </Directory> # # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. # ScriptAlias /cgi-bin/ "${path}/cgi-bin/" </IfModule>


:?: Devrais-je activer ce traitement d'erreur :?:

Code : Tout sélectionner

# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var # ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var # ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var # ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var ... # ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var # ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var # ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var



Voici quelque chose qui semble une piste intéressante:

Code : Tout sélectionner

# ============================================================================ # Local access to the Apache HTTP Server Manual # # Provide access to the documentation on your server as # http://yourserver.localhost/manual/ # The documentation is always available at # http://httpd.apache.org/docs/2.2/ # # Required modules: mod_alias, mod_setenvif, mod_negotiation # AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|pt-br|ru))?(/.*)?$ "${path}/apache/manual$1" <Directory "${path}/apache/manual"> Options Indexes AllowOverride None Order allow,deny Allow from all <Files *.html> SetHandler type-map </Files> SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|pt-br|ru)/ prefer-language=$1 RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|pt-br|ru)){2,}(/.*)?$ /manual/$1$2 LanguagePriority en de es fr ja ko pt-br ru ForceLanguagePriority Prefer Fallback </Directory> # ============================================================================


Merci pour le trouble que vous vous donnez déjà.


@Berzemus: oui j'ai essayé http://192.168.0.213/Gestion/
@h0_noMan: je viens d'essayer http://localhost/Gestion/
Dans les deux cas: "Firefox ne peut établir de connexion avec le serveur à l'adresse 192.168.0.213" et "Firefox ne peut établir de connexion avec le serveur à l'adresse localhost."