Vous êtes sur la page 1sur 75

Bienvenidos al Curso

Apache Basico
Centro de Estudios Tecnolgicos Avanzados (Centec)
Av. Libertador, con calle Negrin. Centro Comercial Av. Libertador,
Nivel Mezzanina, Local M-8, Caracas Venezuela.
Telf. (58-0212) 761.21.51 / 762.88.92 / 762.88.94

Bienvenidos al Curso

Apache Basico

Introduccin a Apache
La Familia de protocolos TCP-IP
El protocolo HTTP
CGI - Common Gateway Interface
Instalacin de Apache

Sistemas operativos soportados

Instalacin de Apache en Linux


Compilacin e instalacin
Binarios precompilados
Arranque y parada del servicio
Verificacin de la instalacin
Instalacin de Apache en Windows

Directivas bsicas de configuracin

Bienvenidos al Curso

Apache Basico

Herramientas de configuracin: Comanche, Webmin

Instalacin de Mdulos dinmicos


Uso de APXS
Ant
Autenticacin, Autorizacin y Control de Acceso

El archivo .htaccess y asociados (.htpasswd, .htgroup y .htdigest)


Control de acceso por LDAP (mod_ldap)
Control de acceso por bases de datos (mod_auth_db,
mod_auth_mysql)
Directorios web para cada usuario (public_html)

Bienvenidos al Curso

Apache Basico

Servidores virtuales

Servidores virtuales por nombre


Servidores virtuales por IP
Apache y la generacin de contenido dinmico
PHP con mod_php
Compilacion de PHP

JSP y Servlets con Tomcat: mod_jk

Integracion con WebServices

Bienvenidos al Curso

Apache Basico

Otros Mdulos de Apache

Benchmarking del Servidor

Compresin de contenidos: mod_deflate


Reescritura de URLs: mod_rewrite
Negociacin de contenidos: mod_negotiation
Apache como proxy o gateway: mod_proxy

Motores Prefork y Worker MPM


Entonacion Basica de Apache

Monitorizacin y optimizacin del servidor Apache

Archivos log y su control.


Limitacin del ancho de banda: mod_bandwidth.
Carga del servidor: mod_status

Que es Apache
El servidor HTTP Apache es un software (libre) servidor HTTP de
cdigo abierto para plataformas Unix (BSD, GNU/Linux, etc.),
Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1 y
la nocin de sitio virtual.
Cuando comenz su desarrollo en 1995 se bas inicialmente en cdigo del
popular NCSA HTTPd 1.3, pero ms tarde fue reescrito por completo.
Su nombre se debe a que Behelendorf eligi ese nombre porque quera que
tuviese la connotacin de algo que es firme y enrgico pero no agresivo, y la
tribu Apache fue la ltima en rendirse al que pronto se convertira en
gobierno de EEUU, y en esos momentos la preocupacin de su grupo era
que llegasen las empresas y "civilizasen" el paisaje que haban creado los
primeros ingenieros de internet.
Adems Apache consista solamente en un conjunto de parches a aplicar al
servidor de NCSA. Era, en ingls, a patchy server (un servidor "parchado").

Modelo de Funcionamiento

INSTALACION DE APACHE
Configuracion Standard

ServerRoot

:: /usr/local/apache2

DocumentRoot

:: /usr/local/apache2/htdocs

Apache Config File :: /usr/local/apache2/conf/httpd.conf

Other Config Files :: /usr/local/apache2/conf/extra/

SSL Config File

:: /usr/local/apache2/conf/extra/httpd-ssl.conf

ErrorLog

:: /usr/local/apache2/logs/error_log

AccessLog

:: /usr/local/apache2/logs/access_log

cgi-bin

:: /usr/local/apache2/cgi-bin

binaries (apachectl):: /usr/local/apache2/bin

start/stop

:: /usr/local/apache2/bin/apachectl

(start|restart|graceful|graceful-stop|stop|configtest)

INSTALACION DE APACHE
Configuracion Suse

ServerRoot

::

/srv/www

DocumentRoot

::

/srv/www/htdocs

Apache Config File ::

/etc/apache2/httpd.conf

