[RESOLU][APACHE2] Faire pointer un nom de domaine vers un répertoire de mon serveur

Bonjour,

Voilà ma problématique. Je dispose d’une adresse IP fixe chez Free à laquelle est déclarée (chez Free toujours) le nom de domaine MauditWorld.hd.free.fr.

A coté de celà je possède le domaine lepetitserveur.fr, celui-là même qui est utilisé pour l’hébergement du forum.

Je souhaite m’héberger moi même et donc faire pointer le domaine “lepetitserveur.fr” sur un répertoire web déclaré dans mon serveur apache2.

Mon registar (1&1) me permet “d’envoyer” le nom de domaine sur une adresse IP de mon choix (en l’occurence la mienne de préférence B) ), jusque là , tout va bien, je comprend.

Le problème intervient sur la configuration du serveur apache afin que le nom “lepetitserveur.fr” renvoi les utilisateurs uniquement sur le répertoire contenant le forum. Voilà le fichier de configuration, lepetitserveur.fr que j’ai créé à cet effet :

<VirtualHost *> DocumentRoot "/mnt/web/forum" ServerName www.lepetitserveur.fr <Directory "/mnt/web/forum"> allow from all Options +Indexes </Directory> </VirtualHost>

Bien évidemment il manque quelques petits agencements mais surtout je voudrais savoir si la création de ce serveur virtuel suffira à faire ce que je désire faire ?
Est-ce que si l’utilisateur entre l’adresse “www.lepetitserveur.fr” il tombera bien, et uniquement, sur le répertoire /mnt/web/forum ?

Merci pour vos réponses.

NameVirtualHost est ton ami
http://httpd.apache.org/docs/2.0/vhosts/examples.html

Si j’ai bien compris ce que tu cherche a faire, oui, c’est faisable. Faut voir maintenant comment 1&1 renvoie dessus, pour etre sur qu’y a pas de soucis (genre qu’il fait bien passer le nom de domaine)

Effectivement, faut pas qu’ils te passent une url à la con, mais bien www.lepetitserveur.fr/path/to/what/I/want.php

Edit: j’avais mis un bout de conf apache 2 préconfiguré pour ce que tu voulais, mais non, c’est pas en copiant bêtement qu’on apprend et comprend. Mais avec le lien filé sur mon post précédent, t’auras un bel exemple

J’en profite pour demander, là j’essaie d’installer un Debian Stable (ouais… stable…) si je veux par exemple:

matthieu.monserveur.net
et
etienne.monserveur.net

je fais comme Cold a dit en faisant par exemple:

[code]# Ensure that Apache listens on port 80
Listen 80

Listen for virtual host requests on all IP addresses

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /mnt/web/matthieu
ServerName matthieu.monserveur.net
<Directory /mnt/web/matthieu>
allow from all
Options +Indexes

<VirtualHost *:80>
DocumentRoot /mnt/web/etienne
ServerName etienne.monserveur.net
<Directory /mnt/web/etienne>
allow from all
Options +Indexes

[/code]

Et à l’occasion je peux rajouter un champ pour www.monserveur.net, c’est bien ça?

[quote=“rolyat, post:5, topic: 31145”]J’en profite pour demander, là j’essaie d’installer un Debian Stable (ouais… stable…) si je veux par exemple:

matthieu.monserveur.net
et
etienne.monserveur.net[/quote]

Ouais je suis pas sur que ca marche comme ca en fait
Normalement il va gueuler avec ta config.

Moi je fais comme ca:

[code]# Ensure that Apache listens on port 80
Listen 80

Listen for virtual host requests on all IP addresses

NameVirtualHost [IP fixe]:80

DocumentRoot /mnt/web/matthieu ServerName matthieu.monserveur.net allow from all DocumentRoot /mnt/web/etienne ServerName etienne.monserveur.net allow from all DocumentRoot /mnt/web/default ServerName monserveur.net ServerAlias *.monserveur.net allow from all [/code]

