Servidor web – debian - mikelmarturet.files.wordpress.com · configurar el archivo de los hosts...

12
MIKEL MARTURET URTIAGA SERVIDOR WEB – DEBIAN

Transcript of Servidor web – debian - mikelmarturet.files.wordpress.com · configurar el archivo de los hosts...

MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

1

Contenido SERVIDOR WEB EN DEBIAN .............................................. 2

¿Qué es? ........................................................................... 2

Instalación Apache2 .......................................................... 2

Comprobación página por defecto ................................. 3

Página propia .................................................................... 4

Comprobación página propia ......................................... 5

Certificado SSL .................................................................. 5

Comprobación HTTPS ..................................................... 6

Host Virtual ....................................................................... 7

Comprobación Host Virtual ............................................ 9

Autenticación .................................................................. 10

Troubleshooting .............................................................. 11

Conclusión....................................................................... 11

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

2

SERVIDOR WEB EN DEBIAN

En esta práctica vamos a configurar un servidor WEB en debian. Instalaremos apache2 en nuestra máquina virtual, compartiremos una carpeta desde nuestra máquina física para poder seleccionar una de nuestras páginas que ya tenemos creadas, además añadiremos un certificado de seguridad para que nuestra página funcione por https, crearemos hosts virtuales con diferentes páginas que reaccionen a http y a https y por ultimo pediremos autenticación.

Pero lo primero que vamos a hacer es explicar que es un http y un https.

¿Qué es?

Http y https son protocolos de comunicación que nos permiten transferencias de información en la WWW. Lo que diferencia a un http de un https es la seguridad, el protocolo https es un protocolo seguro, utiliza normalmente un certificado SSL/TLS, digamos que es un http pero seguro.

Instalación Apache2

Apache es un servidor web de http para plataformas UNIX.

Lo primero que vamos a hacer antes de instalar apache 2 es comprobar que nuestra tarjeta de red se encuentra en modo NAT. Una vez que lo hemos comprobado pasamos a la instalación. Es posible que a la hora de instalar nos de problemas, puede

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

3

ser debido a que no tenemos los paquetes actualizados así que deberemos hacer un apt-get update/apt-get upgrade.

Pasamos a la instalación:

Una vez que lo tenemos instalado podemos poner nuestra interfaz de red como interna y configurarla de manera estática con la ip que queremos, en este caso he elegido una de Clase A.

Comprobación página por defecto

Necesitaremos otra máquina virtual abierta, ya que no podemos hacerla en la nuestra porque no tiene interfaz gráfica. Nos pondremos en red con ella. Y haremos un ping para comprobar que tenemos conectividad entre ambas. Usaremos el -c, para el numero paquetes que queremos enviar.

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

4

Una vez que hemos comprobado la conectividad, con un explorador abierto pondremos la dirección IP de nuestro servidor WEB y veremos lo siguiente.

Página propia

Vamos a configurar nuestra propia página, para ello compartiremos una carpeta desde nuestra máquina física, antes de todo deberemos tener instaladas las Guest Additions ya que es posible que no se pueda compartir correctamente en caso de no tenerlas instaladas.

Otra de las incidencias que puede haber a la hora de compartir la carpeta es el nombre de la carpeta compartida, ya que, NO deben de tener el mismo nombre la carpeta de la máquina física y la carpeta de la máquina virtual.

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

5

Una vez que hemos compartido la carpeta deberemos mover los elementos de la misma al directorio /var/www y modificar el nombre de nuestra página por la de Index.html.

Guardaremos por si acaso, la página por defecto, en mi caso le he llamado Index2.html.

Comprobación página propia

Haremos lo mismo que en el caso anterior, en un navegador pondremos la ip de nuestro server. Y veremos nuestra "súper" página web.

Todo esto está realizado con HTTP en caso de poner en nuestro buscador Https://a nuestra IP nos deberá dar error ya que no tenemos ningún certificado en nuestro servidor.

Así que lo siguiente que deberemos hacer es nuestro propio certificado. ¡A certificar!

Certificado SSL

Para crear nuestro certificado deberemos seguir los siguientes pasos, Es bastante sencillo crearlo, pero hay que tener cuidado con la sintaxis ya que cualquier error al escribirlo puede dar error al final.

Instalaremos el SSL y reiniciaremos nuestro servidor:

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

6