Other Config Files ::

/etc/sysconfig/apache2

SSL Config File

::

/etc/apache2/ssl-global.conf

ErrorLog

::

/var/log/apache2/error_log

AccessLog

::

/var/log/apache2/access_log

cgi-bin

::

/srv/www/cgi-bin

binaries (apachectl)::

/usr/sbin

start/stop

/etc/init.d/apache2

::

(start|restart|graceful|graceful-stop|stop|configtest)

INSTALACION DE APACHE
Binarios de Apache
Instalacion de Motores de Ejecucion
Core
Prefork (mpm)

Instalacion de Modulos shares de Apache


Modulos Mod_
fast_cgi

perl

php, etc

Instalacion de Modulos doc y contrib de Apache


Modulos Man y soporte a otras arquitecturas

Modelos de Directorios
bin:
archivos ejecutables del Apache.

conf:
archivos de configuracin del servidor.

error:
archivos con los mensajes de error del servidor, en
varios lenguajes.

htdocs:
directorio raz por defecto del servidor (Se guardan
las pginas Web).

Modelos de Directorios
icons:
directorio donde se encuentran los iconos que utiliza
el servidor (entre otras cosas para mostrar
estructuras de directorios).

logs:
directorio donde se almacenan los registros de
acceso y errores del servidor.

manual:
directorio donde se encuentra el manual del Apache.

proxy:
Directorio con los archivos de la cache del servidor

PRACTICA
Instalacion

Realize la correcta instalacion en el sistema


Operativo Linux

Ejecute un Navegador Web y verifique la correcta


instalacion del servidor Apache,

Verifique la instalacion del Vecino

Cual puerto sirve de escucha? como lo verifica

INSTALACION DE APACHE
Fuentes de Apache
Compilacion de Motores de Ejecucion
Core
Prefork (mpm)

Compilacion de Soporte APR de Apache


Apache Runtime

Compilacion de Soporte contrib de Apache


Ldap, Mysql, Postgres y otros soportes

INSTALACION DE APACHE
Fuentes Clasica de Apache
./configure --help

INSTALACION DE APACHE
Fuentes Clasica de Apache
./configure \
--with-ldap \
--enable-mods-shared="all ssl ldap cache proxy
authn_alias mem_cache file_cache
authnz_ldap charset_lite dav_lock disk_cache"

PRACTICA
Instalacion

Realize la correcta compilacion de Apache en


el sistema Operativo Linux

Agregue soporte a: ssl, ldap

Verifique el Arbol de Directorios que se obtuvo

Inicie apache manualmente escuche en el puerto


8080

Verifique la instalacion del Vecino

Reserve el directorio de instalacion para una


practica posterior

INSTALACION DE APACHE
Fuentes Basado en RPM soportando a Suse
rpm -ivh apache2-2.2.8-8.2.src.rpm
rpm etc..
cd /usr/src/packages
cd SPECS
rpmbuild -bb apache2.spec

PRACTICA
Instalacion
Realize la correcta compilacion de Apache en el
sistema Operativo Linux desde los RPM

Genere rpm para la arquitectura especifica de su


distribucion y hardware

Verifique los archivos resultantes

Desinstale los binarios clasicos de Apache y realize


la instalacion son la compilacion optenida

Verifique el Arbol de Directorios que se obtuvo

Reserve el directorio de instalacion para una


practica posterior

Archivos de Configuracion

Bsicamente las configuraciones del servidor residen


dentro de dos archivos,

el de configuracin principal que se encuentra dentro


de la carpeta conf, con el nombre httpd.conf,

o dentro de un archivo con el nombre .htaccess que se


puede encontrar dentro de cualquier directorio que se
encuentre mapeado dentro del servidor.

Dentro de cada uno de estos archivos se ubican las


directivas de configuracin.

Muchas de estas directivas de configuracin se


pueden encontrar tanto dentro del archivo de
configuracin principal como dentro de un archivo
.htaccess.

Archivos de Configuracion
Los valores de las directivas que se encuentran
dentro de un archivo .htaccess, prevalecen
frente a los valores de configuracin
especificados dentro del archivo httpd.conf.

El Archivo httpd.conf
El archivo httpd.conf es el archivo principal de
configuracin del Apache, se encuentra dentro del
directorio Conf, en el directorio de instalacin del
Apache.
En primer lugar hay que destacar que el archivo est
dividido en tres secciones, que son:

1 Parmetros globales

2 Directivas de Funcionamiento

3 Host Virtuales

El Archivo httpd.conf
En el archivo se encuentran todos los parmetros de
funcionamiento del Apache. Algunos parmetros son
generales para la instalacin y funcionamiento del
Apache.
Muchos otros de los parmetros se pueden configurar
independientes para un conjunto de directorios y/o
archivos .
En estos casos los parmetros se encuentran ubicados
dentro de secciones donde se indica el mbito de
aplicacin del parmetro.

httpd.conf
Las secciones ms importantes son:
<Directory> :
Los parmetros que se encuentran dentro de esta seccin,
slo se aplicarn a el directorio especificado y a sus
subdirectorios.
<DirectoryMatch>:
Igual que Directory, pero acepta en el nombre del directorio
expresiones regulares.
<Files>:
Los parmetros de configuracin proporcionan control de
acceso de los archivos por su nombre.
<FilesMatch>:
Igual que Files, pero acepta expresiones regulares en el
nombre del archivo.

httpd.conf
<Location>:
Proporciona un control de acceso de los archivos por medio
de la URL
<LocationMatch>:
Igual que Location, pero acepta expresiones regulares en el
nombre del archivo.

httpd.conf
Algunas veces las directivas de funcionamiento de las secciones
anteriores se pueden cruzar en cuyo caso tienen el siguiente
orden de preferencia:
<Directory> y .htaccess (.htaccess prevalece frente a <Directory>)
<DirectoryMatch> y <Directory>
<Files> y <FilesMatch>
<Location> y <LocationMatch>

Parametros Globales
Todos los parmetros que se establecen dentro de esta
seccin son globales para el funcionamiento del servidor,
por lo que no admiten estar dentro de ninguna directiva.
ServerRoot:
Especifica la ubicacin del directorio raz donde se
encuentra instalado el Apache, a partir del cual se crea
el rbol de directorios comentado anteriormente.
Esta directiva no debera cambiar a no ser que se mueva
la carpeta de instalacin de apache a otro directorio. Se
encuentra disponible a travs del mdulo Core.

Parametros Globales
PidFile:
ubicacin del archivo que contendr el nmero de
identificacin del proceso cuando se encienda el
servidor.
Se encuentra disponible a travs de varios mdulos beos,
leader, mpm_winnt, mpmt_os2, perchild, prefork,
threadpool worker

Parametros Globales
TimeOut: el valor se utiliza para configurar medido en segundos,
tres parmetros:
El tiempo tal que puede tardar una peticin en ser recibida entera
La cantidad de tiempo que espera entre recepcin de paquetes
TCP
La cantidad de tiempo entre ACK's en transmisiones TCP
Pasado este tiempo se produce un mensaje de error en el que se
indica que se ha consumido el tiempo mximo de espera.
Establecer un valor muy pequeo puede dar lugar a que los
usuarios reciban este mensaje de error, y establecer un valor muy
pequeo dar lugar a una sobrecarga de la mquina.
Se encuentra disponible a travs del mdulo Core.

Parametros Globales
KeepAlive:
especifica si se utilizarn conexiones persistentes, es decir,
que todas las peticiones de un usuario se atendern con la
misma conexin.
Se encuentra disponible a travs del mdulo Core.

Parametros Globales
MaxKeepAliveRequests:
nmero mximo de conexiones persistentes. (nmero
mximo de usuarios concurrentes si KeepAlive esta en ON).
Para establecer este parmetro, hay que tener en cuenta el
ancho de banda de salida de nuestro servidor, por el cual
deber ser enviada toda la informacin.
Si se establece un valor muy grande respecto al ancho de
banda, el tiempo de respuesta se ver incrementado para
cada usuario.
Se encuentra disponible a travs del mdulo Core.

Parametros Globales
KeepAliveTimeout:
Tiempo que espera en segundos entre peticiones de un
usuario, antes de considerar que este ha terminado, y
cerrar su conexin.
Si el valor es muy pequeo provocar que algunos
usuarios no puedan visualizar la pgina debido a que el
nmero mximo de conexiones persistentes se ha
superado
Mientras que si se establece un valor muy grande se
estarn utilizando muchos recursos de la mquina. Se
encuentra disponible a travs del mdulo Core.

Parametros Globales
Listen:
Esta directiva permite especificar que puerto se utilizar
para antender las peticiones.
Por defecto se utiliza el puerto 80 (www), tambin permite
especificar que direcciones IP atender, por defecto
todas.
Para atender dos direcciones IP distintas, con distintos
puerto, se utilizara:
Listen 192.168.255.5:80
Listen 192.168.255.8:8080
Se encuentra disponible a travs de varios mdulos beos,
leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool
worker

Parametros Globales
LoadModule:
Directiva que sirve para cargar mdulos que incluyen
distintas funcionalidades. La sintaxis es:

LoadModule nombreModulo ubicacionarchivo


Se encuentra disponible a travs del mdulo mod_so.

Parametros Administrativos
Esta es la seccin principal de configuracin del servidor, en
ella podemos encontrar las siguientes opciones:
ServerAdmin:
Especifica la direccin de correo electrnico del
administrador, esta direccin aparece en los mensajes
de error, para permitir al usuario notificar un error al
administrador.
No puede estar dentro de ninguna seccin. Se encuentra
disponible a travs del mdulo Core.

Parametros Administrativos
ServerName:
Especifica el nombre y el puerto que el servidor utiliza
para identificarse, normalmente se determina
automticamente, pero es recomendable especificarlo
explcitamente para que no haya problemas al iniciar el
servidor.
Si el servidor no tiene un nombre registrado en las DNS,
se recomienda poner su nmero IP. No puede estar
dentro de ninguna seccin.
La sintaxis es:
ServerName direccionIP:Puerto
p.e. ServerName localhost:80
Se encuentra disponible a travs del mdulo Core.

Parametros Administrativos
DocumentRoot:
La carpeta raz que se ubica en el servidor, desde la que se
servirn los documentos. Por defecto, todas las peticiones,
tendrn como raz esta carpeta, a no ser que se utilicen
alias (directorios virtuales en IIS)
Por defecto, la carpeta raz es la carpeta htdocs, que se
encuentra en la carpeta de instalacin del Apache. No
puede estar dentro de ninguna seccin.

Parametros Administrativos
DocumentRoot:
Si se cambia este directorio por otro, es muy importante que
se ponga el nuevo valor, no solo en esta lnea, sino tambin
en la seccin <Directory> en la que se establecen los
parmetros de configuracin de este directorio.
Esta lnea empieza por " <Directory " seguido de la carpeta
raz que originalmente hay en DocumentRoot.

Parametros Administrativos
DirectoryIndex:
Especifica el archivo por defecto que buscar en cada
directorio, en caso de que no se especifique ninguno.
Por defecto es index.html. Es decir, que si por ejemplo se
pone en el navegador:
www.centeconline.com el servidor por defecto servir
www.centeconline.com/index.html

Parametros Administrativos
DirectoryIndex:
En esta directiva se pueden especificar ms de un archivo, la
sintaxis es la siguiente:
DirectoryIndex archivo1 archivo2 archivo3
El orden con el que se especifica el nombre de archivo
determinar la prioridad a la hora de decidir que archivo es
el que se muestra.
La directiva se puede encontrar fuera de cualquier seccin,
dentro de una seccin o dentro de un archivo .htaccess.
Se encuentra disponible a travs del mdulo mod_dir.

Parametros Administrativos
AccessFileName:
es el nombre del archivo de configuracin que se buscar en
cada una de los directorios del servidor para conocer la
configuracin del mismo.
Este archivo permite configurar el comportamiento de cada
uno de los directorios individualmente.
Para que esta configuracin funcione, la directiva
AllowOverride tiene que tener un valor que lo permita. No
puede estar dentro de ninguna seccin.
El nombre de archivo que se especifica por defecto es el del
archivo ".htaccess".