Le dernier, c’est pour dire:
tous les sous domaines vont dans default, sauf etienne et mathieu
Et sinon, les Indexes, C’EST LE MAL ABSOLU, on est propre avec la secu et on me vire tres vite cette option de merde.

LoneWolf
Apache, c’est facile B)

Dit Lonewolf , dans [IP FIXE] tu colle quoi comme adresse ? Parce que mon serveur est en local derrière un routeur, dois-je mettre l’IP externe (internet Free) ou bien l’IP locale du serveur ?

Soit tu mets *, soit l’IP LAN de ta carte réseau, vu que ton routeur fait la translation.

Bon , en admettant que je parvienne à configurer tout ça , actuellement le répertoire racine de mon serveur est /mnt/web/ , qui est nommé par MauditWorld.hd.free.fr.

Si je met le forum dans /mnt/web/forum et que j’utilise le nom www.lepetitserveur.fr, pourrais-je continuer d’utiliser Mauditworld.hd.free.fr ou bien est-ce que les répertoires doivent être impérativement au même niveau ?

Rhhhâââ, je suis complètement largué.

Développe ?

[quote=“M_le_maudit, post:9, topic: 31145”]Bon , en admettant que je parvienne à configurer tout ça , actuellement le répertoire racine de mon serveur est /mnt/web/ , qui est nommé par MauditWorld.hd.free.fr.

Si je met le forum dans /mnt/web/forum et que j’utilise le nom www.lepetitserveur.fr, pourrais-je continuer d’utiliser Mauditworld.hd.free.fr ou bien est-ce que les répertoires doivent être impérativement au même niveau ?

Rhhhâââ, je suis complètement largué.[/quote]

Pas de soucis pour monsieur Apache. Il prend les trucs là ou tu lui dit qu’ils sont. Par contre en faisant comme ca, tu pourra aussi accéder à ton forum par http://MauditWorld.hd.free.fr/forum normallement.

Simple: En activant les indexes, tu autorises les gens a aller sur ton serveur comme si c’etait un serveur de fichiers: S’il n’y a pas de index.html, on voit la liste des fichiers et ils sont evidement recuperables (sauf pour les php qui sont execute avant donc ca devient du html).

Et perso, je connais pas mal de gens qui mettent des trucs sensibles sur des "repertoires a la con"™ donc je conseille systematiquement de ne pas mettre les indexes, qui ont de toute facon un interet tres limite pour un serveur web (c’est pour faire du web, pas du serveur de fichier donc bon)

LoneWolf
Mieux vaut prevenir que guerir.

Je craque …

J’ai mis un peu tout ça au propre :

sur le répertoire /mnt/web j’ai mis deux sous-répertoires correspondants aux deux serveurs virtuels J’ai donc /mnt/web/MauditWorld pour le premier serveur et /mnt/web/forum pour le forum.

Voilà la configuration pour le forum :

[code]NameVirtualHost *
<VirtualHost *>

Options FollowSymLinks
AllowOverride None

ServerAdmin Mlemaudit1@gmail.com
ServerName www.lepetitserveur.fr
DocumentRoot /mnt/web/forum
<Directory /mnt/web/forum/>
Options FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
allow from all

	ErrorLog /var/log/apache2/error_petitserveur.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
   LogLevel warn
   CustomLog /var/log/apache2/access_petitserveur.log "combined"
   ServerSignature On

[/code]

Et j’obtient en local un joli

[code]Forbidden
You don’t have permission to access / on this server.


Apache/2.0.55 (Debian) PHP/5.1.6-1 mod_ssl/2.0.55 OpenSSL/0.9.8c Server at 192.168.1.110 Port 80[/code]

J’ai loupé quoi là ?

