Diferencia entre revisiones de «Usuario:ManuelRomero/modulo APACHE/Directivas»

De WikiEducator
Saltar a: navegación, buscar
(Directivas)
Línea 15: Línea 15:
 
#[http://httpd.apache.org/docs/2.4/mod/directive-dict.html#Context Terminos usados] para describir el uso de directivas
 
#[http://httpd.apache.org/docs/2.4/mod/directive-dict.html#Context Terminos usados] para describir el uso de directivas
 
===Directivas===
 
===Directivas===
;<h3>ServerRoot</h3>
+
<h4>ServerRoot</h4>
 
<HR/>
 
<HR/>
 
:Corresponde al directorio donde se ha instalado el apache
 
:Corresponde al directorio donde se ha instalado el apache
Línea 22: Línea 22:
 
  ServerRoot /var/
 
  ServerRoot /var/
 
:Cuando se especifican rutas relativas siempre se tomarán respecto a la ubicación de ServerRoot
 
:Cuando se especifican rutas relativas siempre se tomarán respecto a la ubicación de ServerRoot
;PidFile
+
<h4>PidFile</h4>
 +
<HR/>
 
:Ubicación del fichero donde el servidor guarda su ID de proceso  
 
:Ubicación del fichero donde el servidor guarda su ID de proceso  
 
:Por defecto se ubica en %ServerRoot%/logs/httpd.pid
 
:Por defecto se ubica en %ServerRoot%/logs/httpd.pid
 
  PidFile logs/httpd.pid
 
  PidFile logs/httpd.pid
;Timeout
+
<h4>Timeout</h4>
 +
<HR/>
 
:Tiempo en segundos  en los que se esperan las respuestas en la comunicación
 
:Tiempo en segundos  en los que se esperan las respuestas en la comunicación
 
:Pasado este tiempo se entiende que la comunicación se ha cortado
 
:Pasado este tiempo se entiende que la comunicación se ha cortado
 
:Por defecto se estable a valor de 300
 
:Por defecto se estable a valor de 300
 
  Timeout 300
 
  Timeout 300
;KeepAlive MaxKeepAliveRequest KeepAliveTimeout
+
<h4>KeepAlive MaxKeepAliveRequest KeepAliveTimeout</h4>
 +
<HR/>
 
:Permitir o no varias peticiones por conexión
 
:Permitir o no varias peticiones por conexión
 
  KeepAlive off
 
  KeepAlive off
Línea 38: Línea 41:
 
:'''''MaxKeepAliveRequest''''' para limitar el número de peticiones en cada conexión.
 
:'''''MaxKeepAliveRequest''''' para limitar el número de peticiones en cada conexión.
 
:'''''KeepAliveTimeout'''''  establece el tiempo que el servidor espera antes de atender una nueva petición de la misma conexión.
 
:'''''KeepAliveTimeout'''''  establece el tiempo que el servidor espera antes de atender una nueva petición de la misma conexión.
;ifModule
+
<h4>ifModule</h4>
 +
<HR/>
 
:Verifica la existencia de un determinado módulo
 
:Verifica la existencia de un determinado módulo
 
:En caso de que exista el módulo se establece un bloque de opciones
 
:En caso de que exista el módulo se establece un bloque de opciones
Línea 49: Línea 53:
 
  </ifModule>
 
  </ifModule>
  
;StartServer MaxClient MaxRequestsPerChild
+
<h4>StartServer MaxClient MaxRequestsPerChild</h4>
 +
<HR/>
 
:Número de servidores que se crearán al arrancar el servicio
 
:Número de servidores que se crearán al arrancar el servicio
 
  StartServer 5  
 
  StartServer 5  
Línea 58: Línea 63:
 
:: En caso de tener el valor '''''0''''' (''valor por defecto'') no se limita el número de peticiones que un proceso hijo puede atender
 
:: En caso de tener el valor '''''0''''' (''valor por defecto'') no se limita el número de peticiones que un proceso hijo puede atender
 
   
 
   
;Port
+
<h4>Port</h4>
 
<HR/>
 
