Apache posee un comando llamado apachectl
, el cual facilita el arranque y terminación de Apache.
|
Al momento de ejecutar cualquier variación de apachectl
, se lee el archivo principal de configuración de Apache, httpd.conf, ubicado en el directorio /usr/local/apache/conf
.
Después de la instalación inicial el archivo httpd.conf contiene valores razonables de ejecución, sin embargo, en ocasiones es necesario modificar ciertos parámetros, inclusive las demás secciones de esta guia se basan en cambios significantes a este archivo.
#
y valores "Default"
Todos los parámetros que se incluyan en httpd.conf
serán validados previo arranque de Apache, esto es, al ejecutar apachectl start
(o apachectl restart
); la única excepción a esto son los renglones que inicien con el signo: #
, ya que estos indican un comentario (al igual que otros archivos en sistemas *nix).
Debido a la gran cantidad de parámetros modificables en el archivo httpd.conf
no serán descritos todos en esta guia, sin embargo, como ya fue mencionado todos los parámetros poseen valores razonables por "default".
Los parámetros User
y Group
indican el Usuario y Grupo al cual pertenece el proceso de Apache, estos parámetros básicamente indican que usuario será capaz de inicializar y terminar el Servidor Apache, por lo general se recomienda generar un usuario y grupo especial para esta tarea (Véase
Administración de Usuarios en Linux
).
User web Group web |
El parámetro ServerName
indica el nombre del Servidor que administra Apache, en otras palabras el sitio en cuestión; esto puede ser www.osmosislatina.com
, www.google.com
.
Este parámetro no puede ser inventado y dependerá fuertemente de su configuración DNS , sin embargo, si solo esta instalando Apache en un ambiente local ("Workstation","Intranet") se puede realizar sin necesidad de DNS.
Para realizarse en ambiente local es necesario modificar el archivo
Lo anterior indica que la maquina local (127.0.0.1) también puede ser llamada : |
Una vez configurado DNS o la resolución local, se puede definir el parámetro ServerName
dentro de httpd.conf
, el parámetro Port
indica el puerto TCP sobre el cual responderá Apache, este valor en casi todo ambiente "Web" toma el ampliamente conocido Puerto 80.
ServerName www.osmosislatina.com Port 80 |
Los pasos anteriores indican a Apache el nombre del sitio que se administra , sin embargo, aun falta indicar donde se encuentra el contenido de este sitio , esto es, cuando se visite www.osmosislatina.com
que aparecerá en Pantalla ? . Hasta este punto si ejecuta Apache y abre su navegador ("Netscape", "Lynx", "Opera") e intenta visitar el sitio definido en ServerName
debe observar la página inicial de Documentación para Apache, pero como se pueden observar otros documentos ?
El parámetro DocumentRoot
indica el directorio local donde reside la información del sitio en cuestión, el valor "default" en httpd.conf
es /usr/local/apache/htdocs
, en este directorio radica la documentación de Apache, desde luego es claro que debe modificar este parámetro hacia el directorio donde reside su propia documentación en
HTML
El parámetro DirectoryIndex
indica el Documento que debe ser enviado al accesar un directorio, generalmente toma el valor de index.html
, inclusive puede tomar varios valores, esto es especialmente útil cuando se emplean ambientes más elaborados con Perl o Java.
DocumentRoot /usr/local/misitio/ DirecotryIndex index.html, index.htm, index.cgi, home.html |
Lo anterior indica que al intentarse accesar cualquier directorio bajo /usr/local/misitio
(siempre y cuando no se indique un archivo especifico), se intentará enviar el archivo index.html
, si este no existe, se intenta con index.htm
, seguido de index.cgi
, y finalmente si no existiesen ninguno de los anteriores enviar home.html
.
Apache puede registrar los accesos y errores del sitio administrado , estos registros son los que ofrecen estadísticas sobre el numero de visitantes, el origen de cada usuario ( Nodos IP ), los posibles errores, etc.
Los dos parámetros son CustomLog
y ErrorLog
los cuales se recomienda sean modificados a un directorio relacionado con DocumentRoot
Analice estos registros con Analog .
Este parámetro es requerido para sitios que utilizan "Scripts"(Programas), generalmente escritos en Perl , estos "Scripts"(Programas) son los que permiten la generación de información dinámica en un sitio de Internet. (Véase también Aplicaciones de Servidor )
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/" |
Lo anterior indica que cualquier solicitud bajo el directorio cgi-bin
, será atendida por el directorio /usr/local/apache/cgi-bin/
, es dentro de este directorio donde se encontraran los "Scripts" que ejecutará Apache.
Aparentemente parece excesivo este tratamiento, porque no simplemente basarse en el antes definido DocumentRoot
? , la primer razón es Administrativa ya que estos "Scripts"(Programas) tienen mayor probabilidad de generar un error (son programas! y no documentos estáticos ) y la segunda razón es que estos "Scripts" pueden ser compartidos por varios "Sitios", esto se ejemplificará más en Virtual Hosting
Lo anterior conforma los parámetros de configuración básica para Apache, en las siguientes secciones se entrará en detalle sobre otras funcionalidades y sus aspectos de configuración.