La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Servidor Web Apache 22/10/2012 Carlos Fernández Llamas

Presentaciones similares


Presentación del tema: "Servidor Web Apache 22/10/2012 Carlos Fernández Llamas"— Transcripción de la presentación:

1 Servidor Web Apache 22/10/2012 Carlos Fernández Llamas Objetivo de la práctica: Instalación y configuración de un servidor web Apache Descripción breve de lo realizado: Instalación, configuración de puertos, mensajes de error, directorios, permisos de acceso, etc.

2 Fundamentos Teóricos ¿Qué es un Servidor Web? ¿Qué es un Cliente Web?

3 ¿Qué es un Servidor Web? Es a donde se conecta el cliente web, un servidor web es un software o equipo informático que se encarga de satisfacer las peticiones de los clientes web y devolverles la información que soliciten en forma de lenguaje por marcas (HTML, XML, CSS...). El servidor web trabaja con otros programas o software a la vez para dotar de mayores capacidades al servidor web, como por ejemplo bases de datos MySQL, programacion PHP, Python, etc.

4 ¿Qué es un Cliente Web? Un cliente web es un software que permite conectarse a servidores web y obtener información de los mismos. A demás, como la información obtenida es lenguaje por marcas (HTML, XML, CSS...) estos navegadores incluyen un motor que transforma este lenguaje por marcas en imágenes, textos y gráficos reconocibles y más amigables. Estos a demás incluyen la capacidad de utilizar Javascript que es un lenguaje de programación en el lado del cliente con el que se puede añadir “pluses” o mejoras al HTML a demás de más funciones y posibilidades para los programadores.

5 Documentación utilizada
Documentación de Apache sobre los Host Virtuales por nombres ()

6 Descripción del Software Utilizado
Apache HTTP Server Versión del Software 2.0.64 Año 2011 Desarrollador Apache Foundation Procedencia apache.org Microsoft Windows 7 Versión del Software 6.1 Build 7600 Año 2011 Desarrollador Microsoft Procedencia Microsoft.com Notepad ++ Versión del Software 6.1.8 Año 2012 Desarrollador Notepad++ Team Procedencia notepad-plus-plus.org

7 Instalación de Apache El primer paso es descargarnos el instalador para Windows desde la web de la fundación Apache: puedes encontrarlo por “HTTPD Server” Una vez descargado lo ejecutamos

8 Instalación de Apache El proceso de instalación es bastante simple, vasta con ir aceptando y pulsando en siguiente a lo que nos pregunte, pero nos pararemos aquí:

9 Instalación de Apache Network Domain: Un dominio en la red, aquí puedes poner algún dominio inventado, o real si tienes uno contratado, como sirikon.net por ejemplo. Server Name: Es el nombre del servidor, no tiene por qué tener estructura de dominio, pero se recomienda. Administrator's Mail: El correo electrónico del administrador del sistema, para si alguien tiene algún error saber con quién contactar.

10 Instalación de Apache También nos preguntará por la carpeta de instalación de Apache, yo por lo menos me gusta instalar las cosas en la raiz del disco duro, así que ponemos donde queremos instalar apache:

11 Cuando la instalación haya finalizado veremos en la barra inferior derecha un pequeño icono de Apache y si tiene un símbolo de “Play” en verde quiere decir que el servidor está funcionando, solo tenemos que comprobarlo entrando desde el navegador a

12 Configuraciones de Apache
Para configurar Apache para que funcione como nosotros queramos nos iremos a la carpeta donde instalamos Apache y entraremos a Apache2 > conf En ese archivo, httpd.conf, podemos configurar apache, en él se encuentran todos los parámetros, lo abriremos con permisos de administrador para poder modificarlo.

13 Configuración del puerto
Para configurar el puerto en el que Apache escuchará las peticiones web, tenemos que buscar una línea en la que aparece un parámetro llamado “Listen” seguido de un número, ese número es el puerto por el que escuchará, y es tan sencillo como cambiar el número. Tras indicar un nuevo puerto de escucha, tenemos que reiniciar el servidor y luego comprobar el cambio.

14 Inicio/Parada/Reinicio de Apache
Para Iniciar, Parar o Reiniciar el servidor Apache tenemos que irnos al botón que antes mencionamos en la barra inferior derecha y hacer Click Derecho > Open Apache Monitor. Nos aparecerá una ventana que nos indica el estado del servidor, y el poder cambiar dicho estado.

