44 Questions pratiques d’entretien avec Apache Web Server avec réponses

Apache est le serveur Web le plus populaire, et si vous avez l’intention de travailler en tant qu’administrateur middleware / système / Web, vous devez le connaître. Apache HTTP est un serveur Web open source pour Windows & UNIX.


Il y a quelques jours, j’ai écrit sur les questions d’entrevue sur WebSphere, et beaucoup d’entre vous ont demandé à écrire sur Apache Web Server, alors voilà.

Les questions suivantes sont souvent posées dans une interview du niveau débutant au niveau expert. La plupart de l’organisation aura un serveur Web géré par un middleware / administrateur système avec Application Server et d’autres composants.

Commençons par questions d’entrevue en temps réel & réponses

Contents

1. Comment arrêter / démarrer Apache Web Server?

Vous pouvez redémarrer en allant à l’emplacement de l’instance Apache >> dossier bin et exécuter le script apachectl.

./ apachectl stop
./ apachectl start

Vous pouvez également utiliser un script situé dans /etc/init.d/. La plupart du temps, il sera nommé «apache» ou «httpd»

/etc/init.d/apache stop
/etc/init.d/apache start

Une autre procédure consisterait à utiliser les services

httpd stop
service httpd start

2. Quel est le port par défaut pour HTTP et HTTPS?

Le port par défaut pour HTTP est 80 et HTTPS 443. Vérifiez les ports par défaut pour les autres applications répertoriées ici.

3. Pouvez-vous me dire le nom du fichier de configuration important?

httpd.conf est le fichier de configuration principal utilisé dans Apache.

4. Comment vérifier la version de l’exécution d’Apache Web Server?

Il existe plusieurs façons de le trouver, mais ce serait plus précis;

  • Connectez-vous à un serveur Web
  • Accédez à l’instance Apache et au dossier bin
  • Httpd exécuté avec -v pour obtenir les détails de la version.

[[protégé par e-mail] sbin] # ./httpd -v
Version du serveur: Apache / 2.2.15 (Unix)
Serveur construit: 18 juil.2016 15:24:00
[[protégé par e-mail] sbin] #

Vous pouvez également utiliser le tr / min commande pour vérifier la version installée.

[[protégé par e-mail] ~] # rpm -qa | grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[[protégé par e-mail] ~] #

5. Comment savoir si un serveur Web fonctionne?

Il existe plusieurs façons de le trouver.

  1. Connectez-vous à un serveur Web et grep pour le processus «httpd»

ps -ef | grep httpd

  1. Recherchez toute alerte dans votre tableau de bord de surveillance.
  2. Vérifiez si votre IP apache: le port est accessible dans le navigateur

Ex: http://yourapacheserver.com

  1. Vérifiez si l’IP et le port configurés sont à l’écoute sur le serveur avec netstat

netstat -anlp | grep 80

6. Comment installer Apache HTTP?

Il existe trois façons possibles de l’installer.

En utilisant code source – vous pouvez télécharger la source et la compiler.

  • Téléchargez la dernière version de http://httpd.apache.org/download.cgi
  • Extrayez la source avec l’utilitaire tar ou l’utilitaire gzip selon le type de fichier: .tar ou .tar.gz

tar xvf httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz

  •  Accédez à l’endroit où vous avez extrait la source via la commande cd et configurez-la à l’aide de la commande ./configure sur le terminal
  • Compilez-le ensuite à l’aide de la commande make.
  • Enfin, utilisez la commande make install pour l’installer.

Si vous souhaitez en savoir plus sur la façon de le configurer, vous pouvez utiliser la commande configure –help.

Dépôt YUM – si votre serveur est connecté à Internet ou dispose d’un référentiel interne, vous pouvez utiliser yum pour l’installer.

miam installer httpd

RPM – Vous pouvez télécharger le package RPM nécessaire et utiliser la commande rpm.

rpm -ivh packagename.rpm

7. Comment s’assurer qu’Apache n’écoute qu’une seule adresse IP sur le serveur?

Cela est souvent nécessaire lorsque vous avez plusieurs adresses IP sur le serveur. Pour garantir qu’Apache n’écoute que sur l’IP spécifiée, vous devez mentionner explicitement IP et le port dans la directive Listen.

Ex:

Écouter 10.10.10.10:80

8. Comment garantir l’exécution d’Apache avec un utilisateur non root / personne?

Cela est possible en ajoutant l’utilisateur & Directive de groupe dans le fichier httpd.conf

