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

De WikiEducator
Saltar a: navegación, buscar
(Problemas con apr apr-util)
Línea 99: Línea 99:
 
*lo descomprimimos y desempaquetamos
 
*lo descomprimimos y desempaquetamos
 
*y volvemos a configurar
 
*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:
 +
  Lamp, 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>
 +
 +
-->

Revisión de 16:57 19 oct 2012


Introduccion

  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


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
 ./configure --with-included-apr --with-pcre make; 
  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

 Lamp, 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