Introducción
- Implementación del protocolo HTTP Servidor
- 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
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
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
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
- 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
...