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

Iniciado por blackdrake, Febrero 22, 2015, 03:49:26 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Febrero 22, 2015, 03:49:26 PM Ultima modificación: Febrero 22, 2015, 04:20:23 PM por blackdrake

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.

Código: bash
ServerRoot "/www"


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

Código: bash
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.
Código: bash
KeepAlive off/on


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

Código: bash
MaxKeepAliveRequests 100


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

Código: bash
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.

Código: bash
StartServers 5


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

Código: bash
MaxClients 150


Establece cuantas peticiones podrá atender cada cliente.

Código: bash
MaxRequestsPerChild 30


Port
Nos permite cambiar el puerto en el que el servidor espera las peticiones estándar.
Código: bash
Port 7000


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

Código: bash
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.

Código: bash
User nobody
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.

Código: bash
AccessFileName .htaccess


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

Código: bash
DefaultType /text/plain


Podemos especificar más:

Código: bash
DefaultType /text/html


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

Código: bash
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.

Código: bash
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.

Código: bash
LogLevel warn



Y hasta aquí la primera parte ^^

Link de la segunda: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Un saludo.



Junio 08, 2015, 11:10:33 PM #1 Ultima modificación: Junio 09, 2015, 12:37:20 AM por EPSILON
Muy buenos los dos tutoriales @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta !, estas son cosas que debería saber cualquier admin. de servidores web para comenzar a familiarizarse con el mismo y  avanzando más entender como securizarlos.

Saludos!