loading...
Cover image for Configurar un servidor LAMP en AWS (free tier)

Configurar un servidor LAMP en AWS (free tier)

gbarreradev profile image Gonzalo Barrera ・5 min read

Vamos a aprovecharnos de las características gracias de AWS (aws free tier) para hacer un servidor web LAMP (Linux, Apache, MYSQL, PHP), Donde podremos hospedar nuestro sitio web .

Lo primero es registrarnos en AWS

Como ven, dice claramente que tenemos 12 meses de acceso a la capa gratuita, pero ahora ¿Que es la capa gratuita? veamos su definición acá

1 - Crear la instancia

Para este debemos ir a la consola de administración en EC2 en AWS y buscar donde tenemos que opción para lanzar la instancia ES IMPORTANTE EN ESTE PUNTO YA HABER DEFINIDO LA REGIÓN recuerda escoger la región mas cerca de tu ubicación (esto no se podrá cambiar después)

Acá les recomiendo usar para la capa de tree fier Linux 2 AMI (HVM), para luego seleccionar un Type t2.micro (de la capa free fier)

Luego de esto, solo debemos seleccionar "revew and lanch" y en el próximo paso se incluira los "Secutiry Groups" (Los cuales se pueden modificar si ya han creado alguno antes).

Y finalmente solo debemos iniciar nuestra instancia

Cuando se le solicite un par de claves, (si no las tienes) creelas y descargarlas (no podrá volver a obtenerlas)

Así, en un par de minutos tendremos nuestra instancia ejecutándose en nuestro panel de control ec2

2 - Conexión a la instancia por SSH

Vamos a preparar todo para poder conectarnos a nuestra instancia como si fuera un equipo remoto.

Necesitamos que la instancia ya se encuentre activa y que tenga el DNS ipv4 público o la dirección IP y el nombre de usuario

Para poder conectarnos desde un cliente SSH necesitamos primero tener nuestra llave privada (.pem del punto anterior) a la cual le debemos cambiar los permisos para garantizar su seguridad y que no se pueda ver publicamente

chmod 400 keypar.pem

luego nos conectamos de la siguiente forma

ssh -i "keypar.pem" ec2-user@ec2-198-51-100-1.sa-east-1.compute.amazonaws.com

deberíamos ver una respuesta como la siguiente (a la que debemos responder "yes"

The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established.
ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY.
Are you sure you want to continue connecting (yes/no)?

Y deberíamos obtener lo siguiente

Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.

3 - Configurando el grupo de seguridad para permitir las conexiones necesarias

Estas conexiones son SSH (puerto 22), HTTP (puerto 80) y HTTPS (puerto 443).

En nuestro mismo panel de ec2, busquemos en el menú latera "Security Gruops" y en el listado seleccionamos el correspondiente a nuestra instancia, y revisamos las reglas

Debemos revisar la configuración según sean nuestras intenciones, por ejemplo

SSH se crea por defecto, pero viene abierta para todo el mundo (obviamente que tenga nuestro pem), por lo que en desarrollo nos viene bien, pero quizá en producción deberíamos restringir solo a la IP de nuestra maquina de trabajo.

Para poder disponibilidad un servidor web, necesitamos tener adicionalmente estas dos reglas

HTTP y HTTPS, con puertos 80 y 443 correspondientemente (los agregará por defecto) y en Origen debemos poner "0.0.0.0/0" (sin comillas) lo que permitirá el acceso a cualquier ip

4 - Configurando el servidor LAMP

Luego de conectarse a nuestra instancia mediante SSH, lo primero que debemos hacer es actualizar nuestros paquetes de software

sudo yum update -y

Ahora instalaremos los paquetes necesarios para poder dejar nuestro servidor correctamente funcional

primero actualizaremos nuestra instancia (LAMP MariaDB y PHP de Amazon Linux 2.)

sudo amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2

Luego actualizar nuestra instancia podemos instalar los paquetes restantes (PHP, MariaDB y el servidor web Apache)

sudo yum install -y httpd mariadb-server

Ahora! ponemos en marcha nuestros servidor

sudo systemctl start httpd

Utilizamos systemctl para configurar que el servidor web se ejecute cada vez que se inicie el sistema

sudo systemctl enable httpd

Listo! ahora podemos acceder mediante un navegador, por nuestro DNS Público y veremos la página de prueba!

Ya tenemos nuestro servidor andando! ahora solo nos queda subir nuestro contenido a /var/www/html y poder disfrutarlo :)

Posted on by:

Discussion

pic
Editor guide