Utilisateur apache
Apache de groupe

L’exemple de configuration ci-dessus garantira qu’il démarre avec l’utilisateur «apache». Vous devez vous assurer que les utilisateurs existent sur le serveur avant de le configurer.

9. Comment désactiver l’indexation des répertoires?

Vous pouvez utiliser «Options -Indexes» dans la directive de répertoire respective.

Ex:

Options -Indexes

10. Quel module doit avoir une redirection possible?

mod_rewrite est responsable de la redirection, et cela doit être décommenté dans le fichier httpd.conf.

LoadModule rewrite_module modules / mod_rewrite.so

11. Pouvez-vous changer le port d’écoute par défaut en autre chose?

Oui, c’est possible en spécifiant le numéro de port dans le Ecoutez directif.

Ex: pour faire écouter Apache sur le port 9000 à l’adresse IP 10.10.10.10.

Écouter 10.10.10.10:9000

12. Comment sécuriser un site Web hébergé sur Apache Web Server?

Il existe plusieurs façons de sécuriser le serveur Web Apache, notamment les suivantes.

  • Implémentation de SSL
  • Intégration avec WAF (Web Application Firewall) comme ModSecurity, etc..
  • Utilisation d’un fournisseur de sécurité basé sur le cloud

13. Quels sont les fichiers journaux générés par Apache?

Deux fichiers journaux populaires ont été créés;

  • access.log – tous les détails de la demande avec le code d’état
  • error.log – capture toutes les erreurs dans apache ou se connecte au backend

14. Comment créer un CSR?

Vous pouvez utiliser la commande OpenSSL suivante ou générer de la RSE en ligne.

Pour créer un nouveau CSR avec une clé privée

openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key

Consultez la feuille de triche OpenSSL pour plus de commandes.

15. Qu’est-ce que l’hébergement virtuel?

L’hébergement virtuel dans Apache vous permet d’héberger plusieurs sites Web sur une seule instance. Vous pouvez soit créer Basé sur IP ou Basé sur le nom sur l’hébergement virtuel.

16. Quel module est nécessaire pour se connecter à WebSphere?

mod_was_ap22_http.so doit être ajouté dans le fichier httpd.conf pour s’intégrer à IBM WAS.

17. Comment mettre le niveau de journal en mode débogage?

Souvent nécessaire lorsque vous résolvez le problème et souhaitez obtenir plus de détails. Vous pouvez modifier le niveau de journalisation pour déboguer en garantissant ce qui suit dans le fichier httpd.conf.

Débogage de LogLevel

18. Quel module est requis pour activer SSL?

Le module mod_ssl doit être décommenté avant l’implémentation SSL.

LoadModule auth_basic_module modules / mod_ssl.so

19. Quel est le nom du module WebLogic?

mod_wl_22.so

20. Quel est le niveau de journalisation disponible dans Apache?

La configuration par défaut est définie sur “prévenir“Cependant, ce qui suit est également possible.

  • déboguer
  • Info
  • prévenir
  • remarquer
  • crit
  • alarme
  • émerger
  • Erreur

21. Qu’est-ce que DocumentRoot?

La directive DocumentRoot est la configuration dans laquelle vous pouvez spécifier l’emplacement du dossier à partir duquel les fichiers statiques seront servis. Il est également appelé WebRoot.

L’emplacement par défaut de DocumentRoot est / var / www / html

22. Comment déployer des applications war ou JAVA dans Apache?

J’ai peur, Apache est un serveur Web et le déploiement d’applications basé sur Java n’est pas possible avec lui. Cependant, vous pouvez intégrer des serveurs d’applications Java comme WebLogic, WebSphere, JBoss où vous pouvez déployer des fichiers ear, war.

23. Quelle est la différence entre Apache Web Server et Apache Tomcat?

Apache Web est un serveur HTTP pour servir des contenus statiques où Tomcat est un conteneur de servlet pour déployer des fichiers JSP.

Vous pouvez toujours intégrer Apache HTTP à Tomcat, cependant, en fonction de l’exigence que vous devez choisir l’un ou l’autre. Si vous avez besoin d’un serveur Web approprié, alors Apache HTTP sinon Tomcat pour JSP-Servlet Container.

24. Comment Apache peut-il agir en tant que serveur proxy?

Vous pouvez utiliser un module mod_proxy pour l’utiliser comme serveur proxy. Le module mod_proxy peut être utilisé pour se connecter au serveur principal comme Tomcat, WebLogic, WebSphere, etc..

