2009-09-17 6 views
0

J'ai développé localement sur un petit netbook ubuntu avec xampp pendant environ 7 mois. Il y a deux semaines, j'ai un ordinateur que je voudrais utiliser comme serveur. J'ai installé la dernière distribution d'Ubuntu et xampp, déplacé tous mes dossiers, et ai expédié le port 80. J'ai également un nom de domaine de dyndns.com qui est mis à jour par un client qui court dans mon routeur (un Netgear WGR6154 v8). Maintenant, lorsque j'essaie d'accéder à mon serveur en tapant l'adresse que j'ai reçue de dyndns.com, le navigateur se charge jusqu'à ce que le délai expire. Je peux accéder à tout localement en utilisant localhost comme adresse, donc je crois que xampp est en cours d'exécution, juste incapable de se connecter à Internet.xampp server (Comment démarrer)

Pour voir mes fichiers sur Internet, que dois-je faire ensuite?

Merci à tous à l'avance ...

[je commence une prime pour la première personne à me aider à obtenir mes fichiers avec succès en ligne]

+0

Je pense qu'il y aura un diable de beaucoup plus à ce que simplement obtenir un nom de domaine. Qu'est-ce que votre FAI pense de tout cela? ... Mais en fait, j'allais mentionner que XAMPP vient avec un avertissement que ce n'est pas vraiment assez sécurisé pour un 'serveur de production' Avez-vous lu la section 'Une question de sécurité' de la page web XAMPP? – pavium

+0

Oui. C'est juste pour jouer avec. Je ne suis pas en train d'essayer d'héberger un 'serveur de production', juste quelque chose à déranger et à partager avec des amis – danwoods

+0

Mais il sera exposé sur Internet? Eh bien, bonne chance et soyez prudent. – pavium

Répondre

9

Vous avez une combinaison de problèmes ici, et qui est quelque chose d'un problème. Chaque numéro est complexe dans un de lui-même. Voici ce que je recommanderais pour vous aider à être certain.

Vérifiez d'abord que vous pouvez surfer sur le Web à partir de votre serveur. Cela confirmera que vous avez une interface Ethernet fonctionnelle.

Étape 1 Assurez-vous que XAMPP et vos fichiers sont visibles depuis votre réseau domestique. Je suppose que vous utilisez quelque chose comme 192.168.1.X pour votre réseau et peut-être votre serveur est 192.168.1.10

Allez à un autre ordinateur dans votre maison et tapez http://192.168.1.10/ et voir si vous pouvez voir vos fichiers. Si vous pouvez alors vous savez que le serveur est correctement configuré et XAMPP fonctionne.

Ajoutez ensuite une entrée à votre fichier hosts pour résoudre yourdnsrecord.com (ou quel que soit votre enregistrement dyndns) à votre adresse IP privée. Ensuite, lorsque vous tapez yourdnsrecord.com dans un navigateur à partir de cet ordinateur, vous devriez toujours obtenir vos fichiers. Cela exclura la configuration incorrecte de votre serveur pour écouter ce nom de domaine.

Ensuite, vous devez tester pour voir s'il y a un problème de pare-feu. Pour simplifier cela, supprimez d'abord votre routeur domestique de l'équation. Au lieu de cela, placez votre nouveau serveur directement sur votre connexion Internet. (En supposant que vous le pouvez). De cette façon, vous n'avez pas besoin de NAT ou de firewalls correctement configurés. Votre nom dyndns doit correspondre à une adresse IP publique et votre serveur doit alors avoir cette adresse IP et être connecté directement à Internet. Si votre serveur est directement connecté, et que la commande ifconfig de l'invite root renvoie la même adresse IP publique que celle de votre enregistrement DNS dynamique, cela devrait fonctionner.

Il vous rendra la vie plus facile si vous avez un iphone ou un autre moyen de tester la façon dont votre réseau est vu depuis Internet.

