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

Upload: sergio-santos

Post on 13-Jun-2015

5.892 views

Category:

Technology


3 download

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

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