2009-08-19 6 views
4

Logiciel: VMWare Fusion 2.05 sur Mac OS X 10.5.8 (s'applique également à VMWare Workstation 6.5.2 sur Vista, utilisé pour la vérification du problème) Invité: Ubuntu Server 9.04 (applique également à Ubuntu Desktop 9.04, utilisé pour verficiation de la question) VMWare réseau: pontées Router: Apple TimeCapsule, le dernier firmwareServeur Web invité VMWare inaccessible à l'hôte

problème:

Après avoir installé Django 1.1 sur l'invité, et à partir de Django construit -in webserver (écoute sur 127.0.0.1:8000), j'ai vérifié via wget 127.0.0.1:8000 (et aussi via Firefox sur Ubuntu Desktop 9.04) qu'en effet le serveur fonctionne.

Cependant, je n'ai pas pu me connecter au serveur Django à partir de la machine hôte.

Plus précisément:

En mode ponté le système d'exploitation invité a l'IP 172.16.1.6 (via DHCP par le TimeCapsule), le système d'exploitation hôte a le IP 172.16.1.2 (via DHCP par le TimeCapsule). Je peux envoyer une requête ping à l'invité à l'hôte et envoyer un ping à l'hôte. Mais le serveur Django sur le port 8000 n'est pas accessible depuis le système d'exploitation hôte.

Y a-t-il des paramètres de configuration qui doivent être activés pour acheminer le serveur Django de l'invité à l'hôte? Dans Ubuntu, ou dans VMWare (Workstation ou Fusion), ou dans Vista ou Mac OS X?

EDIT:

J'ai trouvé la solution. Lors de l'appel de django-admin.py runserver, il existe un argument optionnel documenté ipaddr: port. En définissant cette valeur sur 172.16.1.6 (au lieu de la valeur par défaut 127.0.0.1), vous avez activé le routage correct d'invité à hôte.

Répondre

8

Je trouve que vous pouvez simplement démarrer le serveur avec la commande suivante, et qui ouvre tous les IP ...

python manage.py runserver 0.0.0.0:8000 

Vous êtes les bienvenus.

1

Cela peut être une question serverFault?

Je cours plusieurs instances de VMWare sur les macs tout le temps et ils accèdent bien l'autre et l'accès de l'hôte fonctionne très bien, donc il n'y a aucun problème théorique ici. Je ne trouve rien de mal dans ce que vous décrivez, bien que je ne sois pas un expert de Django.

Je suggère d'essayer quelque chose de plus simple, comme essayer d'accéder à un simple fichier texte index.html, d'abord à partir de 127.0.0.1:8000 à partir de la machine virtuelle, puis 172.16.1.6:8000 de l'hôte. Ou peut-être même configurer Apache et essayez-les sur le port 80 pour vous assurer que la connectivité est OK.

+0

Merci pour la suggestion. wget de l'intérieur fonctionne bien, mais pas de l'hôte. Je n'ai pas encore essayé le port 80, mais je n'ai pas encore vu de configuration dans aucune partie de l'équation (VMWare, Ubuntu, Mac OS) qui suggère que le port 80 est traité différemment du port 8000. – nikola

Questions connexes