Versión 2.5 del Servidor HTTP Apache
Si es tu primera vez con el servidor Apache HTTTP, o incluso para llevar un sitio web, puede que no sepas por dónde empezar, o qué preguntas hacer. hacer. Este documento le guiará a través de los conceptos básicos.
Las direcciones en la Web se expresan con URLs - Uniform Resource Locators
- que especifican un protocolo (p.ej. http
), un nombre de servidor (e.g.
www.apache.org
), una URL-path (p.ej.
/docs/current/getting-started.html
), y posiblemente una query
string (p.ej. ?arg=value
) utilizada para pasar parámetros adicionales
al servidor.
Un cliente (p.ej., un navegador web) conecta al servidor (p.ej., tu Servidor Apache HTTP), con el protocolo especificado, y hace una petición de un recurso utilizando una URL-path.
La URL-path puede representar varias cosas en el servidor. Podría ser un fichero
(como getting-started.html
) un handler (como server-status) or algún tipo de fichero de programa
(como index.php
). Revisaremos esto más adelante en la sección
Contenido de Sitio Web.
El servidor enviará una respuesta que consiste en un código de estado y, opcionalmente, un cuerpo del mensaje. El código de estado indica si una petición tuvo éxito, y si no, qué tipo de condición de error se ha dado. Esto le dice al cliente qué debe hacer con la respuesta. Puedes leer sobre los códigos de respuesta posibles en La Wiki del Seridor Apache.
Detalles de la transacción, y cualquier condición de error, se escriben en los ficheros de log. Esto se comenta en mayor detalle más abajo en la sección Ficheros de Log y Solución de Problemas.
Para conectar con un servidor, el cliente debe primero resolver el nombre del servidor a una dirección IP - la ubicación en Internet donde reside el servidor. Así, para que tu servidor sea accesible, es necesario que el nombre del servidor está en DNS.
Si no sabes cómo hacer esto, necesitarás contactar con el administrador de tu red, o proveedor de Internet, para realizar este paso por tí.
Más de un nombre de host puede apuntar a la misma dirección IP, y más de una dirección IP puede apuntar al mismo servidor físico. Así puedes gestionar más de un sitio web en el mismo servidor físico, usando una característica llamada hosts virtuales.
Si está haciendo pruebas con un servidor que no está accesible desde Internet,
puedes usar nombres de host en tu fichero hosts para hacer resolución de nombres
local. Por ejemplo, podrías querer poner en tu registro en tu fichero de hosts
para apuntar una petición hacia www.example.com
en tu sistema local,
para hacer pruebas. Esta entrada sería parecida a esto:
127.0.0.1 www.example.com
Un fichero de hosts probablemente esté ubicado en /etc/hosts
or
C:\Windows\system32\drivers\etc\hosts
.
Puedes leer más sobre ficheros de hosts en Wikipedia.org/wiki/Hosts_(file), y más sobre DNS en Wikipedia.org/wiki/Domain_Name_System.
El Servidor Apache HTTP se configura con ficheros de texto.
Estos ficheros pueden estar ubicados en distintos sitios, dependiendo de
cómo se haya instalado exactamente tu servidor. Las ubicaciones comunes
para estos ficheros pueden encontrarse en
la wiki de httpd. Is instalaste httpd desde el código fuente, la
ubicación por defecto para estos ficheros se encuentra en
/usr/local/apache2/conf
. El fichero de configuración por
defecto se llama generalmente httpd.conf
. Esto también, puede
variar en distribuciones de terceros del servidor.
La configuración a menudo se separa en distintos ficheros más pequeños
para facilitar la gestión. Estos ficheros se cargan con la directiva Include
. Los nombres o las ubicaciones de estos
sub-ficheros no es mágica, puede variar en gran manera de una instalación
a otra. Ordena y subdivide estos ficheros de la manera que tenga más sentido
para tí. Si la organicación de los ficheros por defecto
no tiene sentido para tí, siéntete libre de reorganizarla.
El servidor se configura colocando directivas de configuración en estos ficheros de configuración. Una directiva es una palabra clave seguida de uno o más parámetros para definir su valor.
La pregunta "¿Dónde debo poner esta directiva?" se contesta
generalmente considerando dónde una directiva es efectiva. Si es una configuración
global, debería aparecer en el fichero de configuración, fuera de cualquier
sección <Directory>
, <Location>
, <VirtualHost>
, u otra sección. Si es para
aplicar una configuración a un directorio en particular, debería ir dentro
de una sección
<Directory>
haciendo referencia
a ese directorio, y así con todas. Vea el documento de Secciones
de Configuración para obtener más detalle sobre estas secciones.
Además de los ficheros de configuración principales, ciertas directivas podría
information en ficheros .htaccess
ubicados en directorios de contenido.
Los ficheros .htaccess
son principalmente para personas que no tienen
acceso a lo fichero(s) de configuración del servidor. Puedes leer más sobre los
ficheros .htaccess
en el .htaccess
howto.
El contenido del sitio web puede tener distintas formas, pero puede dividirse generalmente entre contenido estático y dinámico.
Contenido estático son cosas como ficheros HTML, ficheros de imágenes, ficheros CSS,
y otros ficheros que residen en el sistema de ficheros. La directiva DocumentRoot
especifica dónde en el filesystem deberías
ubicar estos ficheros. Esta directiva está o bien configurada globalmente, o por
host virtual. Mira en tus ficheros de configuración para determinar como está esto
configurado en tu servidor.
Típicamente, un documento llamado index.html
será servidor cuando
se solicita un directorio sin especificar un fichero. Por ejemplo si
DocumentRoot
se especifica con
/var/www/html
y se hace una petición a
http://www.example.com/work/
, el fichero
/var/www/html/work/index.html
será servido al cliente.
El contenido dinámico es cualquier cosa que se genera en tiempo de petición, y puede cambiar de una petición a otra. Hay muchas formas de generar contenido podría generarse. Varios handlers están disponibles para generar contenido. programas CGI podrían escribirse para generar contenido para su sitio web.
Módulos de terceros como mod_php podrían usarse para escribir este código que puede hacer variedad de cosas. Muchas aplicaciones de terceros, escritas usanndo distintos lenguajes y herramientas, están disponibles para descarga e instalación en su Servidor Apache HTTP. El soporte para estos elementos de terceros está fuera el ámbito de esta documentación, y deberías encontrarse su documentación en otros foros de soporte para responder a preguntas sobre ellas.
Como administrador de un Servidor Apache HTTP, tus activos más valiosos son los ficheros de log, y en el particular, el log de errores. Intentar hacer Solución de Problemas sin el log de errores es como conducir con los ojos cerrados.
La ubicación del log de errores se define con la directiva ErrorLog
, que puede configurarse
globalmnente o por host virtual. Entradas en el log de errores te indican
qué fue mal, y cuándo. A menudo también te indican cómo corregirlo. Cada
mensaje de error contiene un código de error, que puedes buscar en línea
para obtener descripciones aún más detalladas sobre cómo resolver el
problema. También puedes configurar el log de errores para que incluya
un id de LOG que luego puedes correlacionar a una entrada en el
log de accesos, y así poder determinar qué petición causó la condición
de error.
Puedes leer más sobre el registro de logs en la documentación de logs.
Una vez que cumples los pre-requisitos es hora de avanzar.
Esto documento sólo cubre el mínimo básico. Esperamos que esto te ayude a comenzar, pero hay muchas otras cosas que puede que necesites aprender.