Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Instalación del proyecto en nuestra instancia de EC2

4/33
Recursos

Cosas a tener en cuenta al momento de instalar tu proyecto:

  • Si tienes Linux o MAC, ya cuentas con la terminal para poderte conectar por medio de SSH; si tienes Windows, es necesario usar un software como MobaXterm que es gratis para uso personal.
  • El comando que debes usar es “sudo apt install apache2 git libapache2-mod-php -y”
  • Si acabas de iniciar tu máquina, es posible que no encuentre los paquetes, ya que los DNS no son los correctos. Con “apt-get update” lo solucionas.
  • La dirección del repositorio usado en clase es: https://github.com/mauropm/quotes-generator

Aportes 60

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Para los usuarios de Linux o Mac, se conectan con el siguiente comando:

ssh -i <path_del_archivo.pem> ubuntu@<dirección_IP_de_la_instancia>

Para los usuarios Windows existe otra herramienta a parte de MobaXterm, que es PuTTY https://www.putty.org

Para Windows, si instalas git (https://git-scm.com/) ya tienes acceso a SSH por línea de comandos.

para conectarse desde una terminal MAC…

 ssh -i ec2-aws.pem ubuntu@ip_publica

Para los que tengan una instancia con Centos 7

yum update
yum install httpd
yum install git
systemctl start httpd.service

Una buena práctica es guardar esta llave privada dentro del directorio ~/.ssh
También se puede agregar un Host al archivo ~/.ssh/config para que con un comando fácil de recordar podamos acceder a la conexión
Así se vería el Host

Host platzi-ec2
	HostName <dirección IP>
	User <Nombre del usuario, en este caso "ubuntu">
	IdentityFile <Dirección de la llave privada>

En algunos casos ya hay hosts en este archivo, si hay uno que tiene el * dejarlo de último ya que es el host por defecto

Entonces la conexión se haría con el comando

ssh platzi-ec2

Usando el nombre del Host que definimos

No es necesario convertirse en root

$ sudo su

Basta con

$ sudo apt update
$ sudo apt install apache2 git libapache2-mod-php -y

when I was 5 years old, my mother always told me that happiness was the key to life. when I went ot school, they asked me what I wanted to be when I grew up. I wrote down ‘happy’. they told me I didnt understand the assignment, and I told them they didnt understand life.
john lennon

Para Windows a la fecha (julio de 2022) desde powershell es posible conectarse usando ssh -i la ruta del archivo .pem ubuntu@dir ip

Apache es WWW Server, PHP, un intérprete. Por ibapache2-mod-php, Apache puede enviar solicitudes al PHP, que construye el sitio web, envía HTML renderizado (o cualquier otra cosa) al Apache, y luego se responde al usuario.

El flujo es algo así:

Sin esa biblioteca, Apache no sabe qué es un .phparchivo, y lo reconoce como un archivo sin formato que se puede descargar, sin ser interpretado por PHP (a veces es muy peligroso, por ejemplo, cuando se almacenan contraseñas en un archivo PHP).

Algo curioso es que en las nuevas versiones de Ubuntu git ya viene pre-instalado, así que para este caso, no sería necesario instalar git
.
Veo que las instancias de EC2 funcionan de manera similar a las de Digital Ocean 🤔

Perfecto, ya desplegando la aplicación http://18.218.201.118/ muy interesante el ejercicio.

me corriguen si me equivoco. Pero hay que tener en cuenta que los snapshots son incrementales, esto quiero decir que aunque tu volumen es de 8 GB, el snapshot solo será del espacio que esta siendo usado, si un mes después ya haces uso de 1GB más y haces tu snapshot, entonces esa GB se agrega al snapshot anterior o algo así. es que no lo ví en esta explicación y me parece importante tener en cuenta esto.

para el ingreso por ssh en mac y Linux:

  1. chmod 600 archivo.pem
  2. ssh -i la llavequedescargaste.pem ubuntu@dirección_IP_de_la_instancia

Recuerden que todos esos pasos los encuentran en la opción conectar, pestaña “Cliente SSH” normalmente en el ejemplo el usuario antes del arroba es root lo único que tienen que hacer es cambiarlo por ubuntu.

Para las personas que utilizaron la distro de amazon como ec2:

no trae php preinstalado por lo que es necesario hacer lo siguiente:

sudo amazon-linux-extras install epel

yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql -y

mirar que se haya instalado correctamente:
php -v
posteriormente reinciar la instancia de apache:
systemctl restart httpd

recopilado de:
https://phoenixnap.com/kb/install-php-7-on-centos#:~:text=How To Install PHP 7%2C 7.2 %26 7.3,Version. Step 4%3A Install PHP and its Dependencies.

para usar el usuario root tambien pueden colocar

sudo bash

Tanto en ubuntu como en Amazon Linux o simplemente colocar sudo delante del comando ejemplo
#paradebian ubuntu y derivados

sudo apt update 

#para Redhat Centos o derivados

sudo yum update

espero les sirva

El comando que debes usar es “sudo apt install apache2 git libapache2-mod-php -y”

Para quienes hayan elegido **Amazon Linux**, el usuario es **ec2-user**. Por lo tanto, ```txt ssh -i ec2-aws.pem ec2-user@... ```No se olviden antes de darle permisos al .pem ```js chmod 400 ec2.aws.pem ```Gracias a Acuña, Carvajal y zamacode.

que buen video mi hermano, muchas gracias!

It is never too late to be what you might have been.

  • George Eliot

It’s not the years in your life that count. It’s the life in your years.

Abraham Lincoln

This was my second phrase from my EC2 instance: > I have learned over the years that when one’s mind is made up, this diminishes fear.

Tambien podemos definir esos comandos cuando vamos a crear la instancia al final ponieno esto:
#!/bin/bash
sudo ap update && sudo apt upreade -y
sudo apt install apache2 git libapache2-mod-php -y

Excelente despliegue

Cuando intento abrir mi instancia en el navegador no la carga, alguien podria decirme por que? intente de nuevo una vez termino el video pero igual no carga nada

Cuando intento ir a /var/www/html/ pero me aparece que no existe el archivo or directorio :/

https://www.youtube.com/watch?v=KC48iyS9yGg&t=2s&ab_channel=MikeColbert

aqui viene mas explicado si les quedo duda a los de mac, pero basicamente es clickear en el boton que dice connect y seguir las simples instrucciones segun sea el tipo de conexion que vayas a hacer 😉

Para ejecutar los comandos si estas como usuario root no necesitas elevar permisos con sudo

Comandos:
sudo su
apt-get update
sudo apt install apache2 git libapache2-mod-php -y
git clone https://github.com/mauropm/quotes-generator
cp index.php quotes.txt /var/www/html/

Command to grant root access to current user

sudo apt install apache2 git libapache2-mod-php -y

vi --> to edit text file esc :q --> to exit without save changes

exit pwd To leave root user and comeback to current user

cd /var/www/html --> open htdocs apache's folder

Una pregunta… Cuando agregaste el Storage, viste que ahi se pueden agregar mas datastore. En ese momento te deja hacer configuración para redundancia? o donde podría realizarlo?

El repositorio es privado? no encuentra el proyecto

En el ejercicio en particular, que función cumple el Dockerfile?

Falto la versión para hacerlo en una Mac. =(

Genial, Temas bien interesantes y utiles.

https://www.youtube.com/watch?v=wBj-RvMHaa4 conexión con la instancia de awz en mac.

how to solve this when i try to enter

Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file

Network error: Connection timed out

Excelente explicacion!

Error al intentar conectar con mobaxterm. por servicio ayuda

Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file

Network error: Connection timed out

Si acabas de iniciar tu máquina, es posible que no encuentre los paquetes, ya que los DNS no son los correctos. Con “apt-get update” lo solucionas.

Si tienes Linux o MAC, ya cuentas con la terminal para poderte conectar por medio de SSH; si tienes Windows, es necesario usar un software como MobaXterm que es gratis para uso personal.

Podemos revisar el estatus de Apache utilizando

systemctl status apache2 

Una pregunta al momento de realizar el movimiento de una carpeta a otra con el comando “indicardor mv index.html index.html" para que se usa el signo "” y por que quedo ahora un archivo con nombre"_index.html"

Tonta la pregunta pero importante para salir de las dudas.

Instalado y ok 😃

Respondiendo:

La conexión por windows es totalmente posible, no hay necesidad de instalar un programa.

Como buen practica se recomienda hacer:

sudo apt update

Antes que nada, para mantener actualizados los paquetes.

he intentado conectar por ssh y no es posible, haciendo todo paso a paso pero me arroja el siguiente error

Server refused our key

No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

──────────────────────────────────────────────────────────────────────────────────────

Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file

──────────────────────────────────────────────────────────────────────────────────────

Session stopped
- Press <return> to exit tab
- Press R to restart session
- Press S to save terminal output to file

Comando para mover los archivos

<cp index.php quotes.txt /var/www/html/>
When one door of happiness closes, another opens, but often we look so long at the closed door that we do not see the one that has been opened for us.
Helen Keller

para los que no encuentren el comando es este:

sudo apt install apache2 git libapache2-mod-php -y

Pregunta, cada vez que reinicio una instancia de EC2, las IP cambian o solo cambia la IP Publica?

Compruebe el nombre de usuario de su instancia
Puede conectarse a la instancia mediante el nombre de usuario de su cuenta de usuario o el nombre de usuario predeterminado de la AMI que utilizó para iniciar la instancia.

Obtener el nombre de usuario de su cuenta de usuario.

Para obtener más información sobre cómo crear una cuenta de usuario, consulte Administración de las cuentas de usuario en su instancia de Amazon Linux.

Obtenga el nombre de usuario predeterminado para la AMI que utilizó para lanzar la instancia:

Para Amazon Linux 2 o la AMI de Amazon Linux, el nombre de usuario es ec2-user.

Para una AMI de CentOS, el nombre de usuario es centos.

Para una AMI de Debian, el nombre de usuario es admin.

Para una AMI de Fedora, el nombre de usuario es ec2-user o fedora.

Para una AMI de RHEL, el nombre de usuario es ec2-user o root.

Para una AMI de SUSE, el nombre de usuario es ec2-user o root.

Para una AMI de Ubuntu, el nombre de usuario es ubuntu.

Si ec2-user y root no funcionan, consulte con el proveedor de la AMI.