web-dev-qa-db-fra.com

hôtes virtuels apache sur le réseau local

j'ai 3 domaines pointés dans ma boîte Linux, les hôtes virtuels Apache2 sont configurés de sorte que chaque domaine charge la page Web appropriée lorsque vous le visitez en dehors du réseau local.

mon problème est d'essayer de voir les pages du réseau local.

si je vais dans les champs lan ip, je récupère le contenu de/var/www/html /

comment pourrais-je consulter les 3 autres domaines situés dans/var/www/(site-name-here) via le réseau local?

4
helmet648

Votre tentative d'accéder au site à l'aide d'une adresse IP lorsque votre fichier d'hôte virtuel est configuré pour utiliser un nom de domaine, et non une adresse IP ... afin de créer le dossier par défaut, dans ce cas /var/www/html/.

Correction 1. Fichier d'hôte virtuel local

La méthode la plus courante et la plus simple pour résoudre le problème serait de éditez votre fichier hôte sous Windows ou Mac, cela vous permettra d'accéder à tous les sites localement, en utilisant le nom de domaine comme vous le feriez en externe ...

Le fichier hôte ressemblerait à ceci:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to Host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding Host name.
# The IP address and the Host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#
192.168.1.1 exampleA.com
192.168.1.1 exampleB.com
192.168.1.1 exampleC.com

Correction 2. Adresses IP virtuelles

Étant donné que vous avez 3 sites et que vous avez l'intention de visiter l'ensemble de ces sites via l'IP interne du réseau local, vous êtes confronté à un problème plus complexe: comment indiquer à Apache2 le site à renvoyer lorsque vous n'avez qu'une seule adresse IP ...

Le correctif consisterait à utiliser adresses IP virtuelles et à attribuer une adresse IP virtuelle à l'hôte virtuel, plutôt que d'utiliser *.

Quelque chose comme ça:

# Site A
<VirtualHost 100.100.100.1>
    ServerName www.example-1.com
    DocumentRoot /var/www/exampleA
</VirtualHost>

# Site A
<VirtualHost 100.100.100.2>
    ServerName www.example-2.com
    DocumentRoot /var/www/exampleB
</VirtualHost>

# Site C
<VirtualHost 100.100.100.3>
    ServerName www.example-3.com
    DocumentRoot /var/www/exampleC
</VirtualHost>

L'utilisation de ce qui précède vous permettra de visiter les sites à l'aide des adresses IP virtuelles.

Correction 3. Mapper les dossiers

Vous pouvez mapper les dossiers comme alias pour que, lorsque quelqu'un visite http://100.100.100.1/exampleA il obtienne le site A ou se rende à /exampleB obtiendra le site B, etc.

Quelque chose comme ça:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    Alias /ExampleA /var/www/exampleA
    Alias /exampleB /var/www/exampleB

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
     </Directory>
</VirtualHost>
3
Simon Hayter