25. Comment configurer le journal Apache, afin qu’il capture le temps nécessaire pour servir une demande?

Vous pouvez ajouter “%RÉ»Dans le fichier httpd.conf sous la directive LogFormat pour capturer le temps de réponse nécessaire pour répondre à la demande. Il affichera le temps en microsecondes.

LogFormat "% h% l% u% t \"% r \" %>s% b \"% {Referer} i \" \"% {User-Agent} i \" %RÉ" combiné

Redémarrez le serveur Web Apache et vous pouvez voir les résultats.

182.19.197.23 – – [02 / oct / 2016: 10: 32: 25 +0000] "GET / HTTP / 1.1" 403 4961 "-" "Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 1515
182.19.197.23 – – [02 / oct / 2016: 10: 32: 25 +0000] "GET /icons/apache_pb.gif HTTP / 1.1" 304 – "http://lab.geekflare.com/" "Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 424
182.19.197.23 – – [02 / oct / 2016: 10: 32: 25 +0000] "GET /icons/poweredby.png HTTP / 1.1" 304 – "http://lab.geekflare.com/" "Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit / 537.36 (KHTML, comme Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 472

26. Quel outil utilisez-vous pour l’analyse des journaux?

Vous devez dire la vérité, mais pour vous donner une idée, vous pouvez utiliser GoAccess, SumoLogic ou quelques-uns mentionnés ici.

27. Quels sont les serveurs Web sur lesquels vous avez travaillé avec Apache?

Encore une fois, vous feriez mieux de dire la vérité, mais pour vous informer, il existe de nombreux serveurs Web sur le marché, y compris les suivants.

  • Nginx
  • Microsoft IIS
  • LiteSpeed
  • GWS

28. Comment vérifier le fichier httpd.conf pour éviter toute erreur de syntaxe de configuration?

httpd –t vous aidera à vérifier la syntaxe.

[[protégé par e-mail] httpd] # / usr / sbin / httpd -t
Syntaxe OK
[[protégé par e-mail] httpd] #

Alternativement, vous pouvez également utiliser la commande apachectl.

[[protégé par e-mail] ~] # / usr / sbin / apachectl configtest
Syntaxe OK
[[protégé par e-mail] ~] #

29. Comment effectuer le test de performances Apache?

Vous pouvez utiliser un outil comme ApacheBench, SIEGE pour effectuer le test de charge sur les serveurs Web, y compris Apache. Une autre option pour effectuer un test de stress en ligne pour voir la performance globale de l’application Web sous charge.

30. Comment obtenir du support pour Apache Web Server en cas de problème?

Apache est un serveur Web Open Source, il n’y a donc pas de prise en charge au niveau de l’entreprise. Cependant, vous pouvez rapport d’erreur ou posez une question sur Stack Overflow.

31. Comment s’assurer que le serveur Web démarre après un redémarrage du serveur?

Si vous exécutez Linux, vous pouvez mettre un script dans /etc/init.d/ et activer le démarrage au démarrage à l’aide de la commande chkconfig

Supposons que vous créez un fichier appelé apache et mettez sous /etc/init.d

chkconfig –add apache
chkconfig apache sur

si sous Windows, assurez-vous que le type de démarrage est sélectionné “Automatique”.

32. Quelle est la différence entre Apache et le serveur Web Nginx?

Les deux sont classés comme un serveur Web et voici quelques-unes des principales différences.

  • Nginx est un serveur Web basé sur des événements où Apache est basé sur un processus
  • Nginx est connu pour ses meilleures performances qu’Apache
  • Apache prend en charge une large gamme de systèmes d’exploitation où Nginx ne prend pas en charge OpenVMS et IBMi
  • Apache a un grand nombre de modules d’intégration avec le serveur d’applications backend où Nginx est toujours en train de rattraper son retard
  • Nginx est léger et capture rapidement la part de marché. Si vous êtes nouveau sur Nginx, alors vous pourriez être intéressé à consulter mes articles sur Nginx.

33. Comment tueriez-vous l’Apache si l’arrêt progressif ne fonctionne pas?

Si vous utilisez Linux, vous pouvez utiliser la commande kill.

Découvrez le PID d’Apache en utilisant ps -ef | grep http

Alors tue-le

tuer $ PIDNUMBER

si le kill normal ne fonctionne pas, essayez kill -9

tuer -9 $ PIDNUMBER

Si sous Windows, mettez fin à la tâche Apache à partir du Gestionnaire des tâches.