EDIT : Bon , je crois avoir trouvé la source du problème, mais pas sa solution. J’ai mis un fichier index.html sur /mnt/web/MauditWorld (le premier serveur donc) et il semblerai que lorsque j’entre l’IP du serveur il m’affiche ce fichier et ne passe pas par la racine du deuxième site (www.lepetitserveur.fr) . Or ces deux virtuals host sont déclarés dans deux fichiers distincts, MauditWorld.hd.free.fr et lepetitserveur.fr .

Par le plus grand des hasard, est-ce que apache ne prendrait pas les déclarations par ordre alphabétique des fichiers de conf ?

Comment puis-je faire pour que, s’il ne trouve rien dans la racine du permier site il passe directement à la racine du deuxième ?

de mettre un fichier index.html ou index.php …

LoneWolf
Tss tss c’est quand meme la base! B)

Ben oui, c’est bien le but. Je vois pas en quoi “C"EST LE MAL ABSOLU”, faudrait arreter de raconter n’importe quoi.

L’interet c’est de pas se faire chier à faire un listing des fichiers à la main. Et puis si t’as des trucs sensibles, tu les mets pas sur le web, ou tu peux toujours retirer les droits en lecture sur le repertoire. Enfin, chacun fait comme il veut, mais c’est pas par ce que t’utilises cette option que t’es pas propre avec la secu …

[quote=“BokLM, post:14, topic: 31145”]Ben oui, c’est bien le but. Je vois pas en quoi “C"EST LE MAL ABSOLU”, faudrait arreter de raconter n’importe quoi.
L’interet c’est de pas se faire chier à faire un listing des fichiers à la main. Et puis si t’as des trucs sensibles, tu les mets pas sur le web, ou tu peux toujours retirer les droits en lecture sur le repertoire. Enfin, chacun fait comme il veut, mais c’est pas par ce que t’utilises cette option que t’es pas propre avec la secu …[/quote]

J’aurais pas dis mieux.

MMMhhh , ne nous énervons pas …

J’ai résolu mon problème en déclarant les deux virtual hosts dans le même fichier de conf et en mettant la déclaration pour www.lepetitserveur.fr avant celle de MauditWorld.hd.free.fr , maintenant si j’accède au serveur par 192.168.1.110 (les DNS sont pas encore propagés) je tombe bien sur le forum et si je tape MauditWorld.hd.free.fr je tombe bien sur la racine de l’autre virtual host.

Reste plus qu’à attendre que le www.lepetitserveur.fr soit propagé sur mon IP publique serveur pour tester effectivement l’adresse du forum.

Merci pour vos infos qui m’ont aiguillé.

[quote=“BokLM, post:14, topic: 31145”]Ben oui, c’est bien le but. Je vois pas en quoi “C"EST LE MAL ABSOLU”, faudrait arreter de raconter n’importe quoi.
L’interet c’est de pas se faire chier à faire un listing des fichiers à la main. Et puis si t’as des trucs sensibles, tu les mets pas sur le web, ou tu peux toujours retirer les droits en lecture sur le repertoire. Enfin, chacun fait comme il veut, mais c’est pas par ce que t’utilises cette option que t’es pas propre avec la secu …[/quote]
Oui ben non™

Tu as beau dire aux clients “mettez pas des trucs sensibles dans des repertoires du site web”, tu crois qu’il font quoi? De la meme maniere, les indexes permettent de faciliter enormement la recuperation des fichiers du serveur, notamment les images, qui peuvent avoir des droits ou que sais je. L’elimination des indexes gene considerablement les recuperateurs de contenu, j’hesite pas.

Donc moi je dis “no way”. Si tu veux faire du listing malgre tout, php est ton ami, avec l’avantage de filtrer par nom, par sous repertoire, bref t’as un controle par rapport au “wide open” des indexes. (l’exemple fourni n’a pas de filtrage, c’est un bout de code trouve sur php.net plus ou moins adapte a mon cas)

LoneWolf
Non au wide open des serveurs web!

[quote=“LoneWolf, post:17, topic: 31145”]Oui ben non™

