PDF de programación - apuntes apache

Imágen de pdf apuntes apache

apuntes apachegráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 25 de Noviembre del 2017)
569 visualizaciones desde el 25 de Noviembre del 2017
743,8 KB
15 paginas
Creado hace 8a (27/03/2012)
SERVIDOR WEB APACHE

SERVIDOR WEB HTTP APACHE

Un servidor HTTP es el programa que atiende las peticiones de los clientes Web y proporciona las páginas solicitadas. Utiliza de forma general
el puerto 80 TCP para atender las peticiones de los clientes, aunque también puede atender peticiones a través del puerto 443 TCP utilizado
para conexiones seguras

Apache es un servidor HTTP de código libre, que funciona en GNU/Linux, Windows y otras plataformas. Ha desempeñado un papel muy
importante en el crecimiento de la red mundial, y continua siendo el servidor HTTP más utilizado. Apache es desarrollado y mantenido por una
comunidad de desarrolladores auspiciada por Apache Software Foundation

Instalación

Para instalar apache desde los repositorios sudo apt-get install apache2 o sudo apt-get install apache2-mpm-prefork

Inicio, parada y reinicio del servicio apache

sudo service apache2 start | stop | restart

Archivos y directorios de configuración

Todos los archivos de configuración se encuentran en el directorio /etc/apache2

Archivo principal de configuración
Directivas de configuración que indican puertos y direcciones IP donde apache escucha peticiones
Contiene archivos de configuración asociados a módulos específicos
Los archivos de este directorio son incluidos mediante la directiva Include /etc/apache2/conf.d

apache2.conf
ports.conf
conf.d/



mods-available/ Directorio que contiene los archivos de los diferentes módulos que puede utilizar apache
mods-enabled/
site-available/
site-enabled/
/var/www/

Directorio que contiene los módulos activos de apache
Directorio que contiene los archivos de configuración de los diferentes hosts virtuales (sitios)
Directorio que contiene los hosts virtuales activos
Directorio por defecto para alojar las páginas Web

El archivo de configuración /etc/apache2/apache2.conf está dividido en tres secciones, configuración global, configuración general del servidor
y configuración de los servidores virtuales. Como en todos los archivos de configuración de GNU/Linux el símbolo # indica un comentario y no
será tenido en cuenta





SERVIDOR WEB APACHE

CONFIGURACIÓN GLOBAL

Estas directivas especifican el funcionamiento del servidor Web, indicando el directorio de los ficheros de configuración, el modo de
funcionamiento del servidor, etc. Las entradas básicas son

ENTRADAS

ServerRoot

TimeOut

KeepAlive

MaxKeepAliveRequest

KeepAliveTimeout
<IfModule mpm_prefork_module>

</IfModule>

<IfModule mpm_worker_module>

</IfModule>

Listen

Include

User
Group




DESCRIPCIÓN

VALOR POR DEFECTO

Indica el directorio raíz donde se encuentran los ficheros de configuración,
error y logs
En esta entrada NO puede añadirse el carácter / al final del mismo
Tiempo en segundos que espera el servidor entre la realización de una
conexión y el envío de la petición de la página Web mediante GET, el envío
de la información mediante POST o la recepción de ACKs de los paquetes de
datos enviados
Indica el modo de funcionamiento del servidor en el intercambio de
peticiones y envíos con los clientes
Un valor Off indica que el funcionamiento será HTTP/1.0, esto es, cada
petición de una página necesita una conexión TCP nueva y las entradas
MaxKeepAliveRequest y KeepAliveTimeout serán ignoradas
Un valor On indica que el funcionamiento será HTTP/1.1, por lo que múltiples
peticiones serán enviadas a través de una misma conexión TCP
Número máximo de peticiones por conexión
0 indica ilimitadas
Segundos en espera entre peticiones antes de cerrar una conexión
Indican el modo de ejecución del servidor y las características del mismo
En el modo prefork un proceso padre lanza procesos hijo para que estos
atiendan las peticiones de páginas Web recibidas, procurando que siempre
existan algunos procesos hijo
Es el modo de ejecución por defecto de apache
Indican el modo de ejecución del servidor y las características del mismo
En el modo worker, el proceso padre lanza procesos hijos, los cuales a su vez
ejecutan hilos, permaneciendo uno de ellos a la escucha de peticiones y el
resto atendiendo a las mismas
Indica la dirección IP y puerto en el que el servidor Web escucha peticiones
Si no se indica ninguna dirección IP o se indica con el símbolo * el servidor
Web escuchará las peticiones de todas las interfaces de red existentes
Pueden utilizarse múltiples directivas Listen para indicar diferentes puertos e
interfaces de red
Esta entrada se encuentra en el archivo /etc/apache2/ports.conf
Entrada que indica la ruta a diferentes ficheros de configuración que apache
cargará al iniciarse

Usuario con el que se ejecutará apache
Grupo con el que se ejecutará apache



/etc/apache2

300

On

100

15

-

-

80
443

conf.d/

sites-enabled/
mod-enabled/

ports.conf
www-data
www-data

