Diferencia entre revisiones de «Usuario:ManuelRomero/modulo APACHE»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con '{{#widget:Slides}} {{MiTitulo| Administración de servicios: DNS}} <div class="slides layout-regular template-default"><div class="slide"> = APACHE = </div> <div class="slide…')
 
 
(19 revisiones intermedias por el mismo usuario no mostrado)
Línea 1: Línea 1:
 +
{{:Usuario:ManuelRomero/modulo_APACHE/nav}}
 +
<br>
 +
 
{{#widget:Slides}} {{MiTitulo| Administración de servicios: DNS}}  
 
{{#widget:Slides}} {{MiTitulo| Administración de servicios: DNS}}  
 
<div class="slides layout-regular template-default"><div class="slide">
 
<div class="slides layout-regular template-default"><div class="slide">
Línea 7: Línea 10:
 
<div class="slide">
 
<div class="slide">
  
=== Introduccion ===
+
 
 +
=== Introducción ===
  
 
#Implementación del protocolo HTTP Servidor  
 
#Implementación del protocolo HTTP Servidor  
 
#Sirve páginas web cuando estas son solicitadas
 
#Sirve páginas web cuando estas son solicitadas
 
#Las páginas se visualizan usando un programa '''navegador''' escritas con HTML '''Lenguaje de Marcas de HiperTexto'''
 
#Las páginas se visualizan usando un programa '''navegador''' escritas con HTML '''Lenguaje de Marcas de HiperTexto'''
 +
[[imagen:logoApache.png|200px]]
 
</div>
 
</div>
 +
 +
===Características de Apache===
 +
# Es uno de los servidores web mas utilizados a nivel mundial
 +
# Es un sistema multiplataforma
 +
# Posee gran cantidad de paquetes y módulos para poder adaptarlo a nuestras necesidades.
 +
# Con los módulos y paquetes podemos trabajar con gran cantidad  de lenguajes de programación web, así como intérpretes de SQL y otras funciones.
 +
# Permite transacciones seguras mediante SSL (Secure Socket Layer)
 +
# Contiene soporte para Hosts virtuales
 +
===Curiosidades===
 +
<br/>
 +
{{Lectura|''Sabían que…''
 +
*El nombre Apache se debe a que su creador quería que la nominación tuviera una connotación firme y enérgica, pero no agresiva.
 +
*Este pueblo originario de América del Norte fue el último en rendirse durante la colonización, y esa resistencia inspiró al autor de '''''Apache''''' para invocar su nombre.}}
 +
 +
===Arquitectura de apache===
 +
#Estructurado en módulos.
 +
##Cada módulo contiene un conjunto de funciones relativas a un aspecto concreto del servidor.
 +
##El archivo binario httpd ''deminio http'' contiene un conjunto de módulos que han sido compilados.
 +
##La funcionalidad de estos módulos puede ser activada o desactivada al arrancar el servidor.
 +
===Tipos de módulos en Apache===
 +
*Los módulos de Apache se pueden clasificar en tres categorías:
 +
;Módulos base
 +
:Se encargan de las funciones básicas.
 +
;Módulos multiproceso:
 +
:Encargados de la unión de los puertos de la máquina, aceptando las peticiones y atendiéndolas.
 +
;Módulos adicionales
 +
: se encargan de añadir funcionalidad al servidor.
 +
==Instalación==
 +
*acceder http://apache.org
 +
*Localizamos el proyecto servidor web
 +
*Ir a servidor de apache '''http server'''
 +
*Vamos a serguir el proceso de descarga/compilación e instalación
 +
#Descargar o bien con el comando '''''wget'''''
 +
rediris.apache.es/httpd/fichero
 +
fichero httpd-version.tar.gz
 +
 +
#lo descomprimitos y desempaquetamos (gzip y tar  o solo tar)
 +
#vamos a compilarlo e instalarlo
 +
#Verificar que tenemos instalado el paquete build-Essential (necesario para compilar) make (para invocar el shell de creación de la compilación
 +
Preparando el fichero make ./configure
 +
#Antes de instalar vemos los paquetes que tenems instalados y lo guardamos en un fichero
 +
su find /|grep -v -e^/proc/ -e^/tmp/ -e^/dev/ > fichero1
 +
 +
Compilar $ make
 +
Instalar $ make install
 +
 +
#Una vez que todo está instalado correctamente anotamos los paquetes que ahora tenemos instalados y lo comparemos
 +
diff fichero1 fichero 2
 +
 +
 +
 +
 +
    se puede hacer ne línea de comandos con '''lynx'''
 +
          http://httpd.apache.org/download.cgi
 +
  Descomprimir $ gzip -d httpd-2_1_NN.tar.gz
 +
  $ tar xvf httpd-2_1_NN.tar
 +
Ejecutar el script configur e $ ./configure --prefix=PREFIX
 +
PREFIX El directorio de instalación
 +
Compilar $ make
 +
Instalar $ make install
 +
Personalizar $ vi PREFIX/conf/httpd.conf
 +
Comprobar que la instalación funciona $ PREFIX/bin/apachectl start
 +
 +
==Problemas con apr apr-util==
 +
*APR es '''''Apache Portable Runtime''', es un conjunto de librerías y utilidades para realizar la ejecución de apache y necesarias para su compilación.
 +
*En caso de no tenerlo hay que instalarlo.
 +
*Lo descargamos
 +
wget http://apache.mesi.com.ar/apr/apr-1.4.6.tar.gz
 +
wget http://apache.mesi.com.ar/apr/apr-util-1.4.1.tar.gz
 +
;Lo descomprimitmos '''''-z''''' y desempaquetamos '''''tar xvfz'''''
 +
tar xvfz apr-1.4.6.tar.gz
 +
tar xvfz apr-util-1.4.1.tar
 +
;Lo copiamos a la ubicación adecuada
 +
mv apr-1.4.6 httpd-2.4.3/srclib/apr
 +
mv apr-util-1.4.1 httpd-2.4.3/srclib/apr-util
 +
;Ahora procedemos a la instalación realizando los tres pasos
 +
#Paso 1:'''''ejecutar el shell configure''''
 +
  ./configure --with-included-apr --with-pcre=/usr/local/pcre
 +
#Paso 2 hacemos la '''''compilación''''' de los fuentes
 +
  make
 +
#Paso e procedemos a la '''''instalación'''''
 +
  make install
 +
 +
==Problemas con pcre==
 +
Observamos que sale del la configuracion y da el siguiente error
 +
configure: error: APR not found.  Please read the documentation.
 +
 +
'''''pcre''''' viene de Perl Compatible Regualar Expresion
 +
Debemos bajarnos el módulo y decirle donde está instalado
 +
0 down vote
 +
 +
 +
1、download pcre from http://pcre.org/
 +
 +
2、compile it with a prefix :
 +
 +
./configure --prefix=/usr/local/pcre
 +
 +
3、compile apache with
 +
 +
--with-pcre=/usr/local/pcre
 +
 +
*Como lo hacemos todo a mano seguimos
 +
*En esta página se encuentra el paquete
 +
ftp.csx.cam.ac.uk/pub/software/programming/pcre/
 +
*Lo bajamos con wget
 +
*la versión actual mayor es la siguiente
 +
File:pcre-8.20.tar.bz2
 +
File:pcre-8.20.tar.bz2.sig
 +
File:pcre-8.20.tar.gz
 +
File:pcre-8.20.tar.gz.sig
 +
 +
*Bajamos el pcre-8.20.tar.gz
 +
*lo descomprimimos y desempaquetamos
 +
*y volvemos a configurar
 +
===Autentificación===
 +
* Referencia en la web http://httpd.apache.org/docs/2.2/howto/auth.html
 +
* Apache implementa varias formas de autentificarse:
 +
  Ldap, basic, digest, kerberos, pam, radius, mysql, y otras
 +
*Vamos a analizar '''''basic y digest'''''
 +
*La autentifiacón se puede especificar en el fichero de configuración o en un fichero aparte '''''.htaccess'''''
 +
====Autenticación basic====
 +
*Usamos un fichero para almacenar la información cifrada
 +
*Cada usuario que demos de alta debemos de insertarlo en el fichero
 +
*El módulo para gestionar esta funcionalidad viene instalado por defecto
 +
*En el fichero de configuración debe haber las siguientes directivas
 +
<!--# cat /var/www/prueba/.htaccess-->
 +
 +
AuthType basic #identifiación básica
 +
AuthName “Identificacion necesaria” #mensaje que aparecerá para pedir la contraseña
 +
AuthUserFile “/etc/apache2/auth_basic” ubicación del fichero de usuarios y contraseñas estará cifrado
 +
Require valid-user #Cualquier usuario se puede conectar identificándose
 +
*La ultima línea puede ser más restrictiva
 +
Require user maria, lourdes, pedro #Solo permite identificarse a estos usuarios
 +
<!--
 +
    Si queremos combinar este tipo de acceso con el que vimos antes podemos añadirle la opción “Satisfy”. Esta puede tener dos valores all/any, para que se tengan que cumplir las dos restricciones utilizaremos “all”, para que con que se cumpla una nos baste “any”.
 +
-->
 +
====Creando el fichero====
 +
*Para ello usaremos el comando '''''htpasswd'''''
 +
htpasswd -c /etc/apache2/ficheroPass usuario
 +
*opción -c ''create'', solo se usa la primera vez
 +
 +
<!--
 +
Autenticación digest.
 +
    La autenticación tipo digest soluciona el problema de la transferencia de contraseñas en claro sin necesidad de usar SSL. El procedimiento, como veréis, es muy similar al tipo básico pero cambiando algunas de las directivas y usando la utilidad “htdigest” en lugar de “htpassword” para crear el fichero de contraseñas. El módulo de autenticación necesario suele venir con Apache pero no habilitado por defecto. Para habilitarlo:
 +
# a2enmod auth_digest
 +
# /etc/init.d/apache2 restart
 +
 +
    En este caso el fichero .htaccess nos quedaría así:
 +
# cat /var/www/prueba/.htaccess
 +
AuthType Digest
 +
AuthName "grupo1"
 +
AuthUserFile "/etc/apache2/auth_digest"
 +
Require valid-user
 +
 +
    En este caso en la primera opción ponemos digest en vez de basic. La directiva AuthName en este caso no especifica el mensaje que nos saldrá, si no el dominio al que pertenecen los usuarios. Este seria mas o menos algo parecido a un grupo. Las otras dos opciones no hace falta que las explique.
 +
 +
    En este caso, como dije antes, no se utiliza el comando “htpasswd”. Esta vez los usuarios y dominios se agregan de la siguiente manera:
 +
# htdigest -c /etc/apache2/auth_digest grupo1 juanlu
 +
Adding password for juanlu in realm grupo1.
 +
New password:
 +
Re-type new password:
 +
 +
    Si intentamos acceder a nuestra pagina nos saldrá un cartel parecido al anterior.
 +
 +
 +
 +
    Cuando estéis comprobando tener cuidado con la cache de los navegadores, pueden hacer que te lleves un rato pensando porque no te pide autenticación.
 +
 +
    Por ultimo decir que esto también se puede aplicar a archivos. Si intentamos descargar o ver ese archivo nos pedirá usuario y contraseña. El archivo .htaccess nos quedaría así:
 +
# cat /var/www/prueba/.htaccess
 +
<Files "prueba.txt">
 +
AuthType Digest
 +
AuthName "grupo1"
 +
AuthUserFile "/etc/apache2/auth_digest"
 +
Require valid-user
 +
</Files>
 +
-->
 +
===Estructura de instalación de apache===
 +
*Puede cambiar de una distribución a otra
 +
*Puede se modificada en diferentes versiones
 +
*Incluso la forma de instalar la puede modificar (aptitude o compilando)
 +
*Pero siempre tiene que estar todo
 +
;Ficheros ejecutables de apache 2
 +
:/bin/apache2
 +
;Ubicación de los demonios que levantan/paran/bajan el servicio
 +
: /etc/init.d/apache2
 +
;Ficheros de error Importantísima durante la configuración para ver posibles errores o fallos
 +
: /var/logs/apache2:
 +
;Ubicación de ficheros que queremos servir
 +
: /srv/www/htdocs:
 +
;Ficheros de ayuda y manuales de nuestra versión
 +
; /bin/apache2/manual:
 +
;Fichero de configuración
 +
: /etc/httpd/httpd.conf:
 +
===Fichero de configuración===
 +
*Puede ser httpd.cong o apache2.conf
 +
*En él encontraremos directivas de configuración
 +
*Son palabras reservas  para paremetrizar diferentes valores
 +
Tenemos entre otras
 +
#Directivas de funcionamiento
 +
#Directivas de acceso y de seguridad
 +
#Parámetros de gestión de recursos
 +
#Gestión de Hosts Virtuales
 +
#Diretivas para la seguridad
 +
#Restricciones de acceso
 +
...

Última revisión de 03:47 18 nov 2012



APACHE


Introducción

  1. Implementación del protocolo HTTP Servidor
  2. Sirve páginas web cuando estas son solicitadas
  3. Las páginas se visualizan usando un programa navegador escritas con HTML Lenguaje de Marcas de HiperTexto

LogoApache.png

Características de Apache

  1. Es uno de los servidores web mas utilizados a nivel mundial
  2. Es un sistema multiplataforma
  3. Posee gran cantidad de paquetes y módulos para poder adaptarlo a nuestras necesidades.
  4. Con los módulos y paquetes podemos trabajar con gran cantidad de lenguajes de programación web, así como intérpretes de SQL y otras funciones.
  5. Permite transacciones seguras mediante SSL (Secure Socket Layer)
  6. Contiene soporte para Hosts virtuales

Curiosidades



Icon reading.jpg

Lectura

Sabían que…
  • El nombre Apache se debe a que su creador quería que la nominación tuviera una connotación firme y enérgica, pero no agresiva.
  • Este pueblo originario de América del Norte fue el último en rendirse durante la colonización, y esa resistencia inspiró al autor de Apache para invocar su nombre.



Arquitectura de apache

  1. Estructurado en módulos.
    1. Cada módulo contiene un conjunto de funciones relativas a un aspecto concreto del servidor.
    2. El archivo binario httpd deminio http contiene un conjunto de módulos que han sido compilados.
    3. La funcionalidad de estos módulos puede ser activada o desactivada al arrancar el servidor.

Tipos de módulos en Apache

  • Los módulos de Apache se pueden clasificar en tres categorías:
Módulos base
Se encargan de las funciones básicas.
Módulos multiproceso
Encargados de la unión de los puertos de la máquina, aceptando las peticiones y atendiéndolas.
Módulos adicionales
se encargan de añadir funcionalidad al servidor.

Instalación

  • acceder http://apache.org
  • Localizamos el proyecto servidor web
  • Ir a servidor de apache http server
  • Vamos a serguir el proceso de descarga/compilación e instalación
  1. Descargar o bien con el comando wget
rediris.apache.es/httpd/fichero
fichero httpd-version.tar.gz
  1. lo descomprimitos y desempaquetamos (gzip y tar o solo tar)
  2. vamos a compilarlo e instalarlo
  3. Verificar que tenemos instalado el paquete build-Essential (necesario para compilar) make (para invocar el shell de creación de la compilación
Preparando el fichero make ./configure
  1. Antes de instalar vemos los paquetes que tenems instalados y lo guardamos en un fichero
su find /|grep -v -e^/proc/ -e^/tmp/ -e^/dev/ > fichero1
Compilar	$ make
Instalar	$ make install 
  1. Una vez que todo está instalado correctamente anotamos los paquetes que ahora tenemos instalados y lo comparemos
diff fichero1 fichero 2



    se puede hacer ne línea de comandos con lynx
          http://httpd.apache.org/download.cgi 
 Descomprimir	$ gzip -d httpd-2_1_NN.tar.gz
 $ tar xvf httpd-2_1_NN.tar
Ejecutar el script configur e	$ ./configure --prefix=PREFIX 
PREFIX El directorio de instalación
Compilar	$ make
Instalar	$ make install 
Personalizar	$ vi PREFIX/conf/httpd.conf
Comprobar que la instalación funciona	$ PREFIX/bin/apachectl start

Problemas con apr apr-util

  • APR es Apache Portable Runtime, es un conjunto de librerías y utilidades para realizar la ejecución de apache y necesarias para su compilación.
  • En caso de no tenerlo hay que instalarlo.
  • Lo descargamos
wget http://apache.mesi.com.ar/apr/apr-1.4.6.tar.gz
wget http://apache.mesi.com.ar/apr/apr-util-1.4.1.tar.gz 
Lo descomprimitmos -z y desempaquetamos tar xvfz
tar xvfz apr-1.4.6.tar.gz
tar xvfz apr-util-1.4.1.tar
Lo copiamos a la ubicación adecuada
mv apr-1.4.6 httpd-2.4.3/srclib/apr 
mv apr-util-1.4.1 httpd-2.4.3/srclib/apr-util 
Ahora procedemos a la instalación realizando los tres pasos
  1. Paso 1:ejecutar el shell configure'
 ./configure --with-included-apr --with-pcre=/usr/local/pcre
  1. Paso 2 hacemos la compilación de los fuentes
  make
  1. Paso e procedemos a la instalación
  make install

Problemas con pcre

Observamos que sale del la configuracion y da el siguiente error

configure: error: APR not found.  Please read the documentation.

pcre viene de Perl Compatible Regualar Expresion Debemos bajarnos el módulo y decirle donde está instalado

0 down vote


1、download pcre from http://pcre.org/

2、compile it with a prefix :

./configure --prefix=/usr/local/pcre

3、compile apache with

--with-pcre=/usr/local/pcre

  • Como lo hacemos todo a mano seguimos
  • En esta página se encuentra el paquete
ftp.csx.cam.ac.uk/pub/software/programming/pcre/
  • Lo bajamos con wget
  • la versión actual mayor es la siguiente
File:pcre-8.20.tar.bz2
File:pcre-8.20.tar.bz2.sig
File:pcre-8.20.tar.gz
File:pcre-8.20.tar.gz.sig
  • Bajamos el pcre-8.20.tar.gz
  • lo descomprimimos y desempaquetamos
  • y volvemos a configurar

Autentificación

 Ldap, basic, digest, kerberos, pam, radius, mysql, y otras
  • Vamos a analizar basic y digest
  • La autentifiacón se puede especificar en el fichero de configuración o en un fichero aparte .htaccess

Autenticación basic

  • Usamos un fichero para almacenar la información cifrada
  • Cada usuario que demos de alta debemos de insertarlo en el fichero
  • El módulo para gestionar esta funcionalidad viene instalado por defecto
  • En el fichero de configuración debe haber las siguientes directivas
AuthType basic #identifiación básica
AuthName “Identificacion necesaria” #mensaje que aparecerá para pedir la contraseña 
AuthUserFile “/etc/apache2/auth_basic” ubicación del fichero de usuarios y contraseñas estará cifrado
Require valid-user #Cualquier usuario se puede conectar identificándose
  • La ultima línea puede ser más restrictiva
Require user maria, lourdes, pedro #Solo permite identificarse a estos usuarios

Creando el fichero

  • Para ello usaremos el comando htpasswd
htpasswd -c /etc/apache2/ficheroPass usuario
  • opción -c create, solo se usa la primera vez

Estructura de instalación de apache

  • Puede cambiar de una distribución a otra
  • Puede se modificada en diferentes versiones
  • Incluso la forma de instalar la puede modificar (aptitude o compilando)
  • Pero siempre tiene que estar todo
Ficheros ejecutables de apache 2
/bin/apache2
Ubicación de los demonios que levantan/paran/bajan el servicio
/etc/init.d/apache2
Ficheros de error Importantísima durante la configuración para ver posibles errores o fallos
/var/logs/apache2:
Ubicación de ficheros que queremos servir
/srv/www/htdocs:
Ficheros de ayuda y manuales de nuestra versión
/bin/apache2/manual
Fichero de configuración
/etc/httpd/httpd.conf:

Fichero de configuración

  • Puede ser httpd.cong o apache2.conf
  • En él encontraremos directivas de configuración
  • Son palabras reservas para paremetrizar diferentes valores

Tenemos entre otras

  1. Directivas de funcionamiento
  2. Directivas de acceso y de seguridad
  3. Parámetros de gestión de recursos
  4. Gestión de Hosts Virtuales
  5. Diretivas para la seguridad
  6. Restricciones de acceso
...