<HR/>
 +
 
:Puerto que abre el servidor web para atender las solicitudes
 
:Puerto que abre el servidor web para atender las solicitudes
 
:Si no se especifica se asigna el puerto 80
 
:Si no se especifica se asigna el puerto 80
 
  #establecemos el puert 7900 en lugar del puerto 80
 
  #establecemos el puert 7900 en lugar del puerto 80
 
  Port 7900  
 
  Port 7900  
;Listen
+
<h4>Listen</h4>
 +
<HR/>
 
:Direcciones IP y puertos en los que escucha el servidor además de los puertos por defecto
 
:Direcciones IP y puertos en los que escucha el servidor además de los puertos por defecto
 
  #Listen [IP-address:]portnumber
 
  #Listen [IP-address:]portnumber
Línea 72: Línea 79:
 
  #Aquí establecemos que además del puerto 80, escuche también por el puerto 8080
 
  #Aquí establecemos que además del puerto 80, escuche también por el puerto 8080
 
  Listen 8080
 
  Listen 8080
;LoadModule
+
<h4>LoadModule</h4>
 
<HR/>
 
<HR/>
 
:Esta directiva permita cargar nuevos módulos como si se tratara de ensambar un nuevo componente sin tener que volver a compilar los fuentes
 
:Esta directiva permita cargar nuevos módulos como si se tratara de ensambar un nuevo componente sin tener que volver a compilar los fuentes
 
:Apache normalmente viene con la opcion '''''DSO''''' ''Dinamic Shared Object'', por lo que podemos agregar nuevos módulos
 
:Apache normalmente viene con la opcion '''''DSO''''' ''Dinamic Shared Object'', por lo que podemos agregar nuevos módulos
 
:Los módulos con los que se compilaron los fuentes no hacen falta volver a cargarlos. Sólo sería para añadir nuevos módulos que queramos incorporar
 
:Los módulos con los que se compilaron los fuentes no hacen falta volver a cargarlos. Sólo sería para añadir nuevos módulos que queramos incorporar
;User Group
+
<h4>User Group</h4>
 +
<HR/>
 
:Estas directivas especifican el identificador de '''''usuario, grupo''''' con el que el servidor responderá a las peticiones. Es decir el '''''usuario,grupo''''', propietario del proceso hijo que atiende las solicitudes del cliente <!-- Cometar esta frase a Nacho para verificar su verdad-->
 
:Estas directivas especifican el identificador de '''''usuario, grupo''''' con el que el servidor responderá a las peticiones. Es decir el '''''usuario,grupo''''', propietario del proceso hijo que atiende las solicitudes del cliente <!-- Cometar esta frase a Nacho para verificar su verdad-->
 
:Para usar esta directiva, el servidor debe haber sido iniciado como root.  
 
:Para usar esta directiva, el servidor debe haber sido iniciado como root.  

Revisión de 11:37 29 dic 2012



Qué son las directivas

  • Las directivas son variables predefinidas que utiliza el fichero/s de configuración de del servidor Apache
  • Gracias a ellas podemos personalizar el comportamiento del servidor web
  • Son muchas las directivas existentes, veremos algunas de ellas en el presente wiki
  • Dentro del fichero de configuración el signo # indica un comentario (se ignora esa línea)


Icon preknowledge.gif

Conocimiento previo

Cualquier cambio en la configuración del servidor tendrá efecto después de reniciarlo


Referencias

  1. Fichero de configuracion comentado y con referencias a la web
  2. Referencias relacionadas con apache
  3. Directivas de apache. Lista completa en la página oficial
  4. Formas de uso de las directivas de la página oficial
  5. Terminos usados para describir el uso de directivas

Directivas

ServerRoot


Corresponde al directorio donde se ha instalado el apache
No se debería cambiar (Si se cambia el servidor no deja de funcionar)
Posteriormente podemos hacer referencia a este directoria a través de la referencia %SeverRoot%
ServerRoot /var/
Cuando se especifican rutas relativas siempre se tomarán respecto a la ubicación de ServerRoot

PidFile


