EasyPHP en mini-serveur local

Mammouth du PHP | 881 Messages

16 nov. 2007, 08:52

Bonjour!

J'ai installé depuis quelques mois EasyPHP 2.
J'ai lu les FAQ, j'ai suivi les liens qui menaient à des détails, j'ai aussi complètement bloqué les Pare-feux et les anti-virus.

J'ai installé EasyPHP sur un ordinateur du réseau qui s'appelle "serveur", l'ai désinstallé parce que ça ne marchait pas. L'ai ensuite installé sur un autre ordinateur moins achalandé, celui-ci s'appelant "ginette".

Je n'ai pas encore réussi à me servir de cette installation comme mini-serveur.
Pourtant, j'y arrivais avec la version 1.7.

Voici quelques-unes des adresses que j'ai essayées pour faire apparaître la page index.php du sous-répertoire "Gestion" défini dans EasyPHP et fonctionnant bien sur l'ordinateur où il est (http://127.0.0.1/Gestion/index.php)

http://192.168.0.206/Gestion/
http://192.168.0.206/Gestion/index.php
http://serveur/Gestion/
http://serveur/Gestion/index.php
http://serveur/127.0.0.1/Gestion/index.php
http://serveur/127.0.0.1/Gestion/

http://192.168.0.213/Gestion/
http://192.168.0.213/Gestion/index.php
http://ginette/Gestion/
http://ginette/Gestion/index.php
http://ginette/127.0.0.1/Gestion/index.php
http://ginette/127.0.0.1/Gestion/
http://127.0.0.1/ginette/Gestion/index.php
http://127.0.0.1/ginette/Gestion/

à l'appel de \\ginette\c\Gestion\ je reçois la liste de fichiers
à l'appel de \\ginette\c\Gestion\index.php je reçois le contenu du fichier, mais non-traité

Sur "ginette", j'ai modifié le "config.inc.php" j'ai aussi tenté de définir une réponse obigatoire dans le httpd.conf

Quelle sera donc la formule magique?

Je sais bien que EasyPHP est un outil de développement et qu'on ne doit pas s'en servir comme serveur, mais les très rares accès de l'extérieur de l'ordi où sera installée l'application me sauveront beaucoup de temps.


Merci à l'avance de votre aide.
Soyez artisans de paix

Eléphant du PHP | 445 Messages

16 nov. 2007, 09:48

As tu esssayé :

http://localhost/Gestion/

ViPHP
ViPHP | 4039 Messages

16 nov. 2007, 13:00

à noter que l'adresse 127.0.0.1 est une adresse qui renvoie tout ordinateur vers lui-même..

Il faudrait mettre l'IP de ton ordinateur tel qu'il est visible sur le réseau.
(donc l'adresse http://192.168.0.206/Gestion/ devrait fonctionner)

Tu peux nous afficher le fichier de configuration apache ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Mammouth du PHP | 881 Messages

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."
Soyez artisans de paix

Eléphant du PHP | 319 Messages

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
niveau: pas terrible en php mais je me soigne...

Mammouth du PHP | 881 Messages

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?
Modifié en dernier par Patriboom le 17 nov. 2007, 05:41, modifié 1 fois.
Soyez artisans de paix

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 nov. 2007, 02:26

:google: :roll:

C'est gratuit.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

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
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

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
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 881 Messages

17 nov. 2007, 15:21

Donc, j'essaie des Allow ip_des_autres_machines et je vous reviens.
Soyez artisans de paix

Mammouth du PHP | 881 Messages

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 ?
Soyez artisans de paix

Mammouth du PHP | 881 Messages

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.
Soyez artisans de paix

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

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)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 881 Messages

17 nov. 2007, 19:50

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

Merci.
Soyez artisans de paix