Conviertete en todo un experto de Apache (I-II)

14:43 0 Comments A+ a-


Empezaremos desde el principio, ¿qué es apache? Apache es un servidor web HTTP de código abierto, pueden descargarlo e instalarlo de la siguiente manera:

sudo apt-get install apache2

Algunos comandos de interés:
apache2 -v Mostrará la información de versión, módulos y modo de funcionamiento.

apache2 -l Nos mostrará los módulos instalados.

Diferentes archivos de configuración en apache:

apache2.conf

Es el fichero de configuración global, y se encuentra en /etc/apache2/apache2.conf. Incluye las directivas principales del servidor, además, al final del archivo y mediante las órdenes include se le indica al servidor que debe cargar otros archivos de configuración.

ports.conf

En este fichero se establecen las direcciones IP y los puertos que va a usar el servidor. Por defecto se escucha el puerto 80, y en caso de que activemos el protocolo SSL, usaríamos el 443.

ennvars

Se utiliza para configurar las variables de entorno del servidor.

httpd.conf

Es el fichero de configuración principal, ya que se recomienda que el administrador del servidor introduzca en él las configuraciones adicionales en lugar de incluirlas enapache2.conf.

/etc/apache2/conf.d/

En este directorio se incluyen configuraciones adicionales y algunas aplicaciones web ubican aquí sus archivos de configuración.

Ahora que ya sabemos para que se utiliza cada archivo de configuración, podemos ponernos a configurar el archivo apache2.conf

ServerRoot
Indica el directorio raíz de la instalación de Apache. No se refiere al directorio donde colocaremos las páginas web. Solo deberemos modificar esto si movemos el servidor a otra ubicación.

  1. ServerRoot "/www"

Timeout
Son los segundos que esperan las respuestas durante la comunicación.

  1. Timeout 300

KeepAlive, MaxKeppAliveRequests y KeepAliveTimeout

Determina si el servidor va a permitir que cada conexión haga más de una petición. El problema de activarlo es que un único cliente puede consumir demasiados recursos y saturar el servidor.

Activamos o desactivamos KeepAlive.

  1. KeepAlive off/on

Determina el número de peticiones que podrá realizar cada conexión.

  1. MaxKeepAliveRequests 100

Determina el tiempo que el servidor esperará antes de atender una nueva petición del mismo cliente.

  1. KeepAliveTimeout 15


StartServers, MaxClientes y MaxRequestsPerChild

Apache crea y destruye servidores automáticamente según el tráfico que tenga que atender en cada momento.

Establecemos los servidores que se creearán al arrancar.

  1. StartServers 5

Establece el número máximo de clientes que podrá atender Apache a la vez

  1. MaxClients 150

Establece cuantas peticiones podrá atender cada cliente.

  1. MaxRequestsPerChild 30

Port
Nos permite cambiar el puerto en el que el servidor espera las peticiones estándar.
  1. Port 7000

Listen
Indica al servidor en que dirección y puerto debe escuchar las peticiones http.

  1. Listen 80

User y Group

Estas dos directivas indican con qué usuario y grupo se lanzarán los procesos hijos que genere apache. Estos procesos no deben lanzarse con el usuario root por razones de seguridad.

En linux, por defecto el usuario nobody y el grupo nogroup tienen muy pocos privilegios.

Si queremos usar el número del grupo o del usuario en lugar del nombre debemos añadir # justo antes del número.

  1. User nobody
  2. Grupo #-1

AccessFileName
Indica el nombre del archivo en el que se deben buscar las directivas de acceso determinadas en cada directorio. Por defecto es .htaccess y no se recomienda cambiarlo.

  1. AccessFileName .htaccess

DefaultType
Establece el tipo MIME para todos aquelos archivos a los que no se les pueda asignar uno mediante su extensión.

  1. DefaultType /text/plain

Podemos especificar más:

  1. DefaultType /text/html

HostnameLookups
indica al servidor si se debe hacer una consulta DNS para cada petición.

  1. HostnameLookups off

ErrorLog
Es una directiva muy importante, ya que indica dónde ubuicar el archivo de registro de los errores que se produzcan en el servidor. El lugar por defecto es %ServerRoot%/logs/error_log.

  1. ErrorLog logs/error_log

LogLevel
Establece cuánta información se guardará en el archivo de errores. Los valores posibles incluyen: debug, info, notice, warn, error, crit, alert, emerg.

  1. LogLevel warn