• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

Bitacora Linux Logo

  • Acceder
  • Curso
  • Contactar
  • Apache
  • Consola y Servidores
  • Programacion
    • PHP
    • Javascript y HTML5
  • Otros

Configuracion de Apache2.conf

En esta entrada, te voy a desgranar toda la configuracion de apache2.conf. Este archivo se encuentra en /etc/apache2/

En este archivo se configuran aspectos globales de apache2, tales como en que archivo guarda el pid, nombre del usuario que ejecuta apache2.

Aunque muchos paremetros son para todos los sitios webs, luego cuando definamos una nueva web podremos añadirselo y asi especificarlo otro valor distinto del que hay en apache2.conf

Asi que vamos empezar a ver la configuracion de apache2.conf.

ServerRoot

ServerRoot es el directorio raíz donde se almacenan los distintos ficheros que utiliza el servidor Apache salvo que se indiquen rutas absolutas. Es importante no añadir una barra al final del nombre del último directorio.

ServerRoot "/etc/apache2"

DefaultRuntimeDir

Con esta directiva lo que estamos indicando es donde guarda, ficheros que genera cuando se esta ejecutando apache2. Aqui indicamos una variable, la cual esta declarada con su valor en «/etc/apache2/envvars».

DefaultRuntimeDir ${APACHE_RUN_DIR}

PidFile

PidFile $(APACHE_PID_FILE)

Fichero en el que el servidor guarda el ID del proceso demonio de escucha.

Timeout

Timeout indica el número de segundos antes de que se cancele un conexión por falta de respuesta. Este valor hay que tenerlo en cuenta, ya que hay ataques que consisten en hacer multiples conexiones, apurando el Timeout.

Timeout 300

KeepAlive

El comando KeepAlive determina si el servidor permitirá varias conexiones a la vez (p.e., más de una petición por conexión). KeepAlive puede usarse para impedir que un cliente consuma muchos recursos del servidor. El comando KeepAlive aparece ya en «on» por defecto, lo que significa que se permiten varias conexiones a la vez. Puede ponerse en off para desactivarlas.

KeepAlive On

MaxKeepAliveRequests

Esta directiva establece el número máximo de peticiones permitidas por cada conexión que se produzca a la vez. El Grupo Apache recomienda un valor alto, lo que mejoraría el rendimiento. El valor predeterminado del comando MaxKeepAliveRequests es de 100 que debería bastar en la mayoría de los casos.

MaxKeepAliveRequests 100

KeepAliveTimeout

La directiva KeepAliveTimeout establece el número de segundos que el servidor esperará a la siguiente petición, tras haber dado servicio a una petición, antes de cerrar la conexión. Una vez recibida la petición, aplica la directiva Timeout en su lugar.

KeepAliveTimeout 5

User

La directiva User establece el userid usado por el servidor para responder a peticiones. El valor de User determina el acceso al servidor. Cualquier fichero al que no pueda acceder este usuario será también inaccesible al visitante de la web. El comando predeterminado para User es www-data.

User solo debería tener privilegios de tal manera que sólo pudiera acceder a ficheros que se supone que todo el mundo puede ver. El comando User también es dueño del cualquier proceso CGI que arranque el servidor.Al comando User no se le debería permitir ejecutar ningún código que no esté pensado para responder peticiones HTTP.

El valor de esta variable se define en «/etc/apache2/envvars»

User ${APACHE_RUN_USER}

Group

El comando Group es similar a User. Group establece el grupo en el que el servidor responde a las peticiones. El valor predeterminado del comando Group también es apache.

Al igual User tambien se declara el valor en «/etc/apache2/envvars»

Group ${APACHE_RUN_GROUP}

HostnameLookups

HostnameLookups puede aparecer en on o en off. Si el servidor permite la directiva HostnameLookups (poniéndolo en on), el servidor resolverá automáticamente la dirección IP de cada conexión que pida un documento del servidor. Resolver la dirección IP implica que el servidor hará una o más conexiones al DNS para averiguar qué nombre de máquina se corresponde con una dirección IP.

HostnameLookups influye también en Internet en general. Cada conexión individual provoca una sobrecarga en el servidor. Por ello, por beneficio del servidor y de Internet en general, debería dejarse HostnameLookups en off.

