SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
HTTP. PRÁCTICA 2.
Instalación y configuración manual de
    un servidor HTTP Apache en
               Ubuntu.



                            Sergio Santos
                            Sergio Morón
Í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
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.
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!”.
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
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.
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.
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.
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:
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.
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.
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.
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.
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”.
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:
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:
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.
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.
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.
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:
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.
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.
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.
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:
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.
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.
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, • En caso contrario, nos
  si la escribimos correctamente nos       aparecerá el mensaje de
  mostrará el sitio web.                   autorización denegada.
FIN

Más contenido relacionado

La actualidad más candente

[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
OpenStack Korea Community
 

La actualidad más candente (20)

Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Introducción a NodeJS
Introducción a NodeJSIntroducción a NodeJS
Introducción a NodeJS
 
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
[OpenStack 하반기 스터디] Docker를 이용한 OpenStack 가상화
 
Ansible
AnsibleAnsible
Ansible
 
Continuous Delivery with Jenkins
Continuous Delivery with JenkinsContinuous Delivery with Jenkins
Continuous Delivery with Jenkins
 
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...How to test infrastructure code: automated testing for Terraform, Kubernetes,...
How to test infrastructure code: automated testing for Terraform, Kubernetes,...
 
MongoDB and Node.js
MongoDB and Node.jsMongoDB and Node.js
MongoDB and Node.js
 
Benchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and ResultsBenchmarking NGINX for Accuracy and Results
Benchmarking NGINX for Accuracy and Results
 
Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction Node.Js: Basics Concepts and Introduction
Node.Js: Basics Concepts and Introduction
 
Instalar y configurar Servidor DNS en linux
Instalar y configurar Servidor DNS en linuxInstalar y configurar Servidor DNS en linux
Instalar y configurar Servidor DNS en linux
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
 
Beanshell scripting in Apache JMeter
Beanshell scripting in Apache JMeterBeanshell scripting in Apache JMeter
Beanshell scripting in Apache JMeter
 
Hands-on Lab: Amazon ElastiCache
Hands-on Lab: Amazon ElastiCacheHands-on Lab: Amazon ElastiCache
Hands-on Lab: Amazon ElastiCache
 
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
[오픈소스컨설팅] 아파치톰캣 운영가이드 v1.3
 
Monitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com ZabbixMonitoramento de Aplicações Web Modernas com Zabbix
Monitoramento de Aplicações Web Modernas com Zabbix
 
Alfresco DevCon 2019 Performance Tools of the Trade
Alfresco DevCon 2019   Performance Tools of the TradeAlfresco DevCon 2019   Performance Tools of the Trade
Alfresco DevCon 2019 Performance Tools of the Trade
 
Ansible get started
Ansible get startedAnsible get started
Ansible get started
 
React Lifecycle and Reconciliation
React Lifecycle and ReconciliationReact Lifecycle and Reconciliation
React Lifecycle and Reconciliation
 

Destacado

Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14
Luis Carlos Silva Dias
 
Instalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linuxInstalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linux
Ger Hernandez
 
Manual de configuracion de redes
Manual de configuracion de redesManual de configuracion de redes
Manual de configuracion de redes
mmri
 
Transferencia de archivos FTP
Transferencia de archivos FTPTransferencia de archivos FTP
Transferencia de archivos FTP
ingdianabaquero
 
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linuxConfiguracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Mohamed Diop
 

Destacado (20)

Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5
Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5
Tutorial de Instalación de Sistema y Servicios de Red en Lenny Debian 5
 
Instalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSHInstalación y configuración Servidor FTP y SSH
Instalación y configuración Servidor FTP y SSH
 
Linux Network commands
Linux Network commandsLinux Network commands
Linux Network commands
 
Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14Instalación y configuración de servidor ftp en ubuntu server 14
Instalación y configuración de servidor ftp en ubuntu server 14
 
Instalación y configuración interfaz gráfica ubuntu server 12.04
Instalación y configuración interfaz gráfica ubuntu server 12.04Instalación y configuración interfaz gráfica ubuntu server 12.04
Instalación y configuración interfaz gráfica ubuntu server 12.04
 
Instalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linuxInstalación ftp, telnet y ssh sobre linux
Instalación ftp, telnet y ssh sobre linux
 
Servicios de Red e Internet
Servicios de Red e InternetServicios de Red e Internet
Servicios de Red e Internet
 
Servidores de red
Servidores de redServidores de red
Servidores de red
 
Servicio FTP en Ubuntu
Servicio FTP en UbuntuServicio FTP en Ubuntu
Servicio FTP en Ubuntu
 
Ubuntu. configurar tarjeta de red mediante lineas de comando
Ubuntu.   configurar tarjeta de red mediante lineas de comandoUbuntu.   configurar tarjeta de red mediante lineas de comando
Ubuntu. configurar tarjeta de red mediante lineas de comando
 
Manual de configuracion de redes
Manual de configuracion de redesManual de configuracion de redes
Manual de configuracion de redes
 
Configuracion de red en Ubuntu Linux
Configuracion de red en Ubuntu LinuxConfiguracion de red en Ubuntu Linux
Configuracion de red en Ubuntu Linux
 
Servidor ftp linux final
Servidor ftp linux   finalServidor ftp linux   final
Servidor ftp linux final
 
Transferencia de archivos FTP
Transferencia de archivos FTPTransferencia de archivos FTP
Transferencia de archivos FTP
 
Manejo de-redes-linux
Manejo de-redes-linuxManejo de-redes-linux
Manejo de-redes-linux
 
Apache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows ServerApache: instalación y configuración en Ubuntu Server y Windows Server
Apache: instalación y configuración en Ubuntu Server y Windows Server
 
Introducción a Servidor HTTP Apache
Introducción a Servidor HTTP ApacheIntroducción a Servidor HTTP Apache
Introducción a Servidor HTTP Apache
 
Configuracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linuxConfiguracion del servidor vsftpd en linux
Configuracion del servidor vsftpd en linux
 
Servicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNETServicios DHCP, DNS y TELNET
Servicios DHCP, DNS y TELNET
 
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linuxConfiguracion servidor web, dns, ftp, pop3 y smtp txt para linux
Configuracion servidor web, dns, ftp, pop3 y smtp txt para linux
 

Similar a Servicio HTTP en Ubuntu (Apache)

Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
garciadebora
 

Similar a Servicio HTTP en Ubuntu (Apache) (20)

Cherokee
CherokeeCherokee
Cherokee
 
Servidor web Apache
Servidor web ApacheServidor web Apache
Servidor web Apache
 
Servidor apache
Servidor apacheServidor apache
Servidor apache
 
Apli t1 practicas_apache
Apli t1 practicas_apacheApli t1 practicas_apache
Apli t1 practicas_apache
 
Servidor HTTP en Windows (IIS)
Servidor HTTP en Windows (IIS)Servidor HTTP en Windows (IIS)
Servidor HTTP en Windows (IIS)
 
Server2003 INSTALACION DE IIS Y CREACION DE UN SITIO WEB
Server2003 INSTALACION DE IIS Y CREACION DE UN SITIO WEBServer2003 INSTALACION DE IIS Y CREACION DE UN SITIO WEB
Server2003 INSTALACION DE IIS Y CREACION DE UN SITIO WEB
 
Servidorweb casero
Servidorweb caseroServidorweb casero
Servidorweb casero
 
Práctica apache2 jose antonio albalat almenara
Práctica apache2 jose antonio albalat almenaraPráctica apache2 jose antonio albalat almenara
Práctica apache2 jose antonio albalat almenara
 
Servidores Web en GNU/Linux
Servidores Web en GNU/LinuxServidores Web en GNU/Linux
Servidores Web en GNU/Linux
 
Daw02 tarea
Daw02 tareaDaw02 tarea
Daw02 tarea
 
Instalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y DrupalInstalación de 2 CMS: Wordpress y Drupal
Instalación de 2 CMS: Wordpress y Drupal
 
Apache practica
Apache practicaApache practica
Apache practica
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
5 servidor web
5 servidor web5 servidor web
5 servidor web
 
Apache HTTP y Moodle
Apache HTTP y MoodleApache HTTP y Moodle
Apache HTTP y Moodle
 
Nginx
NginxNginx
Nginx
 
1212
12121212
1212
 
practica 1 apache
practica 1 apachepractica 1 apache
practica 1 apache
 
Servidor HTTP IIS
Servidor HTTP IISServidor HTTP IIS
Servidor HTTP IIS
 
Laboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdfLaboratorio Nº 9.1.pdf
Laboratorio Nº 9.1.pdf
 

Más de Sergio Santos

Más de Sergio Santos (14)

PHP
PHPPHP
PHP
 
Sistemas de Bases de Datos
Sistemas de Bases de DatosSistemas de Bases de Datos
Sistemas de Bases de Datos
 
Modelo Entidad Relación
Modelo Entidad RelaciónModelo Entidad Relación
Modelo Entidad Relación
 
JAVA
JAVAJAVA
JAVA
 
CSS, jQuery y más
CSS, jQuery y másCSS, jQuery y más
CSS, jQuery y más
 
JavaScript
JavaScriptJavaScript
JavaScript
 
SOJI - Documentación
SOJI - DocumentaciónSOJI - Documentación
SOJI - Documentación
 
Manual de usuario SOJI
Manual de usuario SOJIManual de usuario SOJI
Manual de usuario SOJI
 
Correo electrónico
Correo electrónicoCorreo electrónico
Correo electrónico
 
Servicio FTP en Windows
Servicio FTP en WindowsServicio FTP en Windows
Servicio FTP en Windows
 
Servidor DNS Windows
Servidor DNS WindowsServidor DNS Windows
Servidor DNS Windows
 
Servidor DNS Ubuntu
Servidor DNS UbuntuServidor DNS Ubuntu
Servidor DNS Ubuntu
 
DHCP Webmin (Ubuntu)
DHCP Webmin (Ubuntu)DHCP Webmin (Ubuntu)
DHCP Webmin (Ubuntu)
 
DHCP Ubuntu
DHCP UbuntuDHCP Ubuntu
DHCP Ubuntu
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (10)

Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Servicio HTTP en Ubuntu (Apache)

  • 1. HTTP. PRÁCTICA 2. Instalación y configuración manual de un servidor HTTP Apache en Ubuntu. Sergio Santos Sergio Morón
  • 2. Í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
  • 3. 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.
  • 4. 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!”.
  • 5. 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
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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:
  • 10. 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.
  • 11. 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.
  • 12. 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.
  • 13. 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.
  • 14. 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”.
  • 15. 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:
  • 16. 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:
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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:
  • 21. 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.
  • 22. 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.
  • 23. 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.
  • 24. 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:
  • 25. 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.
  • 26. 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.
  • 27. 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, • En caso contrario, nos si la escribimos correctamente nos aparecerá el mensaje de mostrará el sitio web. autorización denegada.
  • 28. FIN