25 preguntas de la entrevista de Apache para principiantes e intermedios


Estamos muy agradecidos con todos nuestros lectores por la respuesta que estamos obteniendo para nuestra nueva sección de entrevistas de Linux. Y ahora hemos comenzado el aprendizaje inteligente de la sección para las preguntas de la entrevista y continuamos con el mismo artículo de hoy que se centra en las preguntas de la entrevista Apache básicas a intermedias que lo ayudarán a prepararse.

En esta sección, hemos cubierto algunas interesantes 25 preguntas de la entrevista de trabajo de Apache junto con sus respuestas para que pueda comprender fácilmente algunas cosas nuevas sobre Apache que quizás nunca antes había conocido.

Antes de leer este artículo, le recomendamos encarecidamente que no intente memorizar las respuestas, siempre primero intente comprender los escenarios de forma práctica.

[[email protected] ~]# rpm -qa | grep httpd

httpd-devel-2.2.15-29.el6.centos.i686
httpd-2.2.15-29.el6.centos.i686
httpd-tools-2.2.15-29.el6.centos.i686
[[email protected] ~]# httpd -v

Server version: Apache/2.2.15 (Unix)
Server built:   Aug 13 2013 17:27:11
[[email protected] ~]# netstat -antp | grep http

tcp        0      0 :::80                       :::*                        LISTEN      1076/httpd          
tcp        0      0 :::443                      :::*                        LISTEN      1076/httpd
[[email protected] ~]# yum install httpd
[[email protected] ~]# apt-get install apache2
[[email protected] ~]# cd /etc/httpd/
[[email protected] httpd]# ls -l
total 8
drwxr-xr-x. 2 root root 4096 Dec 24 21:44 conf
drwxr-xr-x. 2 root root 4096 Dec 25 02:09 conf.d
lrwxrwxrwx  1 root root   19 Oct 13 19:06 logs -> ../../var/log/httpd
lrwxrwxrwx  1 root root   27 Oct 13 19:06 modules -> ../../usr/lib/httpd/modules
lrwxrwxrwx  1 root root   19 Oct 13 19:06 run -> ../../var/run/httpd
[[email protected] ~]# cd /etc/apache2
[[email protected] apache2]# ls -l
total 84
-rw-r--r-- 1 root root  7113 Jul 24 16:15 apache2.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-available
drwxr-xr-x 2 root root  4096 Dec 16 11:45 conf.d
drwxr-xr-x 2 root root  4096 Dec 16 11:48 conf-enabled
-rw-r--r-- 1 root root  1782 Jul 21 02:14 envvars
-rw-r--r-- 1 root root 31063 Jul 21 02:14 magic
drwxr-xr-x 2 root root 12288 Dec 16 11:48 mods-available
drwxr-xr-x 2 root root  4096 Dec 16 11:48 mods-enabled
-rw-r--r-- 1 root root   315 Jul 21 02:14 ports.conf
drwxr-xr-x 2 root root  4096 Dec 16 11:48 sites-available
drwxr-xr-x 2 root root  4096 Dec  6 00:04 sites-enabled

7. ¿Se puede proteger Apache con envoltorios TCP?

Suponga que tiene varias direcciones IP asignadas a su máquina Linux y desea que Apache reciba solicitudes HTTP en un puerto o interfaz Ethernet especial, incluso eso se puede hacer con la directiva Listen.

Para cambiar el puerto predeterminado de Apache, abra su archivo de configuración principal de Apache httpd.conf o apache2.conf con el editor de VI.

[[email protected] ~]# vi /etc/httpd/conf/httpd.conf

[[email protected] ~]# vi /etc/apache2/apache2.conf

Busque la palabra "Escuchar", comente la línea original y escriba su propia directiva debajo de esa línea.

# Listen 80
Listen 8080

OR

Listen 172.16.16.1:8080

Guarde el archivo y reinicie el servidor web.

[[email protected] ~]# service httpd restart

[[email protected] ~]# service apache2 restart

Para usar la directiva Alias, es parte del módulo mod_alias de Apache. La sintaxis predeterminada de la directiva Alias es:

Alias /images /var/data/images/

Aquí, en el ejemplo anterior, el prefijo de/images url al prefijo/var/data/images que significa que los clientes buscarán "http://www.example.com/images/sample-image.png" y Apache recogerá el " sample-image.png ”de /var/data/images/sample-image.png en el servidor. También se conoce como asignación de URL.

La configuración predeterminada de DirectoryIndex es .html index.html index.php, si tiene diferentes nombres de su primer archivo, debe realizar los cambios en httpd.conf o apache2.conf para que el valor de DirectoryIndex se muestre en el navegador de su cliente.

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents.  The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.cgi .exe

