165 votes

Accéder à localhost (xampp) depuis un autre ordinateur sur un réseau LAN - comment faire ?

Je viens de mettre en place un réseau wi-fi à la maison. J'ai tous mes fichiers sur mon ordinateur de bureau (192.168.1.56) et je veux accéder à localhost depuis un autre ordinateur (192.168.1.2).

Sur mon ordinateur de bureau, je peux accéder à localhost par la procédure normale http://localhost . Apache fonctionne sur le port 80 comme d'habitude.

Que dois-je faire exactement pour y parvenir ? Il existe de la documentation sur le net mais elle ne fonctionne pas ou est trop fragmentée et confuse pour être comprise.

Je pense que je dois modifier le fichier httpd.conf de mon apache et le fichier hosts. Avez-vous une idée des modifications à apporter ?

2 votes

Les personnes ayant trouvé cette question pourraient être intéressées par Comment puis-je me connecter à cet hôte local à partir d'un autre ordinateur sur le même réseau ? .

1 votes

Voici ce que j'ai fait et qui a fonctionné pour moi sur Windows 10 : allez dans cmd et tapez ipconfig, puis trouvez votre adresse ipv4 et renommez l'url de votre site web en fonction de cette ip, par exemple : 192.168.0.2/exemple . Ensuite, recherchez dans Windows "Autoriser une application à travers le pare-feu Windows", cliquez dessus, puis cliquez sur "Modifier les paramètres" et assurez-vous que le serveur http apache est coché. J'espère que cela vous aidera.

0 votes

J'ai un site nommé app.sitename.com. Je peux maintenant accéder au site sur un autre ordinateur du même réseau en utilisant une adresse IP. Comment accéder avec un sous-domaine. app.ipaddress.com ne fonctionne pas. Que dois-je faire pour ajouter un sous-domaine sur le PC distant ?

122voto

BugFinder Points 7662

Localhost est juste un nom donné pour la boucle, par exemple, c'est comme se référer à soi-même en tant que "moi" .

Pour le visualiser à partir d'autres ordinateurs, il est fort probable que vous n'ayez qu'à faire ce qui suit http://192.168.1.56 ou http://myPcsName Si cela ne fonctionne pas, il est possible qu'un pare-feu soit en place sur votre ordinateur, ou que le fichier httpd.conf n'écoute que sur 127.0.0.1.

0 votes

Httpd.conf : Listen 80. Si je dois le modifier, que me conseillez-vous ?

1 votes

Cela indique simplement qu'il faut écouter sur le port 80, il y a de fortes chances qu'il écoute déjà. netstat -a , recherchez les éléments sur le port 80, cela vous dira sur quelle(s) IP il écoute.

0 votes

Protocole:tcp, adresse locale:0.0.0.0:80, adresse étrangère:desktoppcname, state:listening

54voto

Raja Points 111

Merci pour cette explication détaillée.

Juste pour élaborer, sous Windows, allez dans Panneau de configuration -> Pare-feu, dans les exceptions "ajouter http et port 80". Ensuite, dans Services, cochez "http (port 80 du serveur web)" et "https (port 443 du serveur web)". UNIQUEMENT si vous avez besoin que https fonctionne aussi. Ok, OK, Fermer

Ensuite, allez sur n'importe quel ordinateur du réseau et tapez http://computer-name (où vous modifiez le pare-feu et où la xampp est exécutée) dans votre navigateur web et vous êtes heureux :)

10 votes

Je suis allé dans Panneau de configuration > Pare-feu Windows > Autoriser une application via le Pare-feu Windows > Autoriser une autre application > Parcourir vers : XAMPP/apache/bin/httpd.exe et je l'ai autorisée. Cela fonctionne maintenant !

0 votes

Merci. Cela fonctionne bien.

0 votes

Pour ajouter l'exception du Pare-feu Windows, vous pouvez visiter cette page pour apprendre comment : tomshardware.com/news/

21voto

Shreedhar Bhat Points 1

