Flashcards: 208.1 - Configuracion Basica Apache
38 tarjetas de repaso. Usa el sistema de repeticion espaciada para memorizar.
P: ¿Cuál es el archivo de configuración principal de Apache en una distribución basada en Red Hat/CentOS?
R: c) /etc/httpd/conf/httpd.conf. En distribuciones basadas en Red Hat/CentOS, el archivo de configuración principal de Apache se encuentra en /etc/httpd/conf/httpd.conf. En Debian/Ubuntu, el equivalente es /etc/apache2/apache2.conf.
P: ¿Qué comando se utiliza en Debian/Ubuntu para habilitar el módulo mod_rewrite?
R: b) a2enmod rewrite. El comando a2enmod se utiliza en distribuciones Debian/Ubuntu para habilitar módulos de Apache. Crea un enlace simbólico desde mods-available hacia mods-enabled. Su opuesto es a2dismod.
P: En un VirtualHost basado en nombre, ¿qué cabecera HTTP utiliza Apache para determinar qué VirtualHost debe responder a la petición?
R: c) Host. Apache utiliza la cabecera Host de la petición HTTP para identificar qué VirtualHost basado en nombre debe procesar la solicitud. Esta cabecera contiene el nombre de dominio solicitado por el cliente.
P: ¿Qué directiva de Apache 2.4 se utiliza para permitir el acceso solo desde la red 10.0.0.0/8?
R: b) Require ip 10.0.0.0/8. En Apache 2.4, el control de acceso se realiza mediante la directiva Require. La opción Allow from pertenece a la sintaxis antigua de Apache 2.2, que solo funciona si se tiene cargado el módulo mod_access_compat.
P: ¿Qué hace el comando apachectl graceful?
R: c) Recarga la configuración sin interrumpir las conexiones existentes. El comando apachectl graceful envía la señal SIGUSR1 al proceso Apache, lo que provoca que recargue su configuración sin interrumpir las conexiones activas. Los procesos hijo terminan de atender las peticiones actuales antes de releer la configuración.
P: ¿Cuál es el orden correcto de procesamiento de las directivas de contenedor en Apache?
R: c) Directory → Files → Location. El orden de procesamiento en Apache es: primero <Directory> (y .htaccess), luego <DirectoryMatch>, después <Files> (y <FilesMatch>), y finalmente <Location> (y <LocationMatch>). Las directivas procesadas después pueden sobreescribir las anteriores.
P: ¿Qué valor de AllowOverride proporciona el mejor rendimiento al deshabilitar completamente los archivos .htaccess?
R: c) AllowOverride None. Cuando AllowOverride se establece en None, Apache no busca archivos .htaccess en los directorios, lo que mejora el rendimiento al evitar lecturas innecesarias del sistema de archivos en cada petición.
P: ¿Qué variable del LogFormat de Apache representa el código de estado HTTP final de la respuesta?
R: c) %>s. La variable %>s representa el código de estado final de la respuesta HTTP. El símbolo > indica que se toma el estado final (después de redirecciones internas). Sin el >, se tomaría el estado original de la petición.
P: ¿Qué MPM (Multi-Processing Module) de Apache es necesario cuando se utiliza mod_php?
R: c) prefork. El MPM prefork utiliza un proceso separado para cada conexión, sin hilos. Es necesario para módulos que no son seguros para hilos (non-thread-safe) como mod_php. Los MPMs worker y event utilizan hilos y son incompatibles con mod_php.
P: Un administrador necesita crear un archivo de contraseñas para autenticación básica de Apache y añadir el primer usuario. ¿Qué comando debe utilizar?
R: b) htpasswd -c /etc/apache2/.htpasswd usuario1. La opción -c de htpasswd crea un nuevo archivo de contraseñas. Sin -c, el comando intenta añadir o modificar un usuario en un archivo existente. Es importante usar -c solo la primera vez, ya que sobreescribiría el archivo existente eliminando todos los usuarios previos.
P: ¿Qué directiva de Apache define el directorio raíz desde el cual se sirven los archivos web a los clientes?
R: b) DocumentRoot. La directiva DocumentRoot especifica el directorio del sistema de archivos desde el cual Apache sirve los archivos web. Por ejemplo, DocumentRoot /var/www/html indica que las peticiones HTTP se resolverán buscando archivos dentro de ese directorio. ServerRoot es diferente: define el directorio base de la configuración del servidor, no el contenido web.
P: ¿Qué directiva de Apache permite crear un alias que mapea una URL a un directorio fuera del DocumentRoot?
R: c) Alias. La directiva Alias del módulo mod_alias permite mapear una URL a un directorio del sistema de archivos que puede estar fuera del DocumentRoot. Por ejemplo, Alias /documentos /opt/docs hace que las peticiones a /documentos se sirvan desde /opt/docs. Redirect envía al cliente a otra URL, mientras que Alias sirve contenido directamente desde otra ubicación.
P: ¿Qué opción de la directiva Options permite que Apache muestre un listado del contenido del directorio cuando no existe un archivo índice?
R: c) Indexes. La opción Indexes permite que Apache genere automáticamente un listado de archivos del directorio cuando no encuentra un archivo índice (como index.html). Por razones de seguridad, es recomendable deshabilitar esta opción en entornos de producción para evitar que se expongan los contenidos del directorio.
P: ¿Qué señal envía apachectl graceful al proceso Apache?
R: c) SIGUSR1. El comando apachectl graceful envía la señal SIGUSR1 al proceso Apache, lo que provoca un reinicio elegante. Los procesos hijo activos terminan de atender las peticiones actuales antes de ser reemplazados por nuevos procesos con la configuración actualizada. Esto permite recargar la configuración sin interrumpir conexiones existentes.
P: ¿Cuál es el nombre del servicio Apache en distribuciones basadas en Debian/Ubuntu?
R: c) apache2. En distribuciones basadas en Debian/Ubuntu, el servicio Apache se llama apache2 y se gestiona con systemctl start apache2. En distribuciones basadas en Red Hat/CentOS, el servicio se llama httpd. Los archivos de configuración también varían: /etc/apache2/apache2.conf en Debian y /etc/httpd/conf/httpd.conf en Red Hat.
P: ¿Qué directiva de Apache especifica los puertos en los que el servidor escucha conexiones entrantes?
R: b) Listen. La directiva Listen especifica las direcciones IP y puertos en los que Apache escucha conexiones. Se pueden definir múltiples directivas Listen para escuchar en varios puertos o interfaces. Por ejemplo, Listen 80 y Listen 443 para HTTP y HTTPS respectivamente. En Debian/Ubuntu, esta directiva suele estar en /etc/apache2/ports.conf.
P: ¿Qué formato de log de Apache incluye las cabeceras Referer y User-Agent además de la información básica de la petición?
R: c) combined. El formato de log combined incluye la información básica del formato common (IP del cliente, identidad, usuario, fecha, petición, código de estado y tamaño) más las cabeceras Referer y User-Agent. Se define con LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined y es el formato más utilizado.
P: ¿Qué MPM de Apache 2.4 es el predeterminado y ofrece el mejor rendimiento para la mayoría de escenarios?
R: c) event. El MPM event es el predeterminado en Apache 2.4 y ofrece el mejor rendimiento general. Es similar a worker pero con una gestión mejorada de las conexiones keep-alive, dedicando un hilo independiente para gestionarlas sin bloquear los hilos del worker. El MPM prefork sigue siendo necesario cuando se usa mod_php.
P: ¿Qué directiva dentro de <Directory> controla qué directivas están permitidas en los archivos .htaccess?
R: b) AllowOverride. La directiva AllowOverride dentro de un bloque <Directory> controla qué tipos de directivas están permitidas en los archivos .htaccess. Los valores incluyen: None (deshabilita .htaccess por completo para mejor rendimiento), All (permite todas las directivas), AuthConfig (solo autenticación) y FileInfo (directivas de tipo de documento).
P: Un administrador necesita que Apache ejecute scripts CGI ubicados en el directorio /usr/lib/cgi-bin/ cuando se acceda a la URL /cgi-bin/. ¿Qué directiva debe usar?
R: b) ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/. La directiva ScriptAlias del módulo mod_alias mapea una URL a un directorio y marca todos los archivos dentro como scripts CGI ejecutables. A diferencia de Alias, que simplemente sirve archivos, ScriptAlias también activa la ejecución CGI. No es necesario añadir Options ExecCGI por separado cuando se usa ScriptAlias.
P: ¿Qué comando se utiliza en Debian/Ubuntu para habilitar un sitio virtual de Apache que tiene su configuración en el directorio sites-available?
R: a2ensite. El comando a2ensite (Apache2 Enable Site) habilita un sitio virtual creando un enlace simbólico desde sites-available hacia sites-enabled. Por ejemplo, a2ensite sitio1.conf habilita la configuración del sitio. Para deshabilitar un sitio se usa a2dissite. Después de habilitar o deshabilitar un sitio, es necesario recargar Apache.
P: ¿Qué comando de Apache permite verificar la sintaxis de los archivos de configuración sin reiniciar el servicio?
R: apachectl configtest. El comando apachectl configtest (o su equivalente apachectl -t) analiza los archivos de configuración de Apache y reporta errores de sintaxis sin afectar al servicio en ejecución. Es una práctica recomendada ejecutarlo antes de reiniciar o recargar Apache para evitar que un error detenga el servicio.
P: ¿Qué comando de apachectl muestra la lista de todos los módulos cargados en Apache?
R: apachectl -M. El comando apachectl -M muestra la lista de todos los módulos cargados en Apache, indicando si son estáticos (compilados en el binario) o compartidos (cargados dinámicamente). Para ver la configuración de VirtualHosts se utiliza apachectl -S, y para verificar la versión y opciones de compilación, apachectl -V.
P: ¿Qué comando en Debian/Ubuntu deshabilita un módulo de Apache?
R: a2dismod. El comando a2dismod (Apache2 Disable Module) deshabilita un módulo de Apache eliminando el enlace simbólico correspondiente del directorio mods-enabled. Por ejemplo, a2dismod status deshabilita el módulo status. Su opuesto es a2enmod que habilita módulos. Después de habilitar o deshabilitar módulos, es necesario reiniciar Apache.
P: ¿Qué comando muestra la configuración de VirtualHosts activos en Apache, incluyendo los puertos y nombres de servidor?
R: apachectl -S. El comando apachectl -S muestra un resumen de la configuración de VirtualHosts activos, incluyendo qué archivos de configuración definen cada VirtualHost, los puertos en los que escuchan y los nombres de servidor asociados. Es una herramienta útil para diagnosticar problemas de enrutamiento de peticiones cuando hay múltiples VirtualHosts configurados.
P: Tip de examen: Recuerda que en Debian el servicio se llama apache2 y en Red Hat se llama `htt…
R: Recuerda que en Debian el servicio se llama apache2 y en Red Hat se llama httpd. Los archivos de configuración también varían según la distribución.
P: Tip de examen: Los VirtualHosts basados en nombre son los más comunes. Cuando se usan VirtualHo…
R: Los VirtualHosts basados en nombre son los más comunes. Cuando se usan VirtualHosts basados en nombre, Apache utiliza la cabecera Host de la petición HTTP para determinar qué VirtualHost debe responder.
P: Tip de examen: El orden de procesamiento es: <Directory> y .htaccess primero, luego `<Direc…
R: El orden de procesamiento es: <Directory> y .htaccess primero, luego <DirectoryMatch>, luego <Files> y <FilesMatch>, y finalmente <Location> y <LocationMatch>.
P: Tip de examen: En Apache 2.4 se usa Require en lugar de las directivas Order, Allow y `De…
R: En Apache 2.4 se usa Require en lugar de las directivas Order, Allow y Deny de Apache 2.2. Sin embargo, el módulo mod_access_compat permite usar la sintaxis antigua.
P: Tip de examen: apachectl graceful envía la señal SIGUSR1 a Apache para que recargue su conf…
R: apachectl graceful envía la señal SIGUSR1 a Apache para que recargue su configuración sin interrumpir las conexiones existentes. Es el método preferido en producción.
P: Tip de examen: El MPM event es el predeterminado en Apache 2.4 y ofrece el mejor rendimiento …
R: El MPM event es el predeterminado en Apache 2.4 y ofrece el mejor rendimiento para la mayoría de escenarios. El MPM prefork sigue siendo necesario cuando se usa mod_php.
P: Que hace el comando %b?
R: Tamaño de la respuesta en bytes
P: Que es/son Introducción?
R: Apache HTTP Server (httpd) es el servidor web más utilizado históricamente en sistemas Linux. El examen LPIC-2 exige un conocimiento profundo de su instalación, configuración y administración. Apache u
P: Que es/son Archivos de configuración principales?
R: | Distribución | Archivo principal | Directorio de configuración |
P: Que es/son VirtualHost (Hosts virtuales)?
R: Los hosts virtuales permiten alojar múltiples sitios web en un solo servidor.
P: Que es/son Archivo .htaccess?
R: El archivo .htaccess permite aplicar configuración por directorio sin modificar la configuración principal.
P: Que es/son MPM (Multi-Processing Modules)?
R: Apache soporta diferentes modelos de procesamiento:
P: Que es/son Trampas del examen?
R: > Errores comunes y distinciones criticas que LPI suele evaluar en este subtema: