Documentación
Documentación » VPS » Instalar Elasticsearch en tu Hosting o VPS

Instalar Elasticsearch en tu Hosting o VPS

Acceso rápido a las secciones de este documento

0 - ¿Qué es Elasticsearch?

Elasticsearch

Elasticsearch es un motor para realizar búsquedas y se caracteriza por su gran rendimiento. Puede integrarse en múltiples entornos y es epecialmente usado en páginas web, por ejemplo tiendas online diseñadas con Prestashop o Magento.

Se instala a nivel de sistema operativo y tiene a Java como dependencia. Adicionalmente requiere permisos de ejecución en el directorio /tmp del sistema operativo. Esto implica una alta complejidad para integrarlo de forma segura en un entorno de alojamiento compartido.

En definitiva, es necesario instalar Elasticsearch en un servidor VPS. Pero no te asustes! Es muy fácil de instalar y cuesta menos de 8 €/mes
Además, NO tienes que cambiar tu web de hosting. Simplemente tener un nuevo VPS para correr el motor Elasticsearch.

1 - Como instalar Elasticsearch en un VPS con Debian 11

Para poder instalar Elasticsearch, tu VPS debe tener 2 GB de RAM como mínimo y serán necesarios más recursos dependiendo de la cantidad de datos que se introduzcan en su base de datos así como la cantidad de búsquedas y por tanto carga de trabajo que tenga que procesar.

Cuando ya tengas tu VPS contratado, debes instalarlo con el sistema operativo Debian 11. Este es el sistema operativo por defecto por lo que habrás recibido un mail con los datos de conexión, esto es la IP dedicada de tu VPS y la contraseña de acceso root.

Conecta por SSH a tu servidor y ejecuta los siguientes comandos:

apt update; apt dist-upgrade -y; apt install gnupg curl nano wget sudo apt-transport-https -y;
timedatectl set-timezone Europe/Madrid
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -; apt update;

Si quieres instalar Elasticsearch v7 ejecuta este comando:

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list; apt install elasticsearch -y;

En cambio, si quieres instalar Elasticsearch v8 ejecuta este comando:

echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-8.x.list; apt install elasticsearch -y;

Por último, edita el fichero /etc/elasticsearch/elasticsearch.yml y define el valor de la variable xpack.security.enabled a false

nano /etc/elasticsearch/elasticsearch.yml
xpack.security.enabled: false

Finalmente, arrancamos el servicio y los configuramos para que arranque automáticamente cuando se reinicia el VPS.

systemctl restart elasticsearch
systemctl enable elasticsearch

Comprueba que el servicio está levantado correctamente:

systemctl status elasticsearch

Y que responde correctamente a las peticiones:

curl -X GET localhost:9200

Listo, ya tenemos Elasticsearch instalado!

2 - Proteger el servidor Elasticsearch

Para evitar que cualquiera pueda conectar a nuestro servidor Elasticsearch, vamos a protegerlo con unas reglas de firewall:

Instalamos el firewall:

apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable

Permitimos para que solo se pueda conectar al puerto 9200 desde la IP de nuestro hosting

Sustituye el valor x.x.x.x por el de la IP del hosting donde tienes alojada tu web.

ufw allow from x.x.x.x to any port 9200

Finalmente activamos el firewall:

ufw enable
ufw status numbered

3- ¿Tienes alguna duda?

Contacta con nuestro soporte técnico, estaremos encatandos de ayudarte.