Parametros Administrativos
AccessFileName:
Como medida de seguridad, la configuracin del Apache
establece que no se muestre la existencia de este archivo a
ningn usuario, aunque este establecida la opcin de
listado de directorios.
Si se decide cambiar al nombre, habr que redefinir la
seguridad para que no se muestre el contenido del nuevo
archivo.

Parametros Administrativos
AccessFileName:
Esto se hace en el archivo httpd.conf en una seccin File como la
que se presenta a continuacin en la que se establece que todos
los archivos que comiencen por .ht no se mostrarn.
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
Se encuentra disponible a travs del mdulo Core.

Alias de Servidor
Alias
Permite la definicin de directorios virtuales, un directorio virtual
es un directorio que se encuentra en un directorio distinto del que
se mapea en la URL.
El directorio virtual no se tiene porqu encontrar dentro de rbol
de directorios que se crea a partir de DocumentRoot, sino que se
puede encontrar en cualquier otra ubicacin, incluso se podra
encontrar en otro servidor distinto.

Alias de Servidor
Alias
Por ejemplo, cuando se escribe
www.desarrollodelcurso.com/manual/php la carpeta php no se
tiene que encontrar necesariamente dentro de la carpeta manual,
que a su vez esta dentro de la carpeta raz Desarrolloweb, sino
que puede estar en una ubicacin distinta, y fuera del rbol de
subdirectorios de la directiva DocumentRoot
Ejemplo:
Alias /manual/php "/home/centec/php"
- el directorio php no se encuentra dentro del directorio manual
dentro de la carpeta documentRoot, sino en la carpeta
/home/centec/php.

Alias de Servidor
Alias
Por defecto vienen creados dos redirecciones con Alias.
- Icons: para establecer la carpeta donde se encuentran los
iconos que utilizar el Apache para mostrar el contenido de
los directorios, y
- Manual: que apunta a la carpeta donde est instalado el
manual del Apache en caso de que se hubiera elegido la
opcin durante la instalacin.

Servidores Virtuales
vhost
El termino Virtual Host se refire a la practica de ejecutar mas de
un sitio web en el mismo servidor (como www.centeconline.com y
www.centec.com).
Los Virtual hosts pueden ser "IP-based", significando que ud.
tiene diferentes direcciones IP para cada web site, o "namebased", que significa ud. posee multiples nombres respondiendo
a por lo menos una direccion IP.
El hecho de ejecutar en el mismo servidor fisico, no es aparente
a el usuario final.

Servidores Virtuales
vhost IP BASED
<VirtualHost 10.1.2.3>
ServerAdmin webmaster@centeconline.com
DocumentRoot /srv/www/htdocs/centeconline
ServerName centeconline.com
ErrorLog logs/centeconline-error_log
TransferLog logs/centeconline-access_log
</VirtualHost>

Servidores Virtuales
vhost Name BASED
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.dominio.com
ServerAlias dominio.com *.dominio.com
DocumentRoot /www/dominio
</VirtualHost>
<VirtualHost *:80>
ServerName www.otrodominio.com
DocumentRoot /www/otrodominio
</VirtualHost>

Servidores Virtuales
vhost Name BASED
<VirtualHost _default_:443>
# Solo un virtual host se permite en este puerto,
# porque los servidores virtuales name-based
# no operan con SSL
ServerName www.centeconline.com
DocumentRoot /var/www/centeconline/htdocs
CustomLog /var/log/apache/centeconline-access.log combined
ErrorLog /var/log/apache/centeconline-error.log
SSLEngine On
</VirtualHost>

Servidores Virtuales
vhost Name BASED
<VirtualHost *:80>
ServerName www.centeconline.com
DocumentRoot /var/www/centeconline/htdocs
CustomLog /var/log/apache/centeconline-access.log combined
ErrorLog /var/log/apache/centeconline-error.log
AuthUserFile /var/www/centeconline/.htpasswd
AuthType Basic
AuthName "Solo Usuarios Autorizados"
Require valid-user
</VirtualHost>