Tu as beau dire aux clients “mettez pas des trucs sensibles dans des repertoires du site web”, tu crois qu’il font quoi? De la meme maniere, les indexes permettent de faciliter enormement la recuperation des fichiers du serveur, notamment les images, qui peuvent avoir des droits ou que sais je. L’elimination des indexes gene considerablement les recuperateurs de contenu, j’hesite pas.[/quote]
Bof.
Recupérer des images linkés dans une page web c’est pas exactement le nouvel horizon de la science moderne non plus.
Si les images sont sur le site web, il vaut mieux avoir les droits, de toute façon, index ou pas.
Argument faible.

On peut prendre l’argumentation par les deux bouts et dire qu’à l’inverse les gens se sentent faussement en sécurité parce que leur fichiers ne sont pas directement affichés alors qu’il restent accessibles.
Il vaut mieux savoir ce que signifie la directive et où il faut la mettre plutôt que de siffler tout ceux qui l’utilisent (cela dit on est bien d’accord sur un point, la mettre à la racine, c’est con).

Ayé, la propagation des DNS est terminée, tout c’est bien passé le site www.lepetitserveur.fr est sur mon serveur et en ligne.

Cool.

[quote=“LoneWolf, post:17, topic: 31145”]Oui ben non™

Tu as beau dire aux clients “mettez pas des trucs sensibles dans des repertoires du site web”, tu crois qu’il font quoi? De la meme maniere, les indexes permettent de faciliter enormement la recuperation des fichiers du serveur, notamment les images, qui peuvent avoir des droits ou que sais je. L’elimination des indexes gene considerablement les recuperateurs de contenu, j’hesite pas.

Donc moi je dis “no way”. Si tu veux faire du listing malgre tout, php est ton ami, avec l’avantage de filtrer par nom, par sous repertoire, bref t’as un controle par rapport au “wide open” des indexes. (l’exemple fourni n’a pas de filtrage, c’est un bout de code trouve sur php.net plus ou moins adapte a mon cas)

LoneWolf
Non au wide open des serveurs web![/quote]

Ah, tenez les jeunes, je profite de l’intervention particulièrement éclairée de Lonewolf qui nous montre ici le parfait exemple à ne pas suivre quand on bosse dans l’informatique (ou ailleurs d’ailleurs). Entre les déclarations à l’emporte pièce à grand renfort de mots porteurs de sens fort, renforcé par des majuscules (“le MAL ABSOLU”) -qui dénotent par ailleurs un manque de confiance évident dans le jugement. C’es bien connu, plus on a tort, plus on geule fort pour prouver qu’on a raison- les décisions tranchées et le manque totalement d’ouverture d’esprit (“faites ce que je dis, c’est ma manière la seule, la bonne, la vraie”), même quand il y a plusieurs personnes qui semblent ne pas partager son avis et le ton péteux-prétentieux-méprisant du mec qui est vraiment trop fort et qui daigne perdre du temps pour t’aider (“Tss tss c’est quand meme la base”), vous obtenez un interlocuteur pour lequel on souhaite généralement (et rapidement) de nombreux sévices physiques qui remettent en cause sa (très vague) dignité humaine.

D’ailleurs, du coup, le message qu’il cherche a faire passer est complètement noyé sous son ton péremptoire. Parce que, ce qu’il voulait très certainement dire (et il m’arretera certainement si je me trompe), c’est que mettre un listing automatique des dossiers en l’absence d’un fichier d’index, c’est pas une super bonne idée. En effet, ca se repercute sur tout le site et, quand il tourne depuis plusieurs mois, on a tendance à l’oublier, ce qui peut amener à un probleme de sécurité regrettable. Maintenant, le mieux c’est de configurer cette affichage au cas par cas, pour les dossiers qui sont choisis pour ca (que ca soit par .htaccess ou directement dans le virtualdir).

Pour résumé, par défaut, on interdit, et on ouvre au cas par cas, avec discernement. C’est d’ailleurs la base de la sécurité en informatique.