Apache es el servidor web más popular, y si tiene la intención de trabajar como administrador de middleware / sistema / web, debe estar familiarizado con él. Apache HTTP es un servidor web de código abierto para Windows & UNIX.
Hace unos días, escribí sobre las preguntas de la entrevista de WebSphere, y muchos de ustedes solicitaron escribir sobre el servidor web Apache, así que aquí tienen.
Las siguientes preguntas a menudo se hacen en una entrevista desde principiante hasta experto. La mayoría de la organización tendrá un servidor web administrado por el administrador de Middleware / System junto con Application Server y otros componentes..
Empecemos con preguntas de la entrevista en tiempo real & respuestas…
Contents
- 1 1. Cómo detener / iniciar el servidor web Apache?
- 2 2. ¿Cuál es el puerto predeterminado para HTTP y HTTPS??
- 3 3. ¿Me puede decir el nombre del archivo de configuración importante?
- 4 4. Cómo verificar la versión del servidor web Apache?
- 5 5. Cómo saber si un servidor web se está ejecutando?
- 6 6. Cómo instalar Apache HTTP?
- 7 7. Cómo garantizar que Apache escuche solo una dirección IP en el servidor?
- 8 8. Cómo garantizar que Apache se ejecute con un usuario no root / nobody?
- 9 9. ¿Cómo desactivo la indexación de directorios??
- 10 10. ¿Qué módulo se requiere para tener la redirección posible??
- 11 11. ¿Se puede cambiar el puerto de escucha por defecto a otra cosa??
- 12 12. Cómo asegurar un sitio web alojado en el servidor web Apache?
- 13 13. ¿Cuáles son los archivos de registro generados por Apache??
- 14 14. Cómo crear una CSR?
- 15 15. ¿Qué es el hosting virtual??
- 16 16. ¿Qué módulo se necesita para conectarse a WebSphere??
- 17 17. Cómo poner el nivel de registro en modo de depuración?
- 18 18. Qué módulo se requiere para habilitar SSL?
- 19 19. ¿Cuál es el nombre del módulo WebLogic??
- 20 20. ¿Cuál es el nivel de registro disponible en Apache??
- 21 21. ¿Qué es DocumentRoot??
- 22 22. Cómo desplegar aplicaciones de guerra o JAVA en Apache?
- 23 23. ¿Cuál es la diferencia entre Apache Web Server y Apache Tomcat??
- 24 24. ¿Cómo puede Apache actuar como un servidor proxy??
- 25 25. Cómo configurar el registro de Apache, de modo que capture el tiempo necesario para atender una solicitud?
- 26 26. ¿Qué herramienta utilizas para el análisis de registros??
- 27 27. ¿En qué servidores web has trabajado junto con Apache??
- 28 28. Cómo verificar el archivo httpd.conf para garantizar que no haya un error de sintaxis de configuración?
- 29 29. Cómo realizar el benchmark de rendimiento de Apache?
- 30 30. Cómo obtener soporte para el servidor web Apache si algo anda mal?
- 31 31. Cómo asegurarse de que el servidor web está comenzando después de reiniciar el servidor?
- 32 32. ¿Cuál es la diferencia entre el servidor web Apache y Nginx??
- 33 33. ¿Cómo matarías al Apache si Graceful Stop no funciona??
- 34 34. Cómo encontrar el archivo httpd.conf si no conoce la ubicación de instalación?
- 35 35. ¿Cuáles son los diferentes sabores del servidor web Apache que conoces??
- 36 36. ¿Dónde se encuentra el Apache en la ubicación del centro de datos??
- 37 37. Cómo ocultar los detalles de la versión del servidor en el encabezado de respuesta HTTP?
- 38 38. ¿Qué significa 200, 403 & 503 códigos de error HTTP significan?
- 39 39. Cómo deshabilitar las solicitudes HTTP de rastreo?
- 40 40. Cómo solucionar problemas de conflicto de puertos?
- 41 41. Cómo instalar el módulo de terceros?
- 42 42. Cómo asignar múltiples nombres a hosts virtuales?
- 43 43. Cómo limitar el tamaño de carga?
1. Cómo detener / iniciar el servidor web Apache?
Puede reiniciar yendo a la ubicación de la instancia de Apache >> carpeta bin y ejecutar script apachectl.
./ apachectl stop
./ apachectl start
También puede usar un script ubicado en /etc/init.d/. Principalmente se llamará “apache” o “httpd”
/etc/init.d/apache stop
/etc/init.d/apache start
Otro procedimiento sería usar servicios
httpd stop
servicio httpd start
2. ¿Cuál es el puerto predeterminado para HTTP y HTTPS??
El puerto predeterminado para HTTP es 80 y HTTPS 443. Verifique los puertos predeterminados para otras aplicaciones enumeradas aquí..
3. ¿Me puede decir el nombre del archivo de configuración importante?
httpd.conf es el archivo de configuración principal utilizado en Apache.
4. Cómo verificar la versión del servidor web Apache?
Hay varias formas de encontrar esto, pero con mayor precisión sería;
- Inicie sesión en un servidor web
- Vaya a la instancia de apache y a la carpeta bin
- Ejecuté httpd con -v para obtener los detalles de la versión.
[[correo electrónico protegido] sbin] # ./httpd -v
Versión del servidor: Apache / 2.2.15 (Unix)
Servidor construido: 18 de julio de 2016 15:24:00
[[correo electrónico protegido] sbin] #
Alternativamente, también puede usar el rpm comando para verificar la versión instalada.
[[correo electrónico protegido] ~] # rpm -qa | grep httpd
httpd-2.2.15-54.el6.centos.x86_64
httpd-tools-2.2.15-54.el6.centos.x86_64
[[correo electrónico protegido] ~] #
5. Cómo saber si un servidor web se está ejecutando?
Hay varias formas de encontrar esto.
- Inicie sesión en un servidor web y grep para el proceso “httpd”
ps -ef | grep httpd
- Verifique cualquier alerta en su panel de monitoreo.
- Compruebe si su IP de apache: puerto está accesible en el navegador
Ex: http://yourapacheserver.com
- Compruebe si la IP configurada y el puerto están escuchando en el servidor con netstat
netstat -anlp | grep 80
6. Cómo instalar Apache HTTP?
Hay tres formas posibles de instalar esto.
Utilizando código fuente – puedes descargar la fuente y compilarla.
- Descargue la última versión de http://httpd.apache.org/download.cgi
- Extraiga la fuente con la utilidad tar o la utilidad gzip según el tipo de archivo: .tar o .tar.gz
tar xvf httpd-1.2.3.tar
gzip -d httpd-1.2.4.tar.gz
- Navegue hacia donde extrajo la fuente a través del comando cd y configúrelo usando el comando ./configure en el terminal
- Luego compílelo usando el comando make.
- Finalmente, use el comando make install para instalarlo.
Si desea obtener más opciones sobre cómo configurarlo, puede utilizar el comando configure –help.
Repositorio YUM – si su servidor está conectado a Internet o tiene un repositorio interno, puede usar yum para instalarlo.
yum instalar httpd
RPM – Puede descargar el paquete RPM necesario y usar el comando rpm.
rpm -ivh nombre_paquete.rpm
7. Cómo garantizar que Apache escuche solo una dirección IP en el servidor?
Esto a menudo es necesario cuando tiene varias direcciones IP en el servidor. Para garantizar que Apache escuche solo en la IP especificada, debe mencionar explícitamente la IP y el puerto en la directiva Listen.
Ex:
Escuchar 10.10.10.10:80
8. Cómo garantizar que Apache se ejecute con un usuario no root / nobody?
Esto se puede hacer agregando Usuario & Directiva de grupo en el archivo httpd.conf
Apache de usuario
Apache grupal
El ejemplo de configuración anterior asegurará que comience con el usuario “apache”. Debe asegurarse de que existen usuarios en el servidor antes de configurarlo.
9. ¿Cómo desactivo la indexación de directorios??
Puede usar “Opciones-Índices” en la directiva de directorio respectiva.
Ex:
Opciones-Índices
10. ¿Qué módulo se requiere para tener la redirección posible??
mod_rewrite es responsable de la redirección, y esto debe ser descomentado en el archivo httpd.conf.
LoadModule rewrite_module modules / mod_rewrite.so
11. ¿Se puede cambiar el puerto de escucha por defecto a otra cosa??
Sí, es posible especificando el número de puerto en el Escucha directiva.
Ejemplo: para hacer que Apache escuche en el puerto 9000 a la dirección IP 10.10.10.10.
Escuchar 10.10.10.10:9000
12. Cómo asegurar un sitio web alojado en el servidor web Apache?
Hay varias formas de proteger el servidor web Apache, incluidas las siguientes.
- Implementando SSL
- Integración con WAF (Firewall de aplicaciones web) como ModSecurity, etc..
- Usar un proveedor de seguridad basado en la nube
13. ¿Cuáles son los archivos de registro generados por Apache??
Hay dos archivos de registro populares creados;
- access.log: todos los detalles de la solicitud con el código de estado
- error.log: captura todos los errores dentro de apache o conectándose al backend
14. Cómo crear una CSR?
Puede usar el siguiente comando de OpenSSL o generar CSR en línea.
Para crear una nueva CSR con una clave privada
openssl req -out geekflare.csr -newkey rsa: 2048 -nodes -keyout geekflare.key
Consulte la hoja de trucos de OpenSSL para obtener más comandos.
15. ¿Qué es el hosting virtual??
Virtual Hosting en Apache le permite alojar múltiples sitios web en una sola instancia. Puedes crear Basado en IP o Nombre basado en alojamiento virtual.
16. ¿Qué módulo se necesita para conectarse a WebSphere??
mod_was_ap22_http.so debe agregarse en el archivo httpd.conf para integrarse con IBM WAS.
17. Cómo poner el nivel de registro en modo de depuración?
A menudo es necesario cuando está solucionando el problema y desea capturar más detalles. Puede cambiar el nivel de registro para depurar asegurándose de lo siguiente en el archivo httpd.conf.
Depuración de LogLevel
18. Qué módulo se requiere para habilitar SSL?
El módulo mod_ssl debe estar sin comentarios antes de la implementación de SSL.
LoadModule auth_basic_module modules / mod_ssl.so
19. ¿Cuál es el nombre del módulo WebLogic??
mod_wl_22.so
20. ¿Cuál es el nivel de registro disponible en Apache??
La configuración predeterminada se establece en “advertir“Sin embargo, lo siguiente también es posible.
- depurar
- informacion
- advertir
- aviso
- crit
- alarma
- emerg
- error
21. ¿Qué es DocumentRoot??
La directiva DocumentRoot es la configuración donde puede especificar la ubicación de la carpeta desde donde se servirán los archivos estáticos. También se llama WebRoot.
La ubicación predeterminada de DocumentRoot es / var / www / html
22. Cómo desplegar aplicaciones de guerra o JAVA en Apache?
Me temo, Apache es un servidor web, y la implementación de aplicaciones basadas en Java no es posible con él. Sin embargo, puede integrar servidores de aplicaciones Java como WebLogic, WebSphere, JBoss donde puede desplegar archivos war, ear.
23. ¿Cuál es la diferencia entre Apache Web Server y Apache Tomcat??
Apache Web es un servidor HTTP para servir contenido estático donde Tomcat es un contenedor de servlet para desplegar archivos JSP.
Sin embargo, siempre puede integrar Apache HTTP con Tomcat, según el requisito que necesite para elegir cualquiera de los dos. Si necesita un servidor web adecuado, Apache HTTP más Tomcat para JSP-Servlet Container.
24. ¿Cómo puede Apache actuar como un servidor proxy??
Puede usar un módulo mod_proxy para usarlo como servidor proxy. El módulo mod_proxy se puede utilizar para conectarse al servidor de fondo como Tomcat, WebLogic, WebSphere, etc..
25. Cómo configurar el registro de Apache, de modo que capture el tiempo necesario para atender una solicitud?
Puedes añadir “%RE“En el archivo httpd.conf de la directiva LogFormat para capturar el tiempo de respuesta que se tarda en atender la solicitud. Mostrará el tiempo en microsegundos..
LogFormat "% h% l% u% t \"% r \" %>s% b \"% {Referer} i \" \"% {User-Agent} i \" %RE" conjunto
Reinicie el servidor web Apache y podrá ver los resultados..
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, como Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 1515
182.19.197.23 – – [02 / oct / 2016: 10: 32: 25 +0000] "OBTENER /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, como Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 424
182.19.197.23 – – [02 / oct / 2016: 10: 32: 25 +0000] "OBTENER /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, como Gecko) Chrome / 53.0.2785.116 Safari / 537.36" 472
26. ¿Qué herramienta utilizas para el análisis de registros??
Debes decir la verdad, pero para darte una idea, puedes usar GoAccess, SumoLogic o algunos de los mencionados aquí..
27. ¿En qué servidores web has trabajado junto con Apache??
Una vez más, es mejor que diga la verdad, pero para que se dé cuenta, hay muchos servidores web en el mercado, incluidos los siguientes.
- Nginx
- Microsoft IIS
- LiteSpeed
- GWS
28. Cómo verificar el archivo httpd.conf para garantizar que no haya un error de sintaxis de configuración?
httpd –t lo ayudará a verificar la sintaxis.
[[correo electrónico protegido] httpd] # / usr / sbin / httpd -t
Sintaxis OK
[[correo electrónico protegido] httpd] #
Alternativamente, también puede usar el comando apachectl.
[[correo electrónico protegido] ~] # / usr / sbin / apachectl configtest
Sintaxis OK
[[correo electrónico protegido] ~] #
29. Cómo realizar el benchmark de rendimiento de Apache?
Puede utilizar una herramienta como ApacheBench, SIEGE para realizar la prueba de carga en servidores web, incluido Apache. Otra opción para realizar una prueba de esfuerzo en línea para ver el rendimiento general de la aplicación web bajo carga.
30. Cómo obtener soporte para el servidor web Apache si algo anda mal?
Apache es un servidor web de código abierto, por lo que no hay soporte a nivel empresarial. Sin embargo, puedes subir un informe de error o haga una pregunta sobre Stack Overflow.
31. Cómo asegurarse de que el servidor web está comenzando después de reiniciar el servidor?
Si está ejecutando Linux, puede colocar un script en /etc/init.d/ y habilitar el inicio en el arranque usando el comando chkconfig
Supongamos que crea un archivo llamado apache y poner bajo /etc/init.d
chkconfig –add apache
chkconfig apache en
si está en Windows, asegúrese de que el tipo de inicio esté seleccionado “Automático”.
32. ¿Cuál es la diferencia entre el servidor web Apache y Nginx??
Ambos se clasifican como un servidor web y estas son algunas de las principales diferencias..
- Nginx es un servidor web basado en eventos donde Apache se basa en procesos
- Nginx es conocido por su mejor rendimiento que Apache
- Apache es compatible con una amplia gama de sistemas operativos donde Nginx no es compatible con OpenVMS e IBMi
- Apache tiene una gran cantidad de módulos de integración con el servidor de aplicaciones back-end donde Nginx aún se está poniendo al día
- Nginx es ligero y captura la cuota de mercado rápidamente. Si es nuevo en Nginx, puede estar interesado en consultar mis artículos sobre Nginx.
33. ¿Cómo matarías al Apache si Graceful Stop no funciona??
Si se ejecuta en Linux, puede usar el comando kill.
Descubra el PID de Apache utilizando ps -ef | grep http
Entonces mátalo
kill $ PIDNUMBER
si el asesinato normal no funciona, entonces intenta matar -9
kill -9 $ PIDNUMBER
Si está en Windows, finalice la tarea Apache desde el Administrador de tareas.
34. Cómo encontrar el archivo httpd.conf si no conoce la ubicación de instalación?
En Linux, puede usar el comando find.
Supongamos que sabe que debe estar en el sistema de archivos / apps, entonces puede usar el siguiente comando.
find / apps -name httpd.conf
Pero si no está seguro de qué sistema de archivos puede encontrar en / sistema de archivos pero tenga en cuenta que puede tomar mucho tiempo en función del tamaño general del sistema de archivos.
encontrar / -name httpd.conf
35. ¿Cuáles son los diferentes sabores del servidor web Apache que conoces??
- Servidor HTTP de IBM: conocido como IHS y utilizado a menudo con IBM WebSphere Application Server
- Servidor HTTP de Oracle: conocido como OHS que a menudo se utiliza con el servidor Oracle Weblogic
36. ¿Dónde se encuentra el Apache en la ubicación del centro de datos??
Puede explicar en función de su experiencia, sin embargo, normalmente para aplicaciones orientadas a Internet, sería en la red DMZ de Internet y para la red interna de la intranet..
Pero nuevamente, esto diferirá según la aplicación / organización.
37. Cómo ocultar los detalles de la versión del servidor en el encabezado de respuesta HTTP?
Agregue lo siguiente en el archivo httpd.conf y reinicie el servidor web
ServerTokens Prod
ServerSignature Off
Esto ocultará la versión y mostrará el Servidor como “apache” Solamente.
38. ¿Qué significa 200, 403 & 503 códigos de error HTTP significan?
- 200 – contenido encontrado y servido OK
- 403 – intentó acceder a un archivo / carpeta restringido
- 503: el servidor está demasiado ocupado para atender la solicitud y, en otras palabras, el servicio no está disponible.
- Consulte la infografía del código de respuesta HTTP para obtener más información..
39. Cómo deshabilitar las solicitudes HTTP de rastreo?
Agregue lo siguiente en el archivo httpd.conf y reinicie la instancia
TraceEnable off
40. Cómo solucionar problemas de conflicto de puertos?
netstat sería útil para solucionar el problema del conflicto del puerto. Si ejecuta varias instancias en un solo servidor, se recomienda tener una IP absoluta: puerto configurado para la directiva Listen.
41. Cómo instalar el módulo de terceros?
Puedes hacer uso de Apache Toolbox. Una vez descargado, extráigalo usando la utilidad tar.
tar -xf Apachetoolbox-1.5.72.tar.gz
Navegue a la carpeta Apachetoolbox-1.5.72 usando el comando cd y ejecute el siguiente comando para seleccionar módulos para su servidor Apache.
./install.sh
Proporciona módulos como mod_ip_forwarding, mod_auth_mysql y mod_auth_samba para compilar con el servidor web Apache. Aunque puede incluir estos módulos manualmente, es más fácil con Apache Toolbox.
42. Cómo asignar múltiples nombres a hosts virtuales?
Puede hacer uso de la directiva ServerAlias como se muestra a continuación.
ServerName example.com
ServerAlias awesome.com fantastic.com
43. Cómo limitar el tamaño de carga?
Tengo una aplicación web que permite a los usuarios cargar archivos como documentos de Word, PDF, etc. ¿Cómo limito la carga de archivos por parte de los usuarios??
Puede hacer uso de la directiva LimitRequestBody para limitar el tamaño del archivo de carga.
LimitRequestBody 9000
El valor asignado a LimitRequestBody le permite a Apache aceptar y almacenar cargas de archivos de 9000 bytes por parte de los usuarios. Puede ajustar el valor según el requisito.
44. Cómo restringir el acceso por IP?
Es posible que desee que parte de la raíz de contexto sea accesible mediante IP permitidas. Para hacerlo, puede hacer uso de mod_authz_core o mod_authz_host módulos para restringir el acceso utilizando la directiva Requerir.
Requiere 10.0.0.2 10.0.0.4 192.168.34.23 192.168.34.23
Al hacer lo anterior, Apache atenderá las solicitudes solo si las solicitudes se realizan desde las IP enumeradas.
Debe especificar la directiva Requerir dentro del directorio donde desea permitir o denegar el acceso a los recursos..
Conclusión
Espero que las preguntas y respuestas anteriores le ayuden a prepararse para un administrador de servidor web entrevista.