Control de Acceso
por Host
Modulo mod_authz_host
Las directivas Allow y Deny permiten controlar el acceso basados
en el nombre de los host o basados en la direccion de los
mismos, cuando se solicita un documento. Ambas directivas usan
la misma sintaxis.
La directiva Order le dice a Apache el orden en que seran
aplicados estos filtros.
Allow from ipAddress
Donde ipAddress es la direccion IP (o parcial), o el nombre
totalmente cualificado del dominio deseado. Se puede usar mas
de uno separado por espacios.

Control de Acceso
por Host
Demostracion
Deny from 10.3.2.1
Los visitantes que vengan de esta direccion no podran ver el
contenido cubiertos por esta directiva, o usando el nombre directo
del host, totalmente cualificado si es posible
Deny from instructor.curso.com
o Usando direcciones parciales para bloquear rangos completos
de red o dominios completosaddress or domain name:
Deny from 192.168.205
Deny from excluidos.curso.com otrosrechazados.curso

Control de Acceso
por Host
Veamos el Uso de Order
Usando Order le informaremos a Apache el orden en que estas
directivas deben ser aplicadas por ejemplo:
Order deny,allow
Deny from all
Allow from programadores.curso.com

Autentificacion y Autorizacion
.htaccess
Aspectos importantes a tener en cuenta en la seguridad de
Apache. Autentificacin y autorizacin de usuarios con Apache.
Cuando un servidor apache recibe una peticin de una pgina
web, antes de devolver el resultado, lleva a cabo varias acciones
para verificar que la peticin esta autorizada.
Las distintas acciones que lleva a cabo para verificar la validez de
la aplicacin, se pueden agrupar en tres tipos:

Autentificacin, Autorizacin y Control de Acceso.

Autentificacion y Autorizacion
.htaccess
La autentificacin es el proceso por el cual se verifica la identidad
de una persona. De una forma simple, este proceso se puede
llevar a cabo mediante un nombre de usuario y una contrasea,
pero se pueden llegar a utilizar otros mtodos para validar la
identidad de una persona, como mediante el uso de certificados,
tarjetas etc

En apache la autentificacin puede estar gestionada por distintos


mdulos, dependiendo de la forma de implementacin. Si decide
llevarla a cabo gestionando archivos con listas de usuarios y
contraseas (encriptadas), deber utilizar el mdulo
mod_auth.
Sin embargo, si decide llevarla a cabo mediante base de datos,
deber utilizar los mdulos mod_auth_dbm.

Autentificacion y Autorizacion
.htaccess
La autorizacin es el proceso por el cual se verifica que un
usuario con una identidad conocida, tiene acceso al recurso
solicitado.
Para llevar a cabo esta accin, se suelen utilizar listas de
permisos en las cuales se enumeran cada una de las acciones
que puede realizar un usuario, o las que no puede hacer.
Normalmente, para simplificar la gestin de estos archivos, los
usuarios se suelen unir en grupos proporcionando los permisos al
grupo.
En apache la autorizacin a recursos es gestionada o bien
mediante la directiva <directory> en el archivo principal de
configuracin, o bien mediante la configuracin de la carpeta
a travs de archivos .htaccess

Autentificacion y Autorizacion
.htaccess
El control de acceso es el proceso por el cual se verifica que la
mquina desde la que se ha hecho la peticin, tiene acceso al
recurso.
Los controles de acceso se utilizan para limitar y controlar las
mquinas que tienen acceso a un recurso independientemente
del usuario que accede, ya que estos controles se llevan a cabo
antes de que se realice el proceso de autentificacin.
En apache, el control de acceso se puede llevar a cabo mediante
las directivas <directory><files>y <location>, o a travs del
archivo de configuracin .htaccess para controlar una
carpeta especifica.

Autentificacion y Autorizacion
.htaccess
Para configurar el servidor apache para que sea capaz de
autentificar a los usuarios y verificar la autorizacin del mismo al
recurso solicitado, es necesario realizar las siguientes acciones:
1. Crear un archivo con usuarios
2. Crear un archivo con grupos (si es necesario)
3. Definir las directivas en el archivo de configuracin o
mediante un archivo .htaccess

