web-dev-qa-db-fra.com

Hébergement de plusieurs sites locaux avec XAMPP

Je suis nouveau à utiliser XAMPP afin que cela puisse être simple à certaines personnes.

J'ai quelques projets PHP que j'aimerais pouvoir déboguer localement et afficher dans le navigateur (pas simultanément, mais sans avoir à modifier les fichiers de configuration/copier des dossiers de projet à chaque fois que je souhaite travailler sur un projet différent).

Sur IIS, vous pouvez configurer plusieurs sites pour servir de votre machine et je cherche quelque chose de similaire dans Xampp. Lorsque vous utilisez IIS, j'ai ajouté plusieurs enregistrements au fichier Windows hosts afin que je puisse accéder aux sites hébergés localement en tapant des adresses de style Web conviviales (comme http://myproject1.dev ).

Merci.

27
Greg

Greg, vous êtes presque là-bas - vous avez besoin (comme dit Moses) pour configurer des hôtes virtuels.

Donc si votre fichier héberge que votre fichier a

127.0.0.1    localhost
127.0.0.1    mysite-dev.com
127.0.0.1    anothersite-dev.com

Votre fichier d'hôtes virtuels (httpd-vhosts.conf) pourrait ressembler à:

<VirtualHost *:80>
  DocumentRoot C:/xampp/htdocs/
  ServerName localhost
</VirtualHost>

<VirtualHost *:80>

    ServerName mysite-dev.com

    DocumentRoot "C:/sites/mysite-dev"

    <Directory "C:/sites/mysite-dev">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

<VirtualHost *:80>

    ServerName anothersite-dev.com

    DocumentRoot "C:/sites/anothersite-dev"

    <Directory "C:/sites/anothersite-dev">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

N'oubliez pas de redémarrer le serveur Web après avoir apporté des modifications.

46
jbnunn

Je voudrais apporter un supplément en termes d'informations à jour.

XAMMP utilise le port 80 par défaut et nous sommes en mesure de publier 1 site Web. J'utilise aussi IIS pour les projets .NET. À cet égard, j'ai défini le port sur XAMMP, à l'exception du port 80. Donc, j'évite un conflit.

Lorsque nous voulons publier plus d'un site Web, nous devrions effectuer les opérations suivantes à httpd.conf (ceci est le nom actuel).

1. Définition des ports

Trouvez l'expression #listen dans le fichier httpd.conf. Changer Écoutez 80 pour écouter 8000 (ou quoi que ce soit d'autre que vous voulez)

Listen 8000

Si vous avez besoin de 3 sites Web différents, tapez les autres, y compris une définition sur chaque ligne, comme suit.

Listen 8001
Listen 8002
Listen 8003

2. Définissez les chemins de fichiers des sites accédés via des ports

Encore une fois, trouvez dans le fichier httpd.conf. Identifiez les dossiers de chaque site comme suit. Comme vous le voyez, j'ai créé 3 répertoires appelés 8000, 8001, 8002 et 8003 dans le répertoire HTDOCS de l'annuaire XAMMP.

<VirtualHost *:8000>
 DocumentRoot "C:\XAMPP\htdocs\8000"
 ServerName localhost:8000
<\ VirtualHost>
<VirtualHost *:8001>
 DocumentRoot "C:\XAMPP\htdocs\8001"
 ServerName localhost:8001
<\ VirtualHost>
<VirtualHost *:8002>
 DocumentRoot "C:\XAMPP\htdocs\8002"
 ServerName localhost:8002
<\ VirtualHost>
<VirtualHost *:8003>
 DocumentRoot "C:\XAMPP\htdocs\8003"
 ServerName localhost:8003
<\ VirtualHost>

Redémarrez votre serveur APAHCHE sur XAMMP. Vous pouvez maintenant afficher votre 3ème site, tel que http: // localhost: 80 ou http://192.168.1.8003/ .

J'espère être utile.

0
Yildirim Erdemli