Para detener la lista de directorios de Apache, puede establecer la siguiente regla en el archivo de configuración principal globalmente o en el archivo .htaccess para un sitio web en particular.

<Directory /var/www/html>
   Options -Indexes
</Directory>

Puede agregar tantas directivas como necesite para su dominio, pero las dos entradas mínimas para un sitio web que funcione son ServerName y DocumentRoot. Por lo general, definimos nuestra sección Virtual Host en la parte inferior del archivo httpd.conf en máquinas Linux.

<VirtualHost *:80>
   ServerAdmin [email protected]
   DocumentRoot /www/docs/dummy-host.example.com
   ServerName dummy-host.example.com
   ErrorLog logs/dummy-host.example.com-error_log
   CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>

  1. ServerAdmin: suele ser la dirección de correo electrónico del propietario del sitio web, donde se puede enviar el error o la notificación.
  2. DocumentRoot: ubicación donde se encuentran los archivos web en el servidor (necesario).
  3. ServerName: es el nombre de dominio al que desea acceder desde su navegador web (necesario).
  4. ErrorLog: es la ubicación del archivo de registro donde se registran todos los registros relacionados con el dominio.

  1. se utiliza para establecer elementos relacionados con la URL/barra de direcciones del servidor web.
  2. se refiere a que la ubicación del objeto del sistema de archivos en el servidor

Para obtener más información, lea Cómo crear hosts virtuales basados en nombre/IP en Apache.

  1. La diferencia básica entre Worker y MPM está en su proceso de generar el proceso hijo. En Prefork MPM, se inicia un proceso httpd maestro y este proceso maestro inicia gestiona todos los demás procesos secundarios para atender las solicitudes de los clientes. Considerando que, en el trabajador MPM, un proceso httpd está activo y utiliza diferentes subprocesos para atender las solicitudes de los clientes.
  2. Prefork MPM usa múltiples procesos secundarios con un subproceso cada uno, donde el trabajador MPM usa múltiples procesos secundarios con muchos subprocesos cada uno.
  3. Manejo de conexiones en Prefork MPM, cada proceso maneja una conexión a la vez, mientras que en Worker mpm cada hilo maneja una conexión a la vez.
  4. Huellas de memoria Prefork MPM Huellas de memoria grandes, donde Worker tiene huellas de memoria más pequeñas.

Por ejemplo: quiero poner límites de 100000 Bytes en la carpeta/var/www/html/tecmin/uploads. Por lo tanto, debe agregar la siguiente directiva en el archivo de configuración de Apache.

<Directory "/var/www/html/tecmint/uploads">
LimitRequestBody 100000
</Directory>

  1. mod_perl es un módulo de Apache que se compila con Apache para una fácil integración y para aumentar el rendimiento de los scripts de Perl.
  2. mod_php se utiliza para una fácil integración de scripts PHP por parte del servidor web, incrusta el intérprete PHP dentro del proceso Apache. Obliga al proceso hijo de Apache a utilizar más memoria y funciona solo con Apache, pero sigue siendo muy popular.

Para obtener más información, lea el artículo que le guía sobre cómo instalar y configurar mod_evasive en Apache.

Siempre que llega una solicitud https, Apache sigue estos tres pasos:

  1. Apache genera su clave privada y convierte esa clave privada en un archivo .CSR (solicitud de firma de certificado).
  2. Luego, Apache envía el archivo .csr a la CA (Autoridad de certificación).
  3. CA tomará el archivo .csr y lo convertirá a .crt (certificado) y enviará ese archivo .crt a Apache para asegurar y completar la solicitud de conexión https.

Estas son solo las 25 preguntas más populares que los entrevistadores hacen estos días. Proporcione algunas preguntas más de la entrevista que haya enfrentado en su entrevista reciente y ayude a otros a través de nuestra sección de comentarios a continuación.

También le recomendamos que lea nuestros artículos anteriores sobre Apache.

  1. 13 consejos de seguridad y refuerzo del servidor web Apache
  2. Cómo sincronizar dos servidores web/sitios web Apache mediante Rsync

Además, nos enorgullece anunciar que ya se lanzó nuestra versión Beta de la sección Preguntas/Respuestas de TecMint Ask. Si tiene preguntas sobre algún tema de Linux. Únase a nosotros y publique sus preguntas/consultas en https://www.tecmint.com/ask/.

En los próximos artículos se me ocurrirán más preguntas de la entrevista sobre DNS, servidores de correo, PHP, etc., hasta entonces, mantente Geeky y conectado a TecMint.com.