web-dev-qa-db-fra.com

Comment vérifier si un serveur Web est installé sur une machine Linux?

Bonjour les gens,

Question de base :-)

  1. Comment vérifier si un serveur Web est installé sur une machine Linux? Je ne sais pas si un serveur Web est installé ou non. S'il est installé, je voudrais l'utiliser pour créer un service Web.

  2. Si un serveur Web est installé, comment vérifier où il est installé, chemin, propriétés, etc.

Merci pour votre temps!

15
user3427350

S'il y a un serveur Web actif c'est assez facile à dire, mais si le serveur Web est installé, mais pas actif, c'est plus difficile, car il y a probablement une douzaine de serveurs Web différents qui pourrait être installé (mais n'a pas été démarré). Vous pouvez savoir s'il y a un serveur Web actif sur le port par défaut pour http (80) avec:

$ telnet hostname 80

hostname est le nom d'hôte ou l'adresse IP de la machine qui vous intéresse. Si vous avez un accès Shell à la machine qui vous intéresse, vous pouvez simplement utiliser localhost, par exemple, si un serveur Web est actif, vous verrez quelque chose comme:

$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Si vous tapez quelque chose comme:

GET /foo

Vous obtiendrez un message d'erreur qui peut vous dire quelque chose sur le serveur Web installé. Par exemple:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /status was not found on this server.</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at 127.0.1.1 Port 80</address>
</body></html>
Connection closed by foreign Host.

Cela vous dirait que Apache la version 2.2.22 est installée et fonctionne sur la machine sur laquelle vous exécutez le Shell.

S'il n'y a pas de serveur Web actif, en revanche, vous verrez quelque chose comme:

$ telnet localhost 80
Trying 127.0.0.1...
telnet: Unable to connect to remote Host: Connection refused

Dans ce cas, les choses deviennent plus spécifiques à la distribution (ce que vous trouvez et où cela dépend de la distribution Linux installée). Vous pouvez essayer de voir s'il y a un serveur Web installé, mais pas actif, en vérifiant les noms de service communs ou les fichiers et répertoires installés. Tu pourrais essayer:

$ service Apache2 status

ou

$ service httpd status

Et vous pourriez obtenir:

Apache2 is NOT running.

Cela vous indique au moins que Apache est installé, mais ne fonctionne pas, alors que:

Apache2: unrecognized service

... vous dirait que Apache est pas installé. Il pourrait cependant y avoir un autre serveur Web installé.

Vous pouvez également vérifier s'il existe un /var/www/ répertoire, ou un autre répertoire dans lequel les serveurs Web stockent généralement les fichiers par défaut, par exemple:

$ ls /var/www

Malheureusement, il est difficile de donner une bonne réponse sans savoir quelle distribution (par exemple Debian, Ubuntu, RedHat, CentOS, Fedora, ...) est installée sur la machine qui vous intéresse.

28
Emmet

Prenez Apache HTTP Server comme exemple, il existe un appel de directive ServerSignature

Vérifier avec l'en-tête de réponse HTTP Il peut y avoir quelque chose comme

Server: Apache/2.2.17 (Win32) PHP/5.2.17

Bien sûr, le serveur peut désactiver cette fonction

Vous pouvez essayer les modules complémentaires Firefox "Web Developer" pour obtenir ces en-têtes HTTP

La meilleure façon de vérifier le système d'exploitation est de trouver l'hôte du serveur, d'obtenir le compte d'utilisateur et de se connecter :-)

Pour votre deuxième question, veuillez vous connecter et rechercher le didacticiel approprié de ce système d'exploitation

1
Tommy