Cuando estás comenzando como emprendedor, es conocido que los recursos monetarios son escasos y además los controlamos, una buena idea es utilizar servicios de web gratis pero tienen muchas limitaciones, adicional que es mejor construirnos nuestra propia página web que podremos escalar después si el negocio crece. Hoy comienzo una serie de artículos donde aprenderemos a construir un sitio “gratuito” pero muy robusto sobre la plataforma de Amazon AWS, “gratuito”, lo pongo entre comillas porque no tiene ningún costo mientras tengas bajo tráfico, mas mientras éste comience a aumentar (que es lo que más queremos) ellos nos avisarán y nos permitirán escalar el servidor de acuerdo al crecimiento de nuestra startup. En estos artículos se explicarán los siguientes temas:
Creación de servidor web en Ubuntu sobre AWS. Instalación y configuración del CMS Wordpress.
Así que comencemos…
Al final de los artículos terminaremos con un ejemplo, mi sitio nathzg que será mi página para poner los trabajos que hago y mi CV.
Lo primero que tenemos que hacer es conectarnos al siguiente link. Presionamos en el botón “Sign Up”, en la esquina superior derecha. Llenamos los datos completos y seguimos el proceso. Una vez terminado estaremos en nuestra consola de AWS
Una vez en la consola de AWS, en el menú superior, presionamos en la pestaña “Services” y buscamos EC2 (servicio de Amazon que nos permite crear instancias de servidores). Una vez cargue, presionamos el botón de Launch Instance. Esta nos mostrará una serie de servidores con especificaciones desde las más básicas hasta las top del servicio en diferentes sabores de sistemas operativos. Para nuestro artículo escogimos un servidor en Ubuntu 16.04 LTS. Este Linux nos permite la elección de un servidor gratis y es la que nos recomiendan a penas entramos, así que nos aseguramos de elegirla y seguimos abajo en el botón que dice “Next: Configure Instance Details”. En esta sección veremos todos los detalles de nuestro servidor. Veamos para que son cada uno: Number of instances: Con este podremos elegir si queremos crear más de un servidor a la vez, con las mismas especificaciones, en nuestro caso lo dejamos en 1, Purchasing option: aquí decidimos el precio máximo que estás dispuesto a pagar por instancias, nosotros lo dejamos como está, Network: Son las interfaces de red de la nube virtual de Amazon, con las que contará nuestro servidor, la dejamos en sus valores por defecto, Subnet: en caso de necesitar una, se debe configurar aquí, nosotros no lo necesitaremos, Auto-assign Public IP: esto es muy importante, tenemos que asegurarnos que está habilitado, esto nos dará un IP que nos permitirá la configuración del dominio, ya sea utilizando a Amazon o a cualquier empresa externa (goDaddy, enom, pananames, etc), IAM role: esto nos sirve a los desarrolladores de aplicaciones para dar permisos a nuestras API’s manejadas en servidores de EC2, lo dejamos así en none. Por ahora estos son los detalles más importantes y podemos seguir presionando el botón de “Next: Add Storage”
En este paso podremos agregar o quitar almacenamiento, todo es en discos SSD y puede ser al menos 4GB, por lo pronto lo dejamos así en 8GB y seguimos presionando el botón “Next: Add Tags”.
Como el paso dice, estos solamente son tags para identificar servidores y volúmenes, para nosotros es irrelevante así que seguimos presionando el botón “Next: Configure Security Group”
Lo importante con el Security Group es que obtenemos permisos, por ejemplo: para conexión por ssh al servidor, esto lo vamos a necesitar, por eso lo dejamos en su default y que esté marcado el ssh para conexión remota. El último paso es presionar el botón para la creación de la instancia o servidor “Review and Launch”.
Al presionar Launch, se nos pedirá crear una llave que nos servirá para el ingreso posterior al servidor. y seguir la configuración del mismo a través de comando, por esto debemos ponerle un nombre y descargamos el archivo que contiene la credencial (nombre.pem.txt), eso lo guardamos bien para su posterior uso. Una vez creado, procedemos a terminar el proceso de creación y presionamos en “Launch Instance” Ya con esto comienza la creación del servidor y tenemos que esperar a que los procesos de Amazon terminen para poder seguir la configuración.
La conexión al servidor va a depender de qué Sistema Operativo tengamos en nuestra máquina personal, así que veamos los diferentes casos:
Abrimos un terminal (Aplicaciones > Utilidades > terminal), nos colocamos en la carpeta donde está el archivo.pem.txt que descargamos en la sección anterior y lo re-nombramos utilizando el comando de mover de shell:
mv Archivo.pem.txt Archivo.pem
Después vamos a la consola de EC2 en AWS y buscamos en el panel derecho la sección “Instances”, una vez allí presionamos en el botón “Connect”
Nos saldrá un menú que nos dirá el comando a utilizar para nuestra conexión (debemos poner la ruta del archivo pem)
ssh -i “Archivo.pem” ubuntu@nombre_publico_del_server.amazon.com
Primero le cambiamos los permisos al archivo con el comando:
chmod 400 Archivo.pem
Ahora ponemos el comando en el terminal que tenemos abierto en la ruta del archivo pem:
Escribimos ‘yes’ y presionamos enter
Y listo, estamos conectados.
Para la conexión en windows con Putty pueden seguir este manual - link
Una vez ya tenemos conexión con nuestro servidor procedemos a realizar la instalación del web server donde se alojará nuestra página.
Nos conectamos al servidor Ejecutamos los siguientes comandos y confirma la instalación:
$sudo apt-get update $sudo apt-get install apache2
Reiniciamos el servicio después de la instalación con el comando: $sudo systemctl status apache2
En AWS vamos a editar los premisos de grupos: en la consola EC2 buscamos en el menú izquierdo “Security Groups” Buscamos el Security Group que estamos utilizando con el servidor y agregamos una regla para el puerto 80. Ahora en nuestro manejador de dominio, apuntamos la entrada http al IP público del servidor. Eso lo encontramos en el menú “Instances” y vemos los detalles: Una vez configurado el dominio y con el apache instalado (Esta instalación la veremos en el próximo artículo), accedemos al mismo https://dominio.com Con eso terminamos la configuración inicial de nuestro servidor web sobre AWS
Una vez el servidor esté configurado y funcionando, podremos proceder con la instalación de nuestro CMS Wordpress.