Otro motivo por el que debería dejarse HostnameLookups en off es porque las peticiones de DNS añanden carga al servidor y pueden ralentizarlo. Si el servidor tiene carga, los efectos de HostnameLookups pueden ser considerables.

HostnameLookups Off

ErrorLog

ErrorLog nombra el fichero donde se guardan los errores del servidor.Como viene indicado, el fichero de error del servidor es /var/log/httpsd/error_log. El log de errores es un buen sitio para ver si el servidor genera errores y no se sabe muy bien qué pasó.

Es habitual que en este directorio hayan enlaces a otros directorio, por ejemplo el directorio de registro de accesos y errores (directorio de logs).

ErrorLog ${APACHE_LOG_DIR}/error.log

LogLevel

LogLevel warn

LogLevel establece cómo serán de abundantes los logs de error. Los niveles de error del LogLevel (de menor a mayor) son emerg, alert, crit, error, warn, notice, info or debug. El LogLevel de secure Web server está en warn (nivel medio).

IncludeOptional

Sirve para añadir configuraciones opcionales. Aquí estamos añadiendo los modulos que se encuentran en el directorio raiz de apache /etc/apache2″, dentro del directorio «mods-enabled». Estamos cargando tanto los modulos como sus ficheros de configuracion.

IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

Include ports.conf

Estamos incluyendo la configuracion del archivo ports.conf, donde se definen los puerto con los que trabaja el servidor, generalmente el 80 y si tiene cargado el modulo ssl el 443.

Include ports.conf

AccessFileName

AccessFileName denomina el archivo que el servidor utilizará para controlar el acceso en cada directorio. Por defecto, el servidor utilizará .htaccess, si existe, para controlar el acceso en cada directorio.

AccessFileName .htaccess

<Files>

Controla el acceso a cualquier archivo que empiece con .ht. Estas directivas niegan acceso a todo tipo de archivo .htaccess (u otros archivos que empiecen .ht) por razones de seguridad.

<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

LogFormat

LogFormat

LogFormat pone el formato para los mensajes en el log de acceso; afortunadamente, el formato hará que el log de acceso sea más legible.

IncludeOptional conf-enabled/*.conf

Incluye los ficheros con extension .conf que se encuentran en «/etc/apache/conf-enabled/»

IncludeOptional sites-enabled/*.conf

Incluye la configuracion de todos los ficheros terminados en .conf en «/etc/apache2/sites-enabled/». En esta ruta se guardan los ficheros de configuracion de los hosting virtuales.

Conclusion

Ya hemos llegado al final de la configuracion de apache2.conf. Aunque son varios parametros y variables, estando por defecto nos valdrá para la mayoria de los casos.

De todos los parametros, a los que mayor atencion hay que prestar son KeepAliveTimeout, MaxKeepAliveRequests, KeepAlive, Timeout.

Entradas recomendadas

  • Hosting Virtuales en Apache2
  • Modulos cargados en Apache2
  • Comandos para Apache2

Enlaces de Interes

  • Documentacion de Apache2
  • Modulos de Apache2

Para cualquier duda o sugerencia, puedes contactarme a traves del fomulario de contacto.

Tambien te animo a que te suscribas a la newsletter, donde solo envio las nuevas publicaciones.

Comparte esta entrada:

Compartir en X (Twitter) Compartir en Facebook Compartir en Email Compartir en WhatsApp Compartir en Telegram

Interacciones con los lectores

Deja una respuesta

Lo siento, debes estar conectado para publicar un comentario.

sidebar

sidebar-alt

Diseño y Desarrollo por juanjomc.com

Utilizamos cookies propias y de terceros para garantizar el funcionamiento de la web, medir su uso y mejorar nuestros servicios. Puede aceptar todas las cookies, rechazar las no necesarias o configurar sus preferencias. Política de cookies

Configurar cookies

Necesarias para que la web funcione correctamente. No se pueden desactivar desde este panel.

Ayudan a medir el uso del sitio y mejorar sus contenidos.

Permiten publicidad, medición de campañas o personalización de anuncios.

Guardan preferencias o permiten contenido externo no necesario.