15 Configuración del puerto
Ahora que hemos reiniciado el servidor comprobamos que el servidor funciona en el puerto indicado.

16 Definir directorio web
Ahora vamos a indicar la carpeta en la que el servidor Apache buscará los archivos que sean solicitados desde la página web Para ello en el archivo httpd.conf buscamos el parámetro “DocumentRoot” y ponemos seguidamente el directorio en nuestro sistema que queramos poner online

17 Definir directorio web
Un poco más abajo nos encontraremos unos parámetros que comienzan con una etiqueta <directory />, aquí dentro incluiremos la línea: deny from all

18 Definir directorio web
Luego, un poco más abajo nos encontramos con este conjunto de lineas que empiezan con un <Directory “una carpeta”>, esa carpeta la sustituiremos por la que tengamos nuestra web, y abajo antes de </Directory> añadimos “Allow from all”

19 Definir directorio web
Ahora si reiniciamos Apache y entramos a comprobar que ahora nos muestra nuestra página web, la alojada en la carpeta indicada en la configuración.

20 Definir pagina principal (index)
Cuando la gente entre a nuestra página web, escribirá sólo la dirección, por lo que tenemos que especificar, que documento se abrirá en caso de no especificarse en la dirección, esto se hace con la siguiente linea: Aquí el orden de prioridad es según se puede leer en la línea, con ésa configuración dara prioridad a los index.html frente a los index.html.var

21 Definir pagina principal (index)
Vamos a probar a cambiar la línea de forma que de prioridad a los archivos principal.html, cosa que haremos así:

22 Definir pagina principal (index)
Ahora tras reiniciar el Apache y tener preparado un archivo principal.html en la carpeta, entramos en veremos lo que nos sale:

23 Definir pagina principal (index)
Si ahora en cambio ponemos el orden de prioridades el index.html delante del principal.html nos aparecerá antes index.html

24 DocumentError [numero de error] [reacción]
Documentos de error Si queremos que cuando alguien entre a nuestra página web con una dirección errónea le aparezca una pagina personalizada solo tenemos que configurar el mensaje de error en la configuración usando: DocumentError [numero de error] [reacción] Si por ejemplo queremos que en el error 404 redireccione a nuestro error en /404.html DocumentError 404 /404.html El número de error puede ser el que queramos, mientras que reacciones pueden ser tres distintas...

25 Documentos de error Mostrar mensaje de error:
Podemos definir un mensaje de texto que aparezca cuando la dirección es errónea de la siguiente forma

26 Documentos de error El resultado será el siguiente

27 Documentos de error Redirección interna:
También podemos hacer que nos lleve a otra página web de nuestro servidor, se hace así:

28 Documentos de error Que dará como resultado lo siguiente:

29 Documentos de error Redirección externa
De esta forma podremos redireccionar al usuario a una página web de otro servidor, uno externo. Y se hace así:

30 Documentos de error Y en este caso, el resultado será el siguiente:

31 Denegar servicio a una IP
Podemos configurar el servidor para que deniegue el acceso a una IP específica, esto se hace desde los permisos en las etiquetas <Directory> Esa es la etiqueta Directory de nuestra web principal, para denegar el acceso a una IP al final tenemos que añadir deny from (ip que queramos denegar)

32 Denegar servicio a una IP
De esta forma, quien entre a la web y no sea verá esto:

33 Denegar servicio a una IP
Y quien tenga la IP verá esto:

34 Creación de Alias Para crear los Alias tenemos que poner en cualquier lugar de la configuración los siguientes parámetros: Con esta línea creamos el Alias en “/privado” (Nuestra direccion web/privado) seguido de la carpeta a la que llevará el alias Después damos los permisos a la carpeta del Alias con <Directory> de la forma que ves en la foto

35 Creación de Alias El resultado será el que ves en la foto cuando entremos a

36 Creación de Alias De esta forma podemos crear cuantos alias queramos

37 Creación de Alias Y podremos acceder a todos ellos

38 Restringir acceso a los alias
Al igual que podemos poner permisos de acceso a paginas web, también podemos ponérselos a los Alias, para ello basta con añadir las directrices al <Directory> del Alias que queramos:

39 Restringir acceso a los alias
En el Alias de privado hemos escrito: Order deny,allow (prioridad a los allow) Deny from all (Denegar acceso a todos) Allow from Allow from localhost Estos dos últimos permiten el acceso a y a localhost Esto quiere decir que permitimos el acceso solo desde el propio servidor, y denegamos a cualquiera externo.

