Usuario:ManuelRomero/modulo APACHE

= APACHE =

Introducción
200px
 * 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

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

Arquitectura de apache

 * 1) Estructurado en módulos.
 * 2) Cada módulo contiene un conjunto de funciones relativas a un aspecto concreto del servidor.
 * 3) El archivo binario httpd deminio http contiene un conjunto de módulos que han sido compilados.
 * 4) 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
rediris.apache.es/httpd/fichero fichero httpd-version.tar.gz
 * 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

Preparando el fichero make ./configure su find /|grep -v -e^/proc/ -e^/tmp/ -e^/dev/ > fichero1
 * 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
 * 1) Antes de instalar vemos los paquetes que tenems instalados y lo guardamos en un fichero

Compilar	$ make Instalar	$ make install

diff fichero1 fichero 2
 * 1) Una vez que todo está instalado correctamente anotamos los paquetes que ahora tenemos instalados y lo comparemos

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
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 tar xvfz apr-1.4.6.tar.gz tar xvfz apr-util-1.4.1.tar mv apr-1.4.6 httpd-2.4.3/srclib/apr mv apr-util-1.4.1 httpd-2.4.3/srclib/apr-util ./configure --with-included-apr --with-pcre=/usr/local/pcre make make install
 * 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
 * Lo descomprimitmos -z y desempaquetamos tar xvfz
 * Lo copiamos a la ubicación adecuada
 * Ahora procedemos a la instalación realizando los tres pasos
 * 1) Paso 1:''ejecutar el shell configure'
 * 1) Paso 2 hacemos la compilación de los fuentes
 * 1) Paso e procedemos a la instalación

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

ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 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
 * Como lo hacemos todo a mano seguimos
 * En esta página se encuentra el paquete
 * Lo bajamos con wget
 * la versión actual mayor es la siguiente


 * 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
 * Referencia en la web http://httpd.apache.org/docs/2.2/howto/auth.html
 * Apache implementa varias formas de autentificarse:
 * 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 Require user maria, lourdes, pedro #Solo permite identificarse a estos usuarios
 * La ultima línea puede ser más restrictiva

Creando el fichero
htpasswd -c /etc/apache2/ficheroPass usuario
 * Para ello usaremos el comando htpasswd
 * 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
Tenemos entre otras ...
 * Puede ser httpd.cong o apache2.conf
 * En él encontraremos directivas de configuración
 * Son palabras reservas para paremetrizar diferentes valores
 * 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