David Rosas
Cristofer Vargas Morales
Jared Farfan
¿Cómo instalar un servidor web en la nube con Amazon EC2?
Instalar un servidor web en la nube es una habilidad esencial en el mundo actual. Este proceso, que parece complejo, se vuelve sencillo y eficaz cuando se descompone en pasos claros. A continuación, profundizaremos en cómo instalar un servidor web usando Amazon EC2, desde la conexión hasta el despliegue en un navegador web.
¿Cómo conectar al servidor EC2?
Conectarse a un servidor EC2 es el paso inicial para cualquier configuración. Aunque los pasos pueden variar ligeramente dependiendo del sistema operativo que estés utilizando, el proceso básico es similar.
ssh -i mi-llave.pem ec2-user@<IP_del_servidor>
¿Cómo instalar un servidor web Apache?
Una vez conectado al servidor, necesitarás instalar un servidor web como Apache para poder servir contenido.
sudo yum install httpd -y
cd /var/www/html sudo vim index.html
Usa i para insertar texto en Vim, añade un mensaje como: "Hola a todos, soy el servidor web :)". Guarda y cierra usando Esc :wq.
¿Cómo reiniciar el servidor para aplicar cambios?
Con el contenido listo, es crucial reiniciar el servidor para que los visitantes puedan ver los cambios.
sudo systemctl restart httpd
¿Por qué no se muestra el contenido en el navegador?
Es importante entender el flujo de datos y cómo los componentes de red, como los grupos de seguridad (Security Groups), afectan tu servidor web.
Revisar los grupos de seguridad: Un error común es no tener el puerto 80 abierto. Dirígete a la sección de "Security" en la consola de AWS, selecciona el grupo de seguridad de tu servidor y verifica las reglas.
Abrir el puerto 80: Si está cerrado, añade una regla que permita acceso HTTP:
- Protocolo: HTTP - Puerto: 80 - Fuente: Anywhere
¿Qué deberías recordar?
Al gestionar servidores y hosting en la nube, varios puntos son cruciales:
El proceso descrito es el comienzo de una exploración más detallada sobre EC2 y las capacidades del servidor. Estas habilidades no solo son claves para administrar servidores web, sino que abren un mundo de posibilidades para crear infraestructuras más complejas en la nube. ¡Te invitamos a seguir explorando y experimentando en el fascinante mundo de la computación en nube!
David Rosas
Cristofer Vargas Morales
Jared Farfan
Sebastián Arcila Sánchez
Irving Juárez
Miguel Angel Reyes Moreno
Miguel Angel Reyes Moreno
Peru Mac
Daniel Hurtado Jimenez
Cristofer Vargas Morales
Jonathan David Herrera Rodríguez
Alexander Coronell
Carlos Andrés Moreno Jimenez
Liceth Vasco
Daniel Hurtado Jimenez
Ruben Galindo
Juan David Grijalba
Cristian Mendoza
Nelson Rubio
Clayton Jhordan Iliquin Zavaleta
Víctor Andrés Niño Vargas
Santiago Ahumada Lozano
‼️‼️‼️ RECUERDEN APAGAR LA INSTANCIA ‼️‼️‼️
( Ya me llego el cobro despues de un par de dias de disfrutar ver mi hola mundo en cualquier dispositivo jajaj 🤦♂️
$3.20 USD )
Dashboard del menu izquierdo de <u>EC2</u> Instances (running)Instance StateStop instance‼️‼️‼️
Me queda una duda, se entiende que el servidor EC2 creado de acuerdo a las indicaciones de las clases, se encuentra en la capa FREE TIER y sus costos son ínfimos.
Aún así, cuando te creas una cuenta AWS perteneciente a la capa FREE TIER, en teoría te asignan un monto representativo (como una bolsa para tus prácticas) que dura 6 meses; ya que algunos de los servicios consumen dinero.
Entiendo que bajo este contexto, si el servidor web está en la capa FREE TIER, en todo caso debería descontarte desde dicha bolsa. Aún así, es obvio que el saldo que te asigna AWS debería durarte para unos meses de práctica. Si es así, tiene sentido ahorrar todo lo que se pueda.
Gracias :)
A tener en cuenta:
Los problemas de conexión no necesariamente tienen que ver con el security group. Hay que tomar en cuenta que despues del security group esta el ACL que tambien nos puede dar problemas, entre otros componentes de la red
le pedí a chatgpt que hiciera una página de bienvenida solo con html y css y este fue el resultado :)
Laboratorio: Creación del servidor web
Instalando servidor apache:
sudo yum install httpd -y
Creando archivo para ver en web:
cd /var/www/html
sudo vim index.html
Reiniciando servidor web:
sudo systemctl restart httpd
Una vez que tengas las reglas de entrada de HTTP y HTTPS, puedes acceder a la IPV4 pública de tu EC2 desde el navegador web
Para guardar los cambios en sudo vim index.html, debes seguir estos pasos:
Esc para asegurarte de estar en modo normal.:w y presiona Enter para guardar los cambios. Si deseas guardar y salir, escribe :wq y presiona Enter.Esto asegurará que los cambios realizados en el archivo se guarden correctamente.
Para subir contenido HTML desde un directorio compartido a tu servidor EC2 con Apache, sigue estos pasos:
Conéctate a tu servidor EC2 usando SSH:
ssh -i "tu_llave.pem" user@ip_del_servidor
Copia el contenido HTML desde tu directorio compartido al servidor. Puedes usar scp (Secure Copy Protocol):
scp -i "tu_llave.pem" /ruta/del/directorio/*.html user@ip_del_servidor:/var/www/html/
Verifica que los archivos se hayan copiado correctamente en el directorio /var/www/html/.
Reinicia Apache para asegurarte de que los cambios se reflejen:
sudo systemctl restart httpd
Accede a tu contenido a través de un navegador utilizando la dirección IP de tu servidor.
No va a mostrar el archivo porque como eliminamos todas las reglas del SG pues no tenemos regla de inbound para el puerto 80
sudo yum install httpd -y
cd /var/www/html
sudo vim index.html
sudo systemctl restart httpd
Yo realice la conexión desde power shell de windows ubicado en la ruta donde tenia mi archivo .pem ejejcute esto para restringir los permisos sobre el archivo pem ejecute esto
icacls "C:\GITPersonal\AWS\key1.pem" /inheritance:r
icacls "C:\GITPersonal\AWS\key1.pem" /grant:r "$($env:USERNAME):(R)"
Quizas esto mas agil que usar putty
El comando sudo yum se utiliza en sistemas operativos basados en Linux, como Amazon Linux, para instalar, actualizar y gestionar paquetes de software.
sudo permite ejecutar el comando con privilegios de superusuario.yum es el gestor de paquetes que maneja la instalación y actualización de software en el sistema.Este comando es esencial al configurar servidores en AWS, como se mencionó en la clase sobre la instalación de un servidor web Apache.
No lo va a mostrar porque en el security group no está habilitado el puerto 80 (http)...
Ayuda por favor, hice todo tal cual esta en el video pero nu logro ver la pagina con la frase "Hola mundo", que puedo hacer para que funcione?
Bro me paso tambien, es interesante si le das open address desde amazon no carga nunca (pasa porque AWS hace una peticion HTTPS la cual no la tenemos en el security group) pero si copias y pegas en la url del navegador si carga. Pruebalo.
no se si sea util pero para los que no esten familiarizados con ssh, pueden usar Moba solo necesitan hacer una vez la conexion y dejan guardadas todas las configuraciones, les ahorra un paso :)
No se podrá acceder, porque no tenemos un permiso asignado.
Me gustaría que explicaran también cómo se desaprobación el servicio para deje de generar costos. Al intentar detener la instancia me decía que me iban a seguir facturando por la IP y el EBS. Lo que yo hice fue:
La instancia la dejé ahí pero detenida, no sé si eso es todo lo que hay que hacer para que no me cobren pero espero que igual les sirva. Si hay algo más por hacer, les agradezco el aporte.
Para lanzar un web server en AWS 1. Creamos un archivo index.html 2. Configuramos un security group para acceder mediante HTTP desde internet a la IP publica del servidor 3. Copiamos la IP Publica y la buscamos en nuestro navegador