40 Restringir acceso a los alias
En el Alias de Alternativo simplemente hemos añadido la directiva: deny from Esto quiere decir que se permitirá el acceso a cualquiera excepto a la ip

41 Log de errores y accesos
Por defecto, el log de errores del servidor se genera en la carpeta logs de la carpeta del servidor y se divide en dos archivos de texto, access.log y error.log

42 Log de accesos [24/Oct/2012:12:57: ] "GET /img/dragon.png HTTP/1.1" Esta es una línea del log de accesos, donde podemos ver que desde la ip se ha accedido con éxito mediante método GET a la imagen /img/dragon.png, que es la imagen de cabecera de la web, y como fué correctamente, el código resultante es el 200. En el log de accesos también salen los errores, pero estos salen con poca información, la cual se extiende en el log de errores.

43 Log de errores [Wed Oct 24 12:56: ] [error] [client ] File does not exist: C:/Apache2/htdocs/favicon.ico En esta línea del log de errores se puede ver que el Miércoles 24 de octubre de 2012 a las 12:56 hubo un error con el cliente El error fue que el archivo solicitado no existe, podemos ver que intentó descargar el favicon de la web, el cual no está definido.

44 Log de errores En el log de errores no todo son errores
[Wed Oct 24 12:55: ] [notice] Apache/ (Win32) configured -- resuming normal operations Ese log es resultante de un reinicio del servidor, en el cual se informa de que el servidor ha sido reconfigurado ante una modificación de httpd.conf y vuelve a funcionar

45 Hosts Virtuales En un mismo servidor apache podemos tener configurados al mismo tiempo varias páginas web independientes una de otra. Para ello tenemos que recurrir a las etiquetas <VirtualHost> en la configuración de Apache, donde tenemos que añadir primero una etiqueta para la web principal que ya teníamos predefinida ya que si no esta nunca aparecerá en caso de haber algún otro host virtual configurado, y luego añadir la de la o las webs secundarias

46 Hosts Virtuales Hay que tener activado “NameVirtualHost *:80”
La primera etiqueta VirtualHost dentro contiene los parámetros idénticos a la web principal. La segunda etiqueta VirtualHost contiene las configuraciones de la web de logs, con su DocumentRoot apuntando a la carpeta y ServerName con “pc02_log.com”

47 Hosts Virtuales Por último tenemos que añadir una directiva de permisos para el directorio del log, para que sea accesible a través del host virtual. No olvidar dentro el “Allow from all”

48 Hosts Virtuales 127.0.0.1 pc02_log.com
Por supuesto, para que un dominio funcione (pc02_log.com) sin tenerlo registrado, aunque sólo nos funcione en nuestro ordenador así podemos comprobar que funciona, para ello tenemos que añadir al final del archivo hosts de Windows esta línea: pc02_log.com

49 Hosts Virtuales El resultado será que, con nuestra web preparada en la carpeta de logs, podremos visualizarlos a través del navegador y muy cómodamente.

50 Tiempo total empleado 3 horas

51 Pruebas Realizadas Prueba de visionado de la web cada reinicio de servidor y cada configuración nueva Escribir a posta una dirección errónea para ver si funcionaba la página de error Comprobar el funcionamiento del log de errores y accesos

52 Problemas encontrados
Problema: He definido un nuevo VirtualHost/Alias pero al entrar me dice que no tengo permisos. Solución: Hay que especificar a la carpeta de este virtualhost/alias los permisos de acceso adecuados con <Directory> Problema: El servidor no deja iniciar porque dice que el puerto 80 está ocupado. Solución: Cierra Skype. Problema: Tras poner un nuevo VirtualHost, la pagina principal siempre me lleva al VirtualHost Solución: Añade un nuevo VirtualHost antes que ninguno que lleve a la web principal, esto se explica en la documentación de Apache

53 Conclusiones Apache es personalmente, con diferencia el servidor web que ofrece mejor funcionamiento y facilidad de configuración de los que he probado hasta el momento. A pesar de que su configuración es por un largo archivo de texto, resulta muy sencillo de configurar y poder hacer cualquier cosa. Una práctica completa e interesante.


Descargar ppt "Servidor Web Apache 22/10/2012 Carlos Fernández Llamas"

Presentaciones similares


Anuncios Google