No confíes en Oracle Free Tier

Hace unos días descubrí que Oracle ofrecía servidores gratis para siempre, así que decidí probarlo. Todo iba bien, de hecho, pasé a alojar esta web en uno de esos servidores, e incluso escribí un post sobre como hacerlo paso a paso.

Sin embargo, ayer me llegó un correo de que mi instancia había sido eliminada. No dieron ningún previo aviso, simplemente cancelaron mi cuenta de forma repentina. Intenté contactar con soporte técnico, pero no me dijeron nada, que lo sentían pero mi cuenta había sido cancelada. Cuando pregunto que cual es el motivo se limitan a cerrar el chat.

Buscando en internet he visto que esto le ha ocurrido a muchísima gente.

Hago este post para decir que no recomiendo usar Oracle Cloud. De todas formas, y para no tirar a la basura el trabajo que hice escribiendo, dejaré aquí abajo el post borrado que hice sobre como pasé a alojar mi web estática en Oracle Cloud Always Free-elegible servers. Sólo por si a alguien le apetece probar los servidores, teniendo siempre en cuenta que en cualquier momento Oracle puede (y probablemente lo haga) eliminar tus máquinas virtuales en cualquier momento. Quizás en una semana, un mes o un año. No te avisarán y no te darán motivos.

1. Oracle Cloud Free Tier

Registrate aqui. Te pedirán un método de pago válido y sólo cargarán alrededor de 1€ por verificación.

Cuando tengas tu cuenta, ve a instances.

instances

Ahora, selecciona tu compartment, y después pulsa create instance.

create-instance

Vayamos paso a paso:

Escribe el nombre de tu máquina virtual, y deja como está placement y security.

creating-instance-1

En shape, elige lo que quieras, siempre mirando que sea Always Free-eligible.

Ahora mismo, con la serie Ampere ARM, puedes coger hasta 4 núcleos y 24 gigas de RAM, pero para mi web tan sencilla con un núcleo me basta (no hay que ser egoístas).

En cuanto al sistema operativo, a mi me gusta Ubuntu, pero de nuevo, podéis coger cualquiera que sea Always Free-eligible. Si habéis cogido procesadores ARM vuestro SO debe ser compatible.

creating-instance-2

En Networking, crear una nueva virtual cloud network y una subnet.

creating-instance-3

Muy importante, descargar vuestras llaves SSH para acceder al servidor.

creating-instance-4

Por último, escoger el almacenamiento según os convenga. Yo lo dejaré por defecto, tened cuidado porque si os pasáis quizás os empiece a restar saldo, y cuando pase un mes os pueden cobrar.

creating-instance-5

Sólo queda darle al botón create! Es posible que os de un error porque estén llenos de capacidad, si os ocurre, sólo podéis esperar a que se libere algún hueco.

2. Accediendo al servidor

En mi caso accederé al servidor desde windows con Putty.

Primero, hay que convertir la llave privada que hemos descargado para que sea compatible. Para ello, una vez instalado Putty, abrimos Puttygen y realizamos los pasos de la siguiente imagen: (Seleccionar la llave privada, la pública no nos es útil)

puttygen.png

Le ponemos el nombre que queramos y guardamos.

Una vez tengamos nuestra nueva llave privada, ya podemos abrir Putty. Introducimos la ip del servidor, y elegimos el archivo en Connection -> SSH -> Auth -> Credentials.

putty.png

Ya podemos conectarnos! Si habéis escogido un sistema operativo ubuntu, el nombre de usuario sera ubuntu. Una vez dentro, lo primero que recomiendo es actualizar el servidor. Ejecuta sudo apt update && sudo apt upgrade -y && sudo reboot. Esto actualizará todos los paquetes y luego reiniciará el servidor.

Espera un minuto y vuelve a acceder. Ahora, hay que instalar el servidor web. En mi caso, utilizo apache2. Aquí hay una guía de oracle en más profundidad sobre cómo hacerlo. Básicamente, para instalarlo ejecuta sudo apt install apache2.

Una vez con nuestro servidor, hay que abrir el puerto 80 (http). Para ello ejecuta sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT y después sudo netfilter-persistent save. Luego desde el panel de Oracle Cloud, dirigete a tu instancia. Luego, pincha en tu subnet.

opening-ports-1.png

Ahora ve hacia Default Security List.

opening-ports-2.png

Add Ingress Rules.

opening-ports-3.png

Rellenalo como en la siguiente imagen:

opening-ports-4.png

Listo, si todo va bien, ya tienes instalado apache y abierto el puerto. Si escribes en un navegador http://123.123.123.123 (la ip pública de tu máquina virtual) deberías ver lo siguiente:

success.png

3. Dominio

No sólo he cancelado mi contrato de hosting, si no también el de dominio. El que tenía antes era demasiado largo, y el actual lo he comprado en Google Domains.

4. Cloudflare

Una vez con mi dominio nuevo, lo he agregado a mi cuenta de cloudflare. Ellos se ocupan del SSL, de forzar el HTTPS, entre otras muchas cosas.

Para ello debes registrarte y luego cambiar los servidores DNS de tu dominio a los de cloudflare. Dependiendo de dónde hayas comprado el dominio se hará de una forma u otra. Como esto es un proceso que depende mucho de tu proveedor, te recomiendo buscar información detallada sobre tu caso.

Cuando tengas tu dominio en cloudflare, ahora toca redirigir el tráfico del dominio al servidor. Para ello, ve al apartado DNS -> Records. Añade un registro DNS de tipo A que apunte a la dirección IP de tu máquina.

cloudflare-1.png

Si todo ha ido bien, ya está todo listo! Máquina virtual, servidor web, dominio, SSL, DNS… 😀 Sólo falta enviar los archivos de tu página al servidor, por ejemplo con SFTP, con git…

Hasta pronto!