SERVIDOR WEB APACHE

CONFIGURACIÓN GENERAL DEL SERVIDOR

Estas directivas definen el comportamiento del servidor por defecto y de todos los servidores virtuales excepto en los que se definan otras
opciones

NOTA En DEBIAN/UBUNTU, las entradas ServerTokens, ServerSignature y las opciones de control de acceso sobre el directorio principal
<Directory />…</Directory> se encuentran en el archivo /etc/apache2/conf.d/security

ENTRADAS

ServerAdmin
ServerName

UseCanonicalName

DocumentRoot

<Directory />

</Directory>
<Directory /var/www>

</Directory>
DirectoryIndex

AccessFileName

<Files ~ “^\.ht”>

</Files>
HostnameLookups

ErrorLog
LogLevel

LogFormat

CustomLog
ServerSignature

ServerTokens

Alias

ScriptAlias

AddDefaultCharset



DESCRIPCIÓN

Dirección de correo del administrador del servidor
Indica el nombre y puerto con el que el servidor se identificará ante las
peticiones que se realicen
Si no se indica el nombre, este se obtiene mediante consulta inversa
DNS
Si no se especifica el puerto se utilizará el puerto por el que se recibió
la petición
Con valor Off Indica si se responde siempre con el nombre y puerto
por el que se recibió la petición
Con valor On indica que se responderá con el nombre y puerto
especificado en la entrada ServerName
Indica el directorio a partir del cual se encuentran las páginas Web del
servidor
Indican opciones de control de acceso sobre las páginas Web

Indican opciones de control de acceso sobre las páginas Web

Indica los nombres y orden de las páginas por defecto que apache
buscará si en la petición de un cliente no se especifica
Indica el nombre del fichero que controla el acceso a determinados
directorios
Indica las reglas para evitar que el fichero especificado con la entrada
AccessFileName pueda ser accedido por un cliente Web

Indica si se almacenará en los ficheros logs el nombre del cliente On o
su dirección IP Off
Indica donde se almacenarán los mensajes de error del servidor Web
Indica el nivel de detalle de los mensajes de error
Los niveles de mayor a menor detalle son emerg, alert, crit, error,
warn notice, info y debug
Establecer un nivel implica que también se almacenaran en el log de
errores los mensajes de los niveles superiores
Indica que información, como se guardará y como se llamarán en los
ficheros logs de acceso del sistema
Indica donde se almacenarán los mensajes de acceso al sistema
El valor On indica que apache añadirá el nombre y versión del servidor
indicado en la entrada ServerName al final de cualquier documento de
error generado
El valor Off no añadirá el nombre y versión del servidor
El valor EMail envía una línea de código HTML mailto:ServerAdmin
En DEBIAN/UBUNTU esta directiva se encuentra en el fichero
/etc/apache2/conf.d/security
Indica la información que da apache sobre sí mismo a los clientes en
las peticiones
Los valores de mayor a menor información son Full, OS, Minimal,
Minor, Major y Prod
En DEBIAN/UBUNTU esta directiva se encuentra en el fichero
/etc/apache2/conf.d/security
Indica un camino distinto al camino por defecto para un recurso al que
debe acceder el servidor
Igual que la directiva Alias pero sirve para especificar que el contenido
serán scripts CGI
Indica el conjunto de caracteres por defecto a utilizar

VALOR POR DEFECTO
webmaster@localhost

En distribuciones DEBIAN/UBUNTU no
existe esta directiva y apache lanzará un
error la primera vez que se ejecute, por
tanto la indicaremos de forma
ServerName 127.0.0.1

-

/var/www

-

-

-

.htaccess

-

Off

/var/log/apache2/error.log

warn

-

/var/log/apache2/other_vhosts_access.log

On

OS

-

-

UTF-8

SERVIDOR WEB APACHE

Paso a paso. Configuración básica para evitar Fingerprinting

NOTA Fingerprinting es una técnica que permite identificar las características, versión, SO, etc… de un servidor desde el exterior

Ejemplos de Fingerprinting

Intentando acceder a un recurso que no existe



Intentando acceder a un recurso del servidor

1. Editar el archivo de configuración /etc/apache2/conf.d/security





#ARCHIVO SECURITY
#/ETC/APACHE2/CONF.D/SECURITY

ServerTokens Prod
ServerSignature Off

2. Reiniciar apache y comprobar que ahora no se muestra ninguna información relativa al propio servidor

Paso a paso. Gestión de módulos en apache. Configuración del módulo status para acceder desde la dirección IP 192.168.1.XX y habilitación
del módulo info

Comandos
a2enmod módulo

a2dismod módulo

Habilita el módulo indicado
Deshabilita el módulo indicado

Directorios
/etc/apache2/mods-available
/etc/apache2/mods-enables

Archivos de configuración de los módulos
módulos habilitados por apache

El módulo status, que viene activado en la propia instalación de apache, nos permite averiguar de forma remota, sólo a usuari
  • Links de descarga
http://lwp-l.com/pdf7700

Comentarios de: apuntes apache (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad