Wordpress en AWS - La mejor combinación
Published: 2023-07-04 21:53:01

Para muchos la palabra AWS piensan que es costoso y dificil de configurar un sitio web basico o piensan que eso es solo para empresas grandes o ñoños de la tecnologia. Hoy en Frontend sin Fronteras junto con AWS Frontend LATAM vamos a enseñarte como con un presupuesto menor a USD 10 puedes tener un sitio web en este caso con el CMS de mas uso en la internet con temas de seguridad de AWS.

Bueno primero que todo dentro de la nube de AWS existe una capa que se llama ****Lightsail**** que te permite crear no solo sitios web si no aplicaciones de bajo costo y preconfigurados. 

Entonces con esta introducción entramos en materia.

###Buscamos dentro de la consola en el buscador la opción de Ligthsail y damos click:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4012bp9qddn64t3i3hzl.png)

Dentro de Ligthsail nos sale la vista y le damos crear instancia:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xr1y92m1egh0583y8wvq.png)


inmediatamente despues seleccionamos la region:


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7sicv49lbdrfh3gz4o2p.png)

seguimos con la plataforma y el plan:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v5cjp1bfw0kxhxivf7oc.png)

Seleccionamos la capacidad lo bueno de ligthsale te da 3 meses para probar antes de cobrar.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nh71kc2jip46932jugus.png)

Con lo anterior le pones el nombre de la instancia, puedes agregar una clave SSH predeterminada o crear una especifica y por ultimo le damos crear instancia.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dicidrjkx9w5q6wrjyd6.png)

Despues de eso Ligthsale comienza  a crear la instancia

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/610x5asaustjq8llscon.png)

Despues de esto crearemos la IP fija que conecta esta instancia. al ser un sitio web básico se configurara un ip estatica y una distribucion CDN, ya si vemos que va consumir mas se crea un balanceador de cargar pero esto sera en otro articulo.

Cuando la estancia ya este en ejecucion y en esta forma damos click en redes:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sqgy6iqfpx9tl031hrpz.png)

le damos crear una ip estatica:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3zctroupd2f08oixl93e.png)


seleccionamos la instancia que queremos conectar a la ip y el nombre:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20ka7mz78hpj46nydvxk.png)

Luego de eso vamos inicio y despues a redes nuevamente pero le damos crear distribucion:

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pswa4otl9ulaz5j3f6kd.png)

Elegimos el origen que es la instancia de wordpress

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/okbyeecx3hmudh2qe0dj.png)

inmediatamente despues nos muestra la ip que tenemos seleccionada

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7tsbu1dpe0cfog7ahcag.png)

despues definimos el comportamiento del cache en este caso optimizado para wordpress

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hh5m28hcx8k7gxlecvqr.png)

seleccionamos 50GB le damos un nombre a la estancia y damos crear distribucion

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9samg8l6v3ndqmgi1v10.png)

Despues de esto nos dice que hay que hacer ajustes y si.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xe3bifme89yrljkylc2a.png)

Despues de esto vamos a hacer los 2 unicos 2 paso que debemos meterle código en la consola de comandos.

para eso vamos a darle abrir la estancia dando clic en la que escogimos

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0fc4g66mw0phdw3r44dv.png)

despues en damos click en conectarse a traves de SSH

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3pioiew9bjodvmpynp71.png)

esperamos que se conecte la instancia y nos debe dar una vista asi

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/gea6q1wxgwcc5uo9japm.png)

despues de esto ponemos este comando en la consola (es el ultimo de la version mas reciente de la imagen).

```bash
sudo vi /bitnami/wordpress/wp-config.php
```

Presionamos la tecla I que es el modo de insertar de vim  y elimina las siguientes lineas de código:

```bash
define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
```

y la reemplazamos por estas

```bash
define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST'] . '/');
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST'] . '/');
if (isset($_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'])
&& $_SERVER['HTTP_CLOUDFRONT_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}
```

Luego precionamos la letra ESC y escribimos :wq! y presionamos enter.

Para temas de SEO ya los dominios van si el www entonces configuramos del www al non-www

escribimos el siguiente comando en la consola:

```bash
sudo vi /opt/bitnami/apache2/conf/vhosts/wordpress-vhost.conf
```

Buscamos la linea que dice # END WordPress y copiamos arriba las siguiente lineas de codigo: (el mismo paso a paso de vim  del cambio anterior)

```bash
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
```

Y reiniciamos el servicio de apache.