web-dev-qa-db-fra.com

VM sous CentOS, peut exécuter une commande ping mais ne peut pas accéder au serveur Web

J'ai essayé de configurer un serveur CentOS pour la première fois (jamais configurer un serveur Linux). L’installation s’est bien déroulée, j’ai installé LAMPP (et les dépendances requises pour x86), utilisé l’outil de sécurité lampp, puis passé à http://192.168.0.112:8888/ avec elinks.

Jusqu'ici tout va bien ... Mais je voulais ensuite accéder au serveur à partir des autres ordinateurs de mon réseau (y compris l'hôte de la machine virtuelle). Mais je ne peux pas le faire fonctionner et continuer à obtenir 404 ...

Notez que j'ai un autre serveur Web en cours d'exécution sur ce réseau (sur le port 80). J'ai donc changé Listen 80 en Listen 8888 dans httpd.conf et transféré 8888 de mon routeur vers l'IP à partir de l'installation CentOS (statique: 192.168.0.112, selon ifconfig).

Ping 192.168.0.112 renvoie:

Ping statistics for 192.168.0.112:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms

Détails du serveur:

  • CentOS 6.5 minimal, installé à partir de .iso
  • LAMPP 1.8.1 (via wget d'apachefriends.org)

Détails de l'hôte:

  • Windows 8.1 x64
  • VirtualBox utilise une carte réseau pontée (traduit du néerlandais: adaptateur de pont Netwerk)

Des idées sur la façon de résoudre ce problème? Je suis relativement nouveau dans le domaine de la mise en réseau et du serveur car je suis moi-même un développeur front-end, mais je veux vraiment me lancer dans des tâches d'arrière-plan.

Il se fait vraiment tard maintenant, alors je me couche. Si tout va bien, je comprendrai bien comment fonctionne la mise en réseau/CentOS le matin!

Merci d'avance.

8
Cas Cornelissen

Plus que probable est une configuration virtualhost dans Apache. Il y a une section dans celle-ci qui dit "permettez de [quelque chose]". Assurez-vous qu'il est dit "permettre à tous".

Voici à quoi ressemble le mien;

<Directory /var/www/>
    Options FollowSymLinks
    AllowOverride AuthConfig FileInfo Limit
    Order allow,deny
    allow from all
</Directory>

Mon opinion personnelle est de ne pas utiliser xampp du tout. Vous rendez réellement les choses plus difficiles. Utilisez simplement les packages natifs de CentOS. Voici un bon tutoriel (à partir d'une recherche rapide sur Google)

https://www.digitalocean.com/community/articles/how-to-install-linux-Apache-mysql-php-lamp-stack-on-centos-6

Ou bien, vous pouvez installer Ubuntu Server et, pendant la phase d’installation, une option vous permet de vérifier l’installation de LAMP. Il téléchargera et installera tous les packages pour vous.

Bonne chance.

0
Linuxx

J'ai aussi eu ce problème. D'après votre description, j'utilisais la même configuration que vous. Il s'est avéré que j'avais firewalld installé et était en cours d'exécution et donc dû utiliser les commandes:

Sudo firewall-cmd --permanent --zone=public --add-service=http
Sudo firewall-cmd --permanent --zone=public --add-service=https
Sudo firewall-cmd --reload

Cela m'a ensuite permis d'accéder au serveur Apache exécuté sur ma machine virtuelle en dehors de la machine virtuelle.

13
George

Exécutez les commandes suivantes:

iptables -I INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

Pour que les modifications persistent, accédez à/etc/sysconfig/et ajoutez la ligne suivante à iptables:

-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT

Ensuite, redémarrez le serveur Web:

service httpd restart

Et maintenant, vous pouvez accéder à VirtualBox.

3
Ricardo Pestana

On dirait que vous avez transféré le trafic sur votre routeur vers 192.168.0.112 alors que vous vouliez vraiment 192.168.0.112:8888. Il serait utile d'en savoir plus sur les ordinateurs sur lesquels vous pouvez et ne pouvez pas exécuter de commande ping sur la machine CentOS, sur la manière dont votre routeur est configuré pour lui transférer les ports et sur le contenu de /etc/httpd/conf/httpd.conf.

En outre, il ne devrait pas être important que vous ayez un autre serveur Web sur ce réseau, à moins que vous ne routiez vers un autre réseau auquel vous souhaitez pouvoir accéder à ce serveur Web et que les deux serveurs Web aient la même adresse IP externe.

Si tel est le cas, dites alors que votre adresse IP "externe" est 10.10.10.10 et que l'adresse IP interne de ce routeur est 192.168.0.1. Supposons que votre serveur Web CentOS est à 192.168.0.112 comme décrit et que votre autre serveur est à 192.168.0.110 et héberge un serveur Web au port 80.

Parce que vous vouliez que 192.168.0.110 puisse servir le trafic HTTP aux périphériques sur 10.10.10.*, vous avez transféré 10.10.10.10:80 à 192.168.0.110. Toutefois, cela ne signifie pas que vous devez desservir le trafic Web sur le port 8888 à partir de 192.168.0.112. Si vous souhaitez accéder à 192.168.0.112 à partir de périphériques devant traverser 192.168.0.1, ils ont besoin d'un port en plus de 80. Dans ce cas, vous conserveriez donc 192.168.0.112 servant des pages Web sur le port 80 et transféreriez le trafic entrant de 10.10.10.10:8888 à 192.168.0.112:80.

Enfin, le fait que vous obteniez des messages 404 dans un navigateur signifie que vous accédez à un type de serveur Web:

Le message d'erreur 404 ou Introuvable est un code de réponse standard HTTP indiquant que le client a pu communiquer avec le serveur, mais que celui-ci n'a pas pu trouver ce qui avait été demandé. (Wikipedia)

0
ndt