Voici les étapes à suivre lorsque vous souhaitez que votre application PHP soit installée sur un serveur LAN (pas sur le web)

  1. Obtenir l'IP interne ou l'IP statique du serveur (Ex : 192.168.1.193)
  2. Ouvrez le fichier XAMPP>apache>conf>httpd.conf dans le bloc-notes.
  3. Recherche pour Listen 80
  4. La ligne ci-dessus se lirait comme suit : #Listen 0.0.0.0:80 / 12.34.56.78:80
  5. Changer l'adresse IP et la remplacer par l'IP statique
  6. Sauvegarder le fichier httpd.conf en s'assurant que le serveur est pointé vers #Listen 192.168.1.193:80
  7. Dans l'application Root config.php (connexion à la base de données), remplacez localhost par l'adresse IP du serveur.

Remarque : Si un pare-feu est installé, assurez-vous d'ajouter les ports http 80 et 8080 aux exceptions et de les autoriser à écouter. Allez dans Panneau de configuration>Pare-feu Windows>Autoriser un programme à communiquer à travers le pare-feu Windows>Ajouter un autre programme Nom : http Port : 80 Ajoutez-en un autre comme http - 8080

Si IIS (Microsoft .Net Application Internet Information Server) est installé avec une application Microsoft .Net déjà sur le serveur, alors il aura déjà occupé le port 80. Dans ce cas, remplacez #Listen 192.168.1.193:80 par #Listen 192.168.1.193:8080.

J'espère que cela vous aidera ! :)

0 votes

Ceci l'a résolu pour moi. C'est génial ! J'avais toujours supprimé le # devant l'adresse IP locale et cela ne fonctionnait pas, lorsque j'ai inclus le commentaire hash # Cela a fonctionné sans redémarrer la machine virtuelle invitée, juste le service XAMPP Apache et c'est parti. Bien joué. Maintenant, comment faire pour qu'il soit lié à mes VirutalHosts assignés sur la machine hôte ?

0 votes

Pour accéder aux VirtualHosts attribués sur la machine hôte à partir de l'invité, il me suffisait d'entrer l'IP de l'hôte et le nom du ou des serveurs VirtualHost dans le fichier HOSTS de l'invité. C'est fait. Quelqu'un sait comment capter le trafic du navigateur de l'invité vers le serveur Apache de l'hôte avec Fiddler. Cela fonctionne sur l'hôte mais ne reçoit pas de trafic de l'invité.

0 votes

Bonjour, qu'en est-il d'une plage d'adresses IP, par exemple 192.168.1-100. Comment les définir ?

6voto

Mateo Jovani Points 11

Parfois, votre pare-feu peut être à l'origine du problème. Assurez-vous d'avoir désactivé la surveillance de votre pare-feu antivirus. Ça a marché pour moi.

5voto

Razaman Points 21

Ceci devrait être tout ce dont vous avez besoin pour une installation de base.

Ce type de configuration ne casse pas phpMyAdmin sur l'hôte local.

Il est recommandé d'utiliser une adresse IP statique sur le périphérique qui exécute le serveur.

Cet exemple utilise l'adresse IP 192.168.1.x. Votre configuration réseau peut utiliser une autre adresse IP

Dans le httpd.conf d'Apache vous devriez avoir :

# Listen: Allows you to bind Apache to specific IP addresses and/or
# ports, instead of the default. See also the <VirtualHost>
# directive.
#
# Change this to Listen on specific IP addresses as shown below to 
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 12.34.56.78:80
Listen 80

Je laisserais le nom vide pour qu'il obtienne les valeurs par défaut :

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#

Autorisez les machines invitées et vous-même. Par mesure de sécurité, vous pouvez éviter Permettre à tous mais utilisez plutôt l'IP spécifique de l'invité, par exemple Autorisé depuis 192.168.1.xxx où xxx est l'IP de la machine invitée. Dans ce cas, vous devrez peut-être envisager des IP statiques sur les machines invitées également.

# Controls who can get stuff from this server.
#
#    Require all granted
#   onlineoffline tag - don't remove
     Order Deny,Allow
#     Deny from all
     Allow from all 
     Allow from 127.0.0.1
     Allow from ::1
     Allow from localhost
     Allow from 192.168.1.*YOURguestIP*
     Allow from 192.168.1.*YOURselfIP*
</Directory>

Redémarrer tous les services et Mettre en ligne à partir de l'icône de la barre des tâches

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X