Autentificacion y Autorizacion
.htaccess
En los archivos de usuarios de apache, en cada lnea se
especifica un usuario, escribiendo el nombre de usuario separado
de dos puntos, seguido de la contrasea encriptada con MD5.

En los archivos de grupos de apache, en cada lnea se especifica


un grupo escribiendo el nombre del grupo seguido de dos puntos,
y a continuacin separado por espacios, los nombres de los
usuarios.

Autentificacion y Autorizacion
.htaccess
El archivo de grupos se puede crear manualmente, pero el
archivo con los usuarios es recomendable crearlo mediante la
utilidad htpasswd, que se encuentra en la carpeta con los binarios
de apache.
Para crear un archivo de usuario se utilizar la siguiente sintaxis:
htpasswd -c /usr/local/apache/passwd/passwords centec
New password: clavecentec
Re-type new password: clavecentec
Adding password for user centec
El flag -c se utiliza para crear un archivo nuevo, por lo que slo se
deber poner la primera vez que se crea el archivo, sino lo
borrar.

Autentificacion y Autorizacion
.htaccess
Las directivas de mod_auth necesarias para configurar la
autenticacin y autorizacin son las siguientes:
* AuthUserFile: siver para especificar la ruta donde se
almacenar el archivo de usuarios.
* AuthGroupFile: sirve para especificar la ruta donde se
almacenar el archivo de grupos.

Autentificacion y Autorizacion
.htaccess
Por ejemplo, si se desea proteger el directorio
/usr/local/apache/htdocs/secretos, puede usar las siguientes
directivas, bien sea colocandolas en un archivo .htaccess /usr/
local/apache/htdocs/secretos/.htaccess, o colocando en el
httpd.conf dentro de la directiva <Directory
/usr/local/apache/apache/htdocs/secretos>.
AuthType Basic
AuthName "Archivos Secretos"
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user centec

Autentificacion y Autorizacion
.htaccess
Crear un nuevo archivo, en la misma ubicacin anterior, que
se llamar "groups" en la que se almacenarn los grupos, por
ahora uno, para ello escribir la siguiente lnea y guardar el
archivo:
usuariosAutenticados: centec
De esta forma, debera tener un archivo que se llame
passwords, y que contenga una lnea con los datos del
usuario centec.
Y un archivo, con nombre groups, que contiene una lnea
definiendo un grupo llamado usuariosAutenticados, del que
slo el usuario centec forma parte.

Autentificacion y Autorizacion
.htaccess
Modificamos las directivas para el directorio:
<Directory /usr/local/apache/apache/htdocs/secretos>.
AuthType Basic
AuthName "Archivos Secretos"
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user centec
AuthGroupFile /usr/local/apache/passwd/groups
Require group usuariosAutenticados

Mejorando el Rendimiento
Active solo los modulos requeridos
El Servidor HTTP de apache es un programa modular, donde el
administrador puede selecciona la funcionalidad que desea incluir en el
servidor (realmente son muchas).
Los modulos pueden ser estaticamente compilados en el binario del
servidor o cargados por objetos de Dinamicos (Dynamic Shared
Objects DSO), los DSO pueden ser tambien compilados cuando el
servidor es generado, o puede usar las apxs, para compilarla y
aadirlas posteriormente.
Ejecute apache solo con los modulos requeridos por su instalacion.
Esto reduce la carga de memoria y aumente el perfomance del
servidor. Los modulos compilados estaticamente generalmente ahorran
mas memoria RAM que su contrapartida los DSO

Mejorando el Rendimiento
Elija el motor correcto
Apache viene con distintos motores de funcionamiento de
multiprocesamiento llamados Multi-Processing Modules (MPMs), los
cuales son responsables de manejar los puertos de la maquina,
aceptar solicitudes (request), y crear procesos hijos para manejarlas,
SOLO UN MPM SE PUEDE CARGAR EN EL SERVIDOR A LA VEZ.

Mejorando el Rendimiento
Elija el motor correcto WORKER
Worker usa multiples procesos hijos, esta diseado para operar
multihilo, donde cada hijo y cada hilo maneja una conexion.
Worker es altamente escalable y rapido, y su uso de memoria RAM es
comparativamente bajo.
Esta diseado para equipos de multiples procesadores, Por otro lado
es menos tolerable a fallas de modulos, ya que sus fallas pueden
afectar todos los hilos de proceso de un proceso hijo