Si votre adresse IP publique indiquée par ifconfig est différente de l'enregistrement IP de votre compte dyndns, votre script de mise à jour DNS dynamique est rompu. définir manuellement l'adresse IP, et voir si les choses fonctionnent.

Il est très possible que cela ne fonctionne pas. Certains ports du pare-feu ISP 80 empêchent leurs abonnés d'héberger des serveurs. Une fois que votre serveur est directement connecté à Internet, vous pouvez le tester (même si votre DNS ne fonctionne pas) en utilisant l'adresse IP publique. En tant que root, tapez ifconfig depuis l'invite de commande pour obtenir votre adresse IP publique. Puis tapez la commande tcpdump -i eth? port 80 à partir de l'invite de la racine. eth? doit être la même interface que vous avez vu avait une adresse IP publique de la commande ifconfig. En général c'est eth0 mais ça pourrait être wire0 ou quelque chose comme ça.

Cette commande vous montrera tout le trafic arrivant sur le port 80 de votre serveur.

À partir d'un iPhone (ou de toute autre connexion Internet que vous avez), accédez à l'adresse IP que vous avez obtenue à partir de votre commande ifconfig. Si vous voyez quelque chose sur votre serveur (et qu'il est directement connecté à votre FAI), alors votre FAI ne vous protège pas.

Si vous pouvez accéder à votre serveur, lorsqu'il est directement connecté à Internet, soit par adresse IP ou par adresse DynDNS, votre FAI est OK et il est temps de déboguer votre pare-feu. Deux choses doivent fonctionner pour que votre pare-feu soit configuré NAT, où l'adresse publique que votre routeur obtient de votre FAI est convertie en votre réseau privé et une règle de pare-feu qui permet ce trafic. Si vous arrivez si loin, alors vous savez que votre pare-feu est le problème et il s'agit juste d'obtenir sa configuration correcte. Il y a beaucoup de routeurs domestiques à documenter ici, mais vous pouvez généralement trouver des instructions pratiques pour votre routeur pour cette tâche depuis le site du fabricant (habituellement cela fait partie du manuel)

Si vous suivez exactement ces instructions fera fonctionner votre système. Faire des commentaires sur le processus et je serai heureux de le modifier pour le rendre plus clair.

HTH, -FT

+0

Wow, merci ftrotter! Je ne peux pas attendre pour essayer toutes ces étapes une fois que je rentre à la maison. Je posterai les résultats pendant que je travaille sur les étapes. Merci encore ... – danwoods

+0

Lorsque vous essayez d'accéder à http: //192.168.1.* à partir d'un ordinateur sur le même réseau, l'URL change en localhost/musicneverstopped/index.php qui est l'emplacement du fichier que j'essaie de accès, mais le navigateur affiche "Impossible de se connecter: Firefox ne peut pas établir une connexion au serveur localhost." – danwoods

+0

Et voici l'autre chose, le seul autre ordinateur de la maison exécute également xampp. Quand j'éteins xampp (sur l'ordinateur avec lequel j'essaie d'accéder au serveur, l'ordinateur 'autre'), je reçois le message ci-dessus. Si je lance xampp sur l'ordinateur 'other' puis saisis l'adresse du serveur dans son navigateur, il extrait sa propre page localhost (qui se trouve être la même page, car j'ai développé le site sur l'autre ordinateur) puis déplacé vers le serveur) – danwoods

1

Vous devez vous assurer que votre xampp n'écoute seulement l'hôte local.

de le faire modifier votre fichier de configuration apache et vérifier et la recherche de Listen directive

vous devriez être en mesure de connaître aussi en analysant la sortie de netstat -a. Ensuite, assurez-vous que votre routeur est en cours de transmission, en utilisant tcpdump aiderait.

envoyez-moi un commentaire si vous avez besoin de plus d'aide.

Vive

+0

Ecoute est réglé sur: Listen 80 – danwoods

+0

tcpdump renvoie: tcpdump: aucun périphérique approprié trouvé – danwoods

+0

netstat -a une sortie est ici: http://pastebin.com/ma18ae0d – danwoods