Ubicación del fichero donde el servidor guarda su ID de proceso
Por defecto se ubica en %ServerRoot%/logs/httpd.pid
PidFile logs/httpd.pid

Timeout


Tiempo en segundos en los que se esperan las respuestas en la comunicación
Pasado este tiempo se entiende que la comunicación se ha cortado
Por defecto se estable a valor de 300
Timeout 300

KeepAlive MaxKeepAliveRequest KeepAliveTimeout


Permitir o no varias peticiones por conexión
KeepAlive off
Establecerlo a on puede hacer que un cliente sature a un servidor.
Si se establece a on es muy recomendado usar las siguientes directivas.
MaxKeepAliveRequest para limitar el número de peticiones en cada conexión.
KeepAliveTimeout establece el tiempo que el servidor espera antes de atender una nueva petición de la misma conexión.

ifModule


Verifica la existencia de un determinado módulo
En caso de que exista el módulo se establece un bloque de opciones
Existe la posibilidad de establecer el bloque de opciones en caso de que no exista dicho módulo con la exclamación !
<ifModule nombre_modulo>
 Definiciones a tener en cuenta si está cargado el módulo nombre_modulo
</ifModule>
<!ifModule nombre_modulo>
 Definiciones a tener en cuenta si no está cargado el módulo nombre_modulo
</ifModule>

StartServer MaxClient MaxRequestsPerChild


Número de servidores que se crearán al arrancar el servicio
StartServer 5 
#Abrimos 5 servidores al arrancar el servidor http Apache
MaxClient clientes que el servidor puede atender de forma concurrente
MaxRequestsPerChild establece el número máximo de peticiones que un proceso hijo puede atender.
Despues de atender este número de peticiones el proceso es eliminado
En caso de tener el valor 0 (valor por defecto) no se limita el número de peticiones que un proceso hijo puede atender

Port


Puerto que abre el servidor web para atender las solicitudes
Si no se especifica se asigna el puerto 80
#establecemos el puert 7900 en lugar del puerto 80
Port 7900 

Listen


Direcciones IP y puertos en los que escucha el servidor además de los puertos por defecto
#Listen [IP-address:]portnumber
#Establecer el valor por defecto 
Listen 127.0.0.1:80
#Aquí establecemos que además del puerto 80, escuche también por el puerto 8080
Listen 8080

LoadModule


Esta directiva permita cargar nuevos módulos como si se tratara de ensambar un nuevo componente sin tener que volver a compilar los fuentes
Apache normalmente viene con la opcion DSO Dinamic Shared Object, por lo que podemos agregar nuevos módulos
Los módulos con los que se compilaron los fuentes no hacen falta volver a cargarlos. Sólo sería para añadir nuevos módulos que queramos incorporar

User Group


Estas directivas especifican el identificador de usuario, grupo con el que el servidor responderá a las peticiones. Es decir el usuario,grupo, propietario del proceso hijo que atiende las solicitudes del cliente
Para usar esta directiva, el servidor debe haber sido iniciado como root.
Si se inicia Apache con un usario distinto de root, no se podrá cambiar a un usuario con menores privilegios, y el servidor continuará ejecutándose con el usuario original.
Si inicia el servidor como root, entonces es normal que el procedimiento padre siga ejecutándose como root.
Un nombre de ususario, se refiere al usuario dado por su nombre.
# seguido por un número de usuario.
Se refiere al usuario que corresponde a ese número.
User nombre_usuario
User #num_id_usuario
Group nombre_usuario
Group #num_id_usuario
ServerAdmin
ServerName
DocumentRoot
Directory
UserDir
DirectoryIndex
AccessFileName
Files
UseCanonicalName
TypesConfig
DefaultType
HostNameLookups
ErrorLog
LogLevel
LogFormat
CustonLog
ServerSignature
Alias
IndexOptions AddIconByEncoding AddIconByType AddIcon DefaultIcon ReadmeName HeaderName IndexIgnore
AddEncoding
AddLenguage
LenguagePriority
AddCharset
AddDefaultCharset
BrowserMatch