Este es un certificado por defecto, así que vamos a crear también un certificado propio, en el que meteremos nosotros los valores que queramos de país, nombre... Además, también podemos seleccionar los días que queramos que nuestro certificado este activo, en este caso, un año.

Una vez que hemos ejecutado este comando tan largo y hemos introducido nuestros datos, vamos a entrar al archivo de configuración de nuestro certificado por defecto de apache para modificarlo y que nos coja el certificado que acabamos de crear.

Ahora deberemos reiniciar nuestro servidor.

Comprobación HTTPS

Vamos a probarlo ahora, en otra máquina virtual, Win 7, deberemos ponerlo en red de la misma forma que el anterior.

Vamos a comprobar que nuestra página web ha cogido el certificado de manera correcta. Para ello haremos un https:/ a nuestra dirección IP. Htpps:/10.0.0.9. Nos saldrá un mensaje de advertencia ya que nuestro certificado no es "oficial". Entraremos a la página y donde pone "Error de certificado" veremos nuestro certificado.

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

7

Host Virtual

Los hosts virtuales nos permiten tener varios dominios y sitios web en una misma máquina virtual. Vamos a configurar los hosts virtuales de manera que haciendo un Http:/@ip nos redireccione a una página y haciendo Htpps:/@ip nos redireccione a otra.

Vamos a preparar nuestra carpeta /var/www, dentro de ella tendremos nuestro primer index y dentro de otro directorio, en mi caso https, tendremos el otro index que es el que usaremos para entrar de manera segura.

Vamos a realizar una copia de ficheros dentro de nuestro directorio /etc/apache2/sites-available copiaremos el archivo default dos veces, una con el nombre index1 y otra con el nombre index2.

Pasamos ahora a configurar estos archivos, empezaremos con el index1, al que pondremos lo siguiente. Es importante que el DocumentRoot sea el correcto.

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

8

Haremos lo mismo para nuestro index2, aunque como veis aquí deberemos cambiar también el puerto, pondremos el 443 que es el puerto para nuestro Https.

Vamos a "levantar" estos dos archivos usando el comando a2ensite.

Una de las cosas que tenemos que realizar para que nuestro https funcione correctamente, es configurar los puertos, para ello entraremos en el directorio /etc/apache2/ports.conf

Y pondremos que escuche a 443 y el NameVirtualHost *:443

Deberemos cambiarlo también en nuestra otra máquina virtual, la que estamos utilizando para la comprobación.

Entraremos en la siguiente ruta y C: Windows/System32/drivers/etc/host

Y pondremos lo siguiente:

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

9

Comprobación Host Virtual

En este caso he usado el Alias que he puesto en el archivo de configuración: www.index1mikel.com

¡Correcto!

Vamos ahora con nuestra segunda página:

Como no había hecho la comprobación con la @IP, vamos a realizarlo de las dos maneras con el Alias y con la @Ip.

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

10

Autenticación

Por último, vamos a realizar las configuraciones necesarias para hacer que nos pida autenticarnos en nuestra página web.

Deberemos instalar los siguientes paquetes. Tendremos que volver a cambiar nuestra tarjeta de red a modo NAT. (Volver a poner en red interna después de instalar)

Una vez que lo tenemos instalado vamos al archivo de configuración y ponemos lo siguiente:

En este caso seleccionamos /var/www/https porque queremos que nuestra página de https sea la que nos pida la autenticación. Guardaremos nuestras contraseñas de los usarios en el archivo ./password.

Agregamos un usuario a nuestro servidor.

SERVIDOR WEB – DEBIAN MIKEL MARTURET URTIAGA

SERVIDOR WEB – DEBIAN

11

Hacemos uso de htpasswd -c y lo guardamos en nuestro archivo para las contraseñas.

Y entramos a al archivo de configuración de la contraseña y vemos como la contraseña está cifrada.

Troubleshooting

Uno de los problemas que más tiempo me ha llevado solucionar ha sido a la hora de configurar el archivo de los hosts de la máquina virtual Win7 ya que no me permitía modificarlo por los permisos de ese propio archivo. Lo único que deberemos hacer es cambiar los permisos de ese documento.

Otro de los problemas es con los archivos de configuración hay que tener cuidado con la sintaxis ya que con cualquier fallo, al reiniciar nuestro servidor Apache nos puede dar "Failed".

Conclusión

Apache a través de los virtual Host, nos permite tener varias páginas en una única máquina, además poder elegir si entrar con http y https. Apache es un muy buen servidor Web para aplicarlos a nuestros servidores.