Servicio HTTP en Ubuntu (Apache)

28
HTTP. PRÁCTICA 2. Instalación y configuración manual de un servidor HTTP Apache en Ubuntu. Sergio Santos Sergio Morón

description

manual de configuracion del servidor HTTP para la creación de sitios webs en el sistema operativo Ubunto, gracias a la herramienta Apache2.

Transcript of Servicio HTTP en Ubuntu (Apache)

Page 1: Servicio HTTP en Ubuntu (Apache)

HTTP. PRÁCTICA 2.

Instalación y configuración manual de

un servidor HTTP Apache en

Ubuntu.

Sergio Santos

Sergio Morón

Page 2: Servicio HTTP en Ubuntu (Apache)

ÍNDICE

• Práctica 2.1: Instalación de Apache

• Práctica 2.2: Crear servidores virtuales mediante

nombre

• Práctica 2.3: Acceso Web seguro con HTTPS

• Práctica 2.4: Restringir el acceso a un sitio a

determinados usuarios con autenticación básica

Page 3: Servicio HTTP en Ubuntu (Apache)

Práctica 2.1: Instalación de Apache

• En esta práctica vamos a instalar y configurar el

servidor HTTP en Ubuntu gracias al software Apache.

• Primero tenemos que instalar Apache, para ello

empleamos el comando apt-get install apache2.

Page 4: Servicio HTTP en Ubuntu (Apache)

Práctica 2.1: Instalación de Apache

• Una vez finalizado, comprobaremos que se ha instalado

correctamente. Basta con poner http://localhost en

nuestro navegador y nos aparecerá la siguiente página.

• Nos aparece está página debido a que existe un archivo

llamado apache2.conf, en el cual hay una línea que hace

referencia a los sitios web que están disponibles. En ese

archivo tenemos la ruta del directorio donde

encontramos el fichero “index.html” el cual contiene la

página web de inicio “It Works!”.

Page 5: Servicio HTTP en Ubuntu (Apache)

Práctica 2.1: Instalación de Apache

• Podemos observar en el directorio principal de Apache

los siguientes directorios y ficheros:

– Conf.d/: contiene archivos de configuración del servidor

– Envvars: contiene las variables de entorno de Apache 2

– Httpd.conf: es el archivo que contiene las opciones de configuración más importantes del

servidor. Es preferible utilizarlo antes que el apache2.conf

– Magic: codifica los documentos

– Mods-available: módulos disponibles (*.load) y configuración de los módulos (*.conf)

– Mods-enabled/: módulos habilitados, puede contener enlaces débiles a archivos en

/etc/apache2/mods-available. Sólo se cargan estos módulos. Además se debe enlazar el archivo

conf, si existe

– Ports.conf: aquí se especifica el nombre del sitio web y los puertos por donde escuchará nuestro

servidor

– Sites-available/: sitios disponibles

– Sites-enabled/: sitios habilitados, puede contener enlaces débiles a archivos en /etc/apache2/site-

available. Sólo se cargan estos sitios

Page 6: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• A continuación, vamos a crear sitios web. Para ello, dentro

de /etc/apache2/sites-availables, tenemos que crear ficheros

para cada uno de los servidores virtuales.

• Estos ficheros contendrán los siguientes contenedores y

parámetros para habilitar cada uno de los servidores

virtuales.

Page 7: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• En el fichero de configuración ports.conf tenemos que

añadir el nombre de dominio de nuestros sitios webs y

el puerto.

Page 8: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• Posteriormente habilitamos cada sitio para que estén

disponibles en el servidor virtual mediante la orden a2ensite,

el cual crea un enlace en /etc/apache2/sites-enabled, a los

ficheros de configuración creados en el directorio

/etc/apache2/sites-available.

• Para aplicar los cambios, reiniciamos el servidor Apache con

la orden service apache2 restart.

Page 9: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• Ahora tenemos que crear zonas nuevas, correspondientes

con los sitios webs, con el servidor DNS para poder

traducir la dirección IP de nuestro equipo a los nombres

de dominios que hemos creado.

• Mediante comandos, tenemos que añadir en el fichero

/etc/bind/named.conf.local los ficheros de nuestros sitios

web:

Page 10: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• Para aplicar la configuración, reincidamos el servidor

DNS con la orden service bind9 restart.

• Para comprobar que hemos hecho bien la

configuración, ponemos en el navegador el FQDN de

nuestros sitios web.

Page 11: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• También podemos realizarlo mediante la herramienta

Webmin.

• Accedemos a ella (http://localhost:10000) y creamos

nuevas zonas maestras para los respectivos sitios web.

Page 12: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• Añadimos el nombre de nuestros sitios web y del nombre

de nuestro equipo (servidor maestro). También hay que

introducir una dirección de e-mail.

• A continuación, en la opción de “Dirección Registros”,

introducimos la dirección IP de los sitios web, en nuestro

caso es la de nuestro equipo en los dos sitios web.

Page 13: Servicio HTTP en Ubuntu (Apache)

Práctica 2.2: Servidores virtuales mediante nombre

• El último paso es crear el alias para que en nuestro

FQDN pongamos www en vez del nombre del equipo.

Para ello nos situamos en “Nombre de Alias Regristo” e

introducimos el alias y el nombre de dominio.

• Para finalizar, aplicamos la configuración y comprobamos

que podemos acceder a nuestros sitios web.

Page 14: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• En este apartado vamos a crear dos servidores virtuales

con el mismo nombre en el que uno será de modo

seguro, gracias al servicio SSL que se otorgará por el

puerto 443.

• En primer lugar, crearemos los directorios raíz de cada

sitio e incluir en cada uno de ellos su archivo

“index.html”.

Page 15: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• A continuación, editaremos el archivo de configuración

ports.conf en el que especificaremos que los sitios web

que vamos a crear, uno se otorgará por el puerto 80 y el

otro, que se realizará de forma segura, por el puerto

443. Se puede realizar de las dos siguientes formas:

Page 16: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• Si no poseemos una carpeta llamada “ssl” dentro del

directorio /etc/apache2, tenemos que crearla para

almacenar allí el certificado que otorgará el servicio web

de forma segura.

• Una vez creada, generaremos el certificado autofirmado

para que el servidor pueda servir páginas web seguras

con el protocolo HTTPS:

Page 17: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• Añadimos el módulo que da soporte a SSL en apache2

mediante la orden sudo a2enmod ssl.

• Ahora, tenemos que crear la zona principal en el

servidor DNS, para ello seguimos los siguientes pasos y

aplicamos la configuración de la zona.

Page 18: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• A continuación creamos un

fichero llamado como nuestro

sitio web en el directorio

/etc/apache2/sites-available, que

es donde tenemos que incluir la

configuración de los dos

servidores virtuales. Crearemos

dos contenedores de tipo

VirtualHost, uno para cada

servidor virtual, y dos

contenedores de tipo Directory,

para los directorios raíz de cada

servidor virtual.

Page 19: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• Posteriormente habilitamos el sitio para que esté

disponible mediante la orden a2ensite.

• Para finalizar, aplicamos los cambios reiniciando el

servicio Apache mediante service apache2 restart.

Page 20: Servicio HTTP en Ubuntu (Apache)

Práctica 2.3: Acceso Web seguro con HTTPS

• Comprobamos que hemos hecho correctamente la

configuración introduciendo en el explorador el FQDN

de nuestro servidor web:

– De forma normal mediante http:

– De forma segura mediante https:

Page 21: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica

• Procedemos a crear un sitio web que solo podrán acceder

usuarios autentificados, es decir, nos pedirá el nombre de

usuario y contraseña para observar su contenido.

• Primero procedemos a la creación de un usuario

(profesor), el cual vamos a usar para acceder al sitio web.

• También crearemos un directorio, con el usuario creado,

donde se hará referencia el sitio web.

Page 22: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica

• Creamos la página web index.html, que será

la predeterminada al acceder al sitio web.

• A continuación, procedemos a la creación de la zona

del sitio web en el servidor DNS (Webmin), en el que

le llamaremos profesor.smr.braille.es.

Page 23: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica

• Una vez creada la zona, crearemos un archivo

denominado “passwords”, en el directorio creado

anteriormente, y se lo añadimos al usuario creado

(profesor) con el comando htpasswd. Al ejecutar el

comando se creará el archivo passwords y nos pedirá

introducir una contraseña para el usuario, con esta

contraseña accederemos al sitio web.

Page 24: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica

• Una vez creado el archivo con el usuario y la contraseña,

procedemos a editar la configuración del sitio y

modificar las propiedades de control del directorio del

sitio web (/home/profesor/www) de la siguiente manera:

Page 25: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica

• Después accedemos al archivo de configuración

port.conf del servidor Apache para indicar que nuestro

sitio web permitirá el acceso por el puerto 80.

Page 26: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica

• Posteriormente habilitamos el sitio para que esté

disponible mediante la orden a2ensite.

• Por último, reiniciamos el servicio Apache para guardar

y aplicar la configuración.

Page 27: Servicio HTTP en Ubuntu (Apache)

Práctica 2.4: Restringir el acceso a un sitio a determinados

usuarios con autenticación básica• Para comprobar que todo está correctamente configurado, accedemos al

navegador y accedamos al sitio web.

• Nos pedirá el usuario y la contraseña,

si la escribimos correctamente nos

mostrará el sitio web.

• En caso contrario, nos

aparecerá el mensaje de

autorización denegada.

Page 28: Servicio HTTP en Ubuntu (Apache)

FIN