8.9 KiB
Instalando CONSUL en un VPS de Digital Ocean
- Instalar ANSIBLE en la máquina local
Para poder controlar la instalación de CONSUL en el servidor, es necesario instalar ANSIBLE en su máquina local. El método depende del tipo de sistema operativo que esté utilizando.
Mac OSX
Abra una consola de terminal y escriba los siguientes comandos:
sudo easy_install pip
sudo pip install ansible
Linux
Debe instalar ANSIBLE utilizando su gestor de paquetes. Por ejemplo, si está usando Ubuntu, estos son los comandos para instalarlo:
sudo apt-get update
sudo apt-get install software-properties-common
sudo apt-add-repository --yes --update ppa:ansible/ansible
sudo apt-get install ansible
Windows
Para poder usar ANSIBLE, primero debe instalar Cygwin, que es un entorno UNIX para Windows. Puede[descargar el software aquí] (http://cygwin.com/setup-x86_64.exe). Una vez descargado, abra una ventana de consola y escriba el siguiente comando (es todo una larga línea):
setup-x86_64.exe -q --packages=binutils,curl,cygwin32-gcc-g++,gcc-g++,git,gmp,libffi-devel,libgmp-devel,make,nano,openssh,openssl-devel,python-crypto,python-paramiko,python2,python2-devel,python2-openssl,python2-pip,python2-setuptools
Una vez que finalice el instalador, tendrá un acceso directo en el escritorio que puede utilizar para abrir un terminal Cygwin. En esta terminal, escriba:
pip2 install ansible
- Generación de claves SSH
En la ventana del terminal, escriba:
ssh-keygen
Cuando se le pida el archivo en el que guardar la clave, sólo tiene que pulsar ENTER para dejar el valor predeterminado. Cuando se le pida una frase de contraseña, pulse ENTER de nuevo para dejarla vacía. Al final debería ver un mensaje como este:
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
Tome nota de la ubicación del archivo id_rsa.pub, porque necesitará el contenido de este archivo más adelante.
- Comprar el servidor de Digital Ocean
Primero necesita registrarse y proporcionar su información personal.
Una vez que haya iniciado sesión, deberá crear un Droplet (ese es el nombre que Digital Ocean utiliza para un Servidor Virtual). Haga clic en el botón verde "Crear" en la parte superior de la página y seleccione "Droplets":
En la página siguiente, debe seleccionar Ubuntu (debería estar preseleccionado) y cambiar la versión de 18.04 x 64 a 16.04 x 64.
En la sección "Elegir un tamaño" seleccione la opción $80/mo 16GB/6CPUs si va a ser un servidor de producción. Si está configurando un sistema de prueba con unos pocos usuarios, la opción más barata de $5/mes puede ser suficiente.
Deje el resto de las opciones con sus valores por defecto hasta "Elegir un centro de datos". Seleccione el que esté geográficamente más cerca de sus usuarios. Si se encuentra en la UE, seleccione los centros de datos de Frankfurt o Amsterdam.
En la sección "Añadir claves SSH" pulse el botón "Nueva clave SSH".
En la ventana emergente que aparece es necesario copiar y pegar la clave pública que generamos en el paso anterior. Para ver el contenido de esta clave en la ventana del terminal, escriba:
cat ~/.ssh/id_rsa.pub
Debería ver un texto como este:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDy/BXU0OsK8KLLXpd7tVnqDU+d4ZS2RHQmH+hv0BFFdP6PmUbKdBDigRqG6W3QBexB2DpVcb/bmHlfhzDlIHJn/oki+SmUYLSWWTWuSeF/1N7kWf9Ebisk6hiBkh5+i0oIJYvAUsNm9wCayQ+i3U3NjuB25HbgtyjR3jDPIhmg1xv0KZ8yeVcU+WJth0pIvwq+t4vlZbwhm/t2ah8O7hWnbaGV/MZUcj0/wFuiad98yk2MLGciV6XIIq+MMIEWjrrt933wAgzEB8vgn9acrDloJNvqx25uNMpDbmoNXJ8+/P3UDkp465jmejVd/6bRaObXplu2zTv9wDO48ZpsaACP bprieto@MacBook-Pro.local
Seleccione y copie todo el texto y péguelo en la ventana emergente de la siguiente manera:
Tenga en cuenta que habrá dos pequeños checks verdes. Si no están ahí, vuelva a intentar copiar el texto porque probablemente omitió algo. Dé a su clave un nombre significativo, como CONSUL_key y haga clic en el botón "Add SSH Key" (Añadir clave SSH).
Al utilizar una clave SSH en lugar de una combinación de usuario/contraseña para acceder a su servidor, será mucho más seguro, ya que sólo alguien con la clave SSH puede acceder al servidor.
Ahora en la sección "Choose a hostname" cambie el valor por defecto por algo más significativo, como consulserver por ejemplo.
En la parte inferior de la página verás un resumen de tus opciones. Compruebe que todo está bien y haga clic en el botón grande verde "Crear".
Tardará unos minutos, y al final tendrá un brillante nuevo servidor. Se verá así en la página de Digital Ocean:
- Configuración del nuevo servidor
Para entrar en su nuevo servidor, copie la dirección IP del servidor y en la ventana de su terminal escriba:
ssh root@your-copied-ip-address
Verá un mensaje de bienvenida y una indicación como ésta:
root@consulserver:~#
Lo primero que debe hacer es actualizar el servidor, escribiendo estos comandos:
apt update
apt upgrade -y
Si el proceso de actualización le pregunta algo, simplemente acepte la opción predeterminada.
En este momento estamos conectados con el usuario root, lo cual es una mala práctica que podría comprometer la seguridad del servidor. Así que necesitamos crear un nuevo usuario para administrar nuestro servidor:
adduser jupiter
Estoy usando jupiter como nombre de usuario, debería cambiar eso por lo que sea que tenga sentido para usted. Introduzca una contraseña cuando se le pida y deje vacías el resto de las opciones.
Démosle a este usuario derechos de superadministración:
usermod -aG sudo jupiter
Recuerde cambiar jupiter por cualquier nombre de usuario que haya elegido en el paso anterior.
Ahora tenemos que dar las claves del servidor al nuevo usuario. No cierre la ventana de la terminal del servidor, porque puede bloquearse si hay un error.
Abra otra ventana de terminal local (no en el servidor) y escriba:
ssh-copy-id jupiter@your-copied-ip-address
Introduzca su nueva contraseña de usuario cuando se le solicite. Recuerde cambiar "jupiter" para su nombre de usuario y "su dirección IP copiada" para la dirección IP de su servidor.
Compruebe que su usuario puede iniciar sesión escribiendo:
ssh jupiter@your-copied-ip-address
Debería ver la página de bienvenida del servidor y un mensaje como este:
jupiter@consulserver:~$
Note que el nombre de usuario en el prompt no es "root", sino su nombre de usuario. Así que todo está bien y ahora podemos bloquear la cuenta root del acceso externo y también dejar de permitir el acceso con contraseña para que sólo las personas con claves SSH puedan iniciar sesión.
Escriba el siguiente comando para editar el archivo de configuración SSH del servidor:
sudo nano /etc/ssh/sshd_config
Busque la línea "PasswordAuthentication yes" y cámbiela por "PasswordAuthentication no". Escriba Control-K para cerrar el editor nano y escriba:
sudo service ssh restart
Ya casi estamos, sólo tenemos que instalar algún software necesario para ANSIBLE escribiendo:
sudo apt-get -y install python-simplejson
- Ejecutar el instalador
En el terminal de su máquina local, escriba:
git clone https://github.com/consul/installer
cd installer
cp hosts.example hosts
Edite el archivo de hosts para introducir la dirección IP de su servidor escribiendo "nano hosts" y cambiando "remote-server-ip-address" por la dirección IP de su servidor. Escriba Control-k para guardar y cerrar el editor.
Ahora por fin estamos listos para iniciar el instalador. Escriba:
sudo ansible-playbook -v consul.yml -i hosts
Deberías ver algunos mensajes de ANSIBLE mientras se ejecuta la instalación de CONSUL. Mientras puede tomar un café..., esto puede tardar un rato.
Cuando todo haya terminado, vaya a su navegador y escriba su dirección IP en la dirección URL. ¡Deberías ver tu nuevo sitio web CONSUL en funcionamiento! 🎉 Hay un usuario de administración predeterminado con nombre de usuario admin@consul.dev y contraseña 12345678, por lo que sólo tiene que iniciar sesión y empezar a trabajar con CONSUL.