34. Comment trouver le fichier httpd.conf si vous ne connaissez pas l’emplacement d’installation?

Sous Linux, vous pouvez utiliser la commande find.

Supposons que vous savez qu’il doit être dans le système de fichiers / apps, vous pouvez utiliser la commande suivante.

find / apps -name httpd.conf

Mais si vous n’êtes pas sûr du système de fichiers, vous pouvez trouver le système / file mais gardez à l’esprit que cela peut prendre beaucoup de temps en fonction de la taille globale du système de fichiers.

trouver / -name httpd.conf

35. Quelles sont les différentes versions du serveur Web Apache que vous connaissez?

  • IBM HTTP Server – connu sous le nom d’IHS et souvent utilisé avec IBM WebSphere Application Server
  • Oracle HTTP Server – connu comme OHS souvent utilisé avec le serveur Oracle Weblogic

36. Où se trouve Apache dans l’emplacement du centre de données?

Vous pouvez expliquer en fonction de votre expérience, cependant, généralement pour les applications accessibles sur Internet, ce serait dans le réseau Internet DMZ et pour l’intranet, le réseau principal.

Mais là encore, cela variera en fonction de l’application / de l’organisation.

37. Comment masquer les détails de la version du serveur dans l’en-tête de réponse HTTP?

Ajoutez ce qui suit dans le fichier httpd.conf et redémarrez le serveur Web

ServerTokens Prod
ServerSignature Off

Cela masquera la version et affichera le serveur comme “Apache” Seulement.

38. Qu’est-ce que 200, 403 & 503 codes d’erreur HTTP signifient?

  • 200 – contenu trouvé et servi OK
  • 403 – a tenté d’accéder au fichier / dossier restreint
  • 503 – le serveur est trop occupé pour répondre à la demande et en d’autres termes – service indisponible.
  • Reportez-vous à l’infographie du code de réponse HTTP pour en savoir plus.

39. Comment désactiver les requêtes HTTP de trace?

Ajoutez ce qui suit dans le fichier httpd.conf et redémarrez l’instance

TraceEnable off

40. Comment résoudre le problème de conflit de port?

netstat serait utile pour résoudre le problème de conflit de port. Si vous exécutez plusieurs instances sur un seul serveur, il est recommandé d’avoir une adresse IP absolue: le port est configuré pour la directive Listen.

41. Comment installer le module tiers?

Vous pouvez utiliser Boîte à outils Apache. Une fois téléchargé, extrayez-le à l’aide de l’utilitaire tar.

tar -xf Apachetoolbox-1.5.72.tar.gz

Accédez au dossier Apachetoolbox-1.5.72 à l’aide de la commande cd et exécutez la commande ci-dessous pour sélectionner les modules pour votre serveur Apache.

./install.sh

Il fournit des modules tels que mod_ip_forwarding, mod_auth_mysql et mod_auth_samba à compiler avec le serveur Web Apache. Bien que vous puissiez inclure ces modules manuellement, c’est plus facile avec Apache Toolbox.

42. Comment attribuer plusieurs noms à des hôtes virtuels?

Vous pouvez utiliser la directive ServerAlias ​​comme indiqué ci-dessous.

ServerName example.com
ServerAlias ​​awesome.com fantastic.com

43. Comment limiter la taille du téléchargement?

J’ai une application Web qui permet aux utilisateurs de télécharger des fichiers tels que des documents Word, PDF, etc. Comment limiter le téléchargement de fichiers par les utilisateurs?

Vous pouvez utiliser la directive LimitRequestBody pour limiter la taille du fichier de téléchargement.

LimitRequestBody 9000

La valeur affectée à LimitRequestBody permet à Apache d’accepter et de stocker les téléchargements de fichiers de 9000 octets par les utilisateurs. Vous pouvez ajuster la valeur en fonction de l’exigence.

44. Comment restreindre l’accès par IP?

Vous pouvez souhaiter qu’une partie de la racine de contexte soit accessible par les IP autorisées. Pour ce faire, vous pouvez utiliser mod_authz_core ou mod_authz_host modules pour restreindre l’accès à l’aide de la directive Require.

Nécessite 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23

En faisant ci-dessus, Apache ne servira les demandes que si les demandes sont faites à partir des adresses IP répertoriées.

Vous devez spécifier la directive Require dans le répertoire où vous souhaitez autoriser ou refuser l’accès aux ressources.

Conclusion

J’espère que les questions et réponses ci-dessus vous aideront à vous préparer à un administrateur de serveur Web entretien.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map