PDA

Voir la version complète : Serveur Apache uniquement en local


Lumina
13/05/2004, 02h23
Bonjour,

Comment je fais pour que mon serveur Apache 2 ne serve qu'à des accès localhost, et ne soit pas disponible depuis l'extérieur quand on connait mon IP ?

Merci

Pitchoune
13/05/2004, 02h53
Ce que je ferais, c'est de créer un accès par un htaccess.

La méthode est similaire entre Apache 1 et Apache 2, il y a juste une étape supplémentaire sur Apache 2 :

- Ouvrir le fichier appelé "httpd.conf" et trouver ceci :

AllowOverride None

Remplacer par :

AllowOverride All

- Trouver :

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#

Mettre juste au-dessus :

<Directory "C:/chemin_racine_de_localhost">
AllowOverride AuthConfig
Options Indexes
</Directory>

Remplacer "C:/chemin_racine_de_localhost" par le chemin utilisé pour racine d'Apache. Ceci est l'étape supplémentaire sur Apache 2.

Fermer httpd.conf et redémarrer Apache.

Ensuite, il reste à créer les fichiers en .htaccess et .htpasswd. Il est impossible de les créer sous Windows (le nom de ces fichiers est au format Unix). Le fichier .htpaccess requis avec les informations à modifier est en pièces jointes, l'ouvrir avec le Bloc-Notes pour pouvoir le modifier.

Dans le fichier .htaccess à mettre à la racine d'Apache 2 ("C:/chemin_racine_de_localhost" de httpd.conf), les paramètres par défaut suivants sont indiqués dans la pièce jointe :

AuthUserFile "C:/chemin_du_fichier_htpasswd/.htpasswd"
AuthName "Description quelconque."
AuthType Basic
<Limit GET>
require valid-user
</Limit>

Modifier bien évidemment "C:/chemin_du_fichier_htpasswd/.htpasswd" pour qu'il soit adapté à votre configuration, ainsi que "Description quelconque" si l'envie en est ainsi.

Reste le fichier .htpasswd à remplir. Une seule ligne dedans suffira. Pour cela, ouvrir une session d'invite de commandes DOS et aller dans le répertoire appelé "bin" du lieu où a été installé Apache. Dedans, il suffit d'entrer ceci :

htpasswd -bc .htpasswd utilisateur mot_de_passe
Un fichier .htpasswd sera automatiquement crée et est à placer dans le répertoire indiqué dans le fichier .htaccess.

Un peu long mais c'est fini :)

xcheater2
13/05/2004, 05h05
ou tout simplement :

Order deny,allow
allow from 127.0.0.1
deny from all


le 127.0.0.1 peut etre remplacé par le nom de domaine de la machine pour un reseau local, pour ma part le 127.0.0.1 est remplacé par xcheater2

Sophocle
13/05/2004, 10h34
Xcheater2, j'adore tes solutions, elles sont toujours évidentes quand on les lit :)

Pitchoune
13/05/2004, 15h42
Xcheater2, j'adore tes solutions, elles sont toujours évidentes quand on les lit :)Merci, ça me rassure pour les miennes de solutions :p

Lumina
13/05/2004, 15h55
Dans quel fichier ? :)

xcheater2
13/05/2004, 18h08
Xcheater2, j'adore tes solutions, elles sont toujours évidentes quand on les lit :)


et bien, je viens d'essayer, car la, selon ta réponse, j'avais des doutes. Mais ca fonctionne tres bien, j'ai donné cette solution car ca lui evite de faire un thacces.

voici mon teste :


Alias /ipatlas/ "e:/bigapache/BigApache/ipatlas/"

<Directory "e:/bigapache/BigApache/ipatlas">

# Options Indexes FollowSymLinks Includes
# AllowOverride None
# Order allow,deny
# Allow from all
# AddHandler type-map var
# AddHandler server-parsed .html
#AddHandler python-program .py
#PythonHandler mptest


Order deny,allow
allow from 127.0.0.1
deny from all


DirectoryIndex index.html index.asp index.html.var index.php index.php3 index.py
</Directory>


bien sur je ne l'ai fait que sur le répertoire ipatlas

Genschi
13/05/2004, 18h22
Ou sinnon y'a aussi l'instalateur auto de Htacces: http://www.phptools4u.com/scripts/htaccess_gene/ ... Mais bon Xcheater a l'aire d'avoir THE solution :D

xcheater2
13/05/2004, 18h37
Ou sinnon y'a aussi l'instalateur auto de Htacces: http://www.phptools4u.com/scripts/htaccess_gene/ ... Mais bon Xcheater a l'aire d'avoir THE solution :D


Genschi, je n'ai pas dit que j'avais LA solution, mais Lumina a demandé (et je cite) :

Comment je fais pour que mon serveur Apache 2 ne serve qu'à des accès localhost


et la, ca ne passe qu'en local, avec ou sans htacces.
Alors The solution a répondu.

Lumina
20/05/2004, 15h57
Merci, ça marche ! Adieu les pirates. :)
C'était dans le fichier httpd.conf et non pas dans .htaccess.
Et j'ai mis "localhost" au lieu de "127.0.0.1".

xcheater2
20/05/2004, 17h37
Merci, ça marche ! Adieu les pirates. :)
C'était dans le fichier httpd.conf et non pas dans .htaccess.
Et j'ai mis "localhost" au lieu de "127.0.0.1".

Cela revient au meme Lumina car tu as un fichier HOST Sans extension qui te dit que localhost c'st la meme chose que 127.0.0.1

Dans XP il est dans C:\WINDOWS\system32\drivers\etc

et voici le contenue du mien :

# Copyright (c) 1993-1999 Microsoft Corp.
#
# Ceci est un exemple de fichier HOSTS utilisé par Microsoft TCP/IP
# pour Windows.
#
# Ce fichier contient les correspondances des adresses IP aux noms d'hôtes.
# Chaque entrée doit être sur une ligne propre. L'adresse IP doit être placée
# dans la première colonne, suivie par le nom d'hôte correspondant. L'adresse
# IP et le nom d'hôte doivent être séparés par au moins un espace.
#
# De plus, des commentaires (tels que celui-ci) peuvent être insérés sur des
# lignes propres ou après le nom d'ordinateur. Ils sont indiqué par le
# symbole '#'.
#
# Par exemple :
#
# 102.54.94.97 rhino.acme.com # serveur source
# 38.25.63.10 x.acme.com # hôte client x

127.0.0.1 localhost
127.0.0.1 xcheater2
169.254.212.211 localhost
169.254.212.211 xcheater2

Lumina
20/05/2004, 18h47
Ok, c'est le fichier "hosts" (au pluriel), et chez moi il n'y a que la première ligne :
127.0.0.1 localhost
:)

xcheater2
20/05/2004, 19h06
c'est normal, je l'ai changé, si tu veu que ton site en local souvre en
http://lumina
rajoute une ligne en dessous

127.0.0.1 lumina

enregistre et redemarre apache

attention tout de meme, ne pas mettre le nom d'un site qui existe sur internet sinon tu ne pourra pas y acceder a moins que tu n'arrette apache.

Lumina
20/05/2004, 19h42
Oh ! Mais c'est très intéressant à savoir ça ! Car ça explique pourquoi l'IANA ne peut pas créer *.* pour les TLD : ça bloquerait ce genre de personnalisations.

Ah oui, sauf que "Lumina", c'est le nom de l'ordinateur. C'est pas un problème ?

xcheater2
20/05/2004, 20h02
le nom de mon pc c'est aussi xcheater2