Mejorando el Rendimiento
Elija el motor correcto PREFORK
Prefork MPM usa multiples procesos hijos, cada hijo maneja UNA
conexion a la vez pero no es capaz de manejar multihilos.
Prefork esta diseado para usarse con equipos de procesadores
simples, o dobles, su velocidad es comparable a Worker.
Es altamente tolerable a fallas de modulos y caidas de sus procesos
Hijos, pero su uso de memoria es alto, mas trafico mas memoria

Mejorando el Rendimiento
MaxClients:
El numero maximo de solicitudes simultaneas que es soportado por
nuestro servidor.
No mas que este numero de procesos hijos seran creados.
Esto si se fija muy bajo, las conexiones seran colocadas en la cola, lo
que eventualmente generara un time-out.
Si se fija muy alto causara que el tiempo de arranque del servidor sea
alto, y el tiempo de respuesta se degrade drasticamente,

Mejorando el Rendimiento
MaxClients:
El valor puede calcularse aproximadamente mediante:
MaxClients = Total RAM dedicada al servidor web / Tamao maximo de
los procesos Hijo
El tamao de los procesos hijo se determinan aproximadamente de 2 a
3 MB/cu. para sitios de contenido dinamico ejemplo PHP, esto puede
aumentar a 15MB.
Verifiquelo mediante la columna RSS del comando PS
"ps -ylC httpd --sort:rss"
que muestra el uso de la memoria no compartida de los procesos
Apache en kilobytes

Mejorando el Rendimiento
Balanceo de Conexiones Round-Robin DNS
Cuando se tiene un sitio de alta demanda es posible balancear la carga
entre varios servidores ("Hosts") que realicen el trabajo.
Cuando llega una requisicin para el sitio de alta demanda sta se
distribuye en los diversos "Hosts", comnmente este balanceo de
cargas se puede llevar acabo con un equipo especializado llamado
load-balancer.
Sin embargo, es posible utilizar otro mtodo en dado caso que no
exista presupuesto o se desee mantener un nivel bajo de complejidad
para toda la arquitectura, esta configuracin es llamada Round-Robin
DNS.

Mejorando el Rendimiento
Balanceo de Conexiones Round-Robin DNS
Cuando se tiene un sitio de alta demanda es posible balancear la carga
entre varios servidores ("Hosts") que realicen el trabajo.
La base de este balanceo de cargas como su nombre lo implica
depende de DNS, suponiendo que se requiere realizar balanceo de
cargas al sitio www.centeconline.com, en el archivo de zona del DNS
para centeconline.com serian agregadas las siguientes lineas:
-www1 IN A 264.141.369.184
www2 IN A 264.141.369.185
www IN CNAME www1
www IN CNAME www2
--

Mejorando el Rendimiento
Balanceo de Conexiones Round-Robin DNS
En el archivo named.conf podrias tener que poner :
multiple-cnames yes;
-www1 IN A 264.141.369.184
www2 IN A 264.141.369.185
www IN A 264.141.369.184
www IN A 264.141.369.185
-Las ultimas dos lineas alternan el servidor que ser utilizado para
enviar requisiciones de www.centeconline.com, un servidor es www1 y
otro es www2, los servidores www1.centeconline.com y
www2.centeconline.com no son utilizados directamente por el usuario
sino que los RR (Resource Records) son empleados para redireccionar
las requisiciones hacia ellos.

Mejorando el Rendimiento
Balanceo de Conexiones mod_proxy_balancer
mod_proxy_balancer es un mdulo de Apache que te permite crear un
balanceador de carga. Este "loadbalancer" recupera las solicitudes de
las pginas a partir de dos o ms webservers y las entrega a la
computadora del usuario -a modo de proxy-.
Una caracterstica importante del mod_proxy_balancer es que no
pierde de vista las sesiones, de modo que un solo usuario se ocupa
siempre del mismo web server.

Vous aimerez peut-être aussi