
В тази статия можете да намерите инструкции за инсталиране и използване на Elasticsearch версия 7 (софтуер за търсене/търсачка) чрез WebApps платформата. Версия 7 се използва от популярни приложения като Magento. За някои хостинг планове, Elasticsearch може да се инсталира директно през раздел "App Installer" на Контролния панел. Ако не го откривате там, тогава можете да го инсталирате ръчно, следвайки инструкциите от тази статия.
Важно: Elasticsearch използва много ресурси, така че дори и да го инсталирате ръчно, той може да не функционира правилно с някои планове поради недостиг на налични ресурси.
Подготовка
Преди да инсталирате Elasticsearch на Вашия акаунт, трябва да проверите и настроите акаунта си за следните неща:
- Трябва да имате раздел "Уеб приложения" във Вашия хостинг Контролен панел. Ако нямате раздел "Уеб приложения" във Вашия Контролен панел, тогава инструкциите в тази статия не са валидни за Вашия акаунт и сървър. Можете да ни пишете за повече информация и съдействие.
- "SSH достъп" и "Мрежови инструменти" трябва да са активирани за Вашия акаунт през раздел "SSH Достъп" на Контролния панел.
Инсталиране
За да инсталирате Elasticsearch, се свържете към Вашия акаунт чрез SSH и следвайте тези стъпки:
- Създайте директорията, в която желаете да инсталирате файловете на Elasticsearch (напр. "~/private/elastic") и влезте в тази директория, като използвате следните команди:
mkdir /home/$USER/private/elastic
cd /home/$USER/private/elastic - Изтеглете на Вашия акаунт най-актуалния Linux x86_64 пакет за версия 7 на Elasticsearch от официалната страница. В момента на писане на тази статия, последната версия е 7.17.21. Линкът за изтегляне на тази версия е https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.21-linux-x86_64.tar.gz, така че можете да я изтеглите и разархивирате във Вашата директория за Elasticsearch с тези команди:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.21-linux-x86_64.tar.gz
tar zxf elasticsearch-7.17.21-linux-x86_64.tar.gz --strip-components=1
rm elasticsearch-7.17.21-linux-x86_64.tar.gz
Важно: Уверете се, че използвате линка за последната версия на Elasticsearch за Linux в горните команди.
- Създайте файл, който да стартира Elasticsearch приложението, при стартиране на WebApps проекта и му добавете права за изпълнение чрез следните команди:
cat <<ELASTIC_START > /home/$USER/private/elastic/start.sh
#!/bin/bash
cd /home/$USER/private/elastic
export ES_JAVA_OPTS="-Xms128m -Xmx128m"
exec ./bin/elasticsearch
ELASTIC_START
chmod +x /home/$USER/private/elastic/start.sh
- Създайте WebApps проект с име "elastic" за Elasticsearch приложението, използвайки следната команда:
sureapp project create \
--engine "custom" \
--engine-version "-" \
--release-dir "/home/$USER/private/elastic/" \
--start-cmd "sh /home/$USER/private/elastic/start.sh" \
elastic - Създайте втори WebApps проект с име "portholder" със следната команда, който ще запази втори (допълнителен) порт за Elasticsearch приложението, което ще добавим по-късно в неговите настройки:
sureapp project create \
--engine "custom" \
--engine-version "-" \
--release-dir "/home/$USER/private/" \
portholder - Изберете страницата, на която да е достъпно Elasticsearch приложението чрез раздел "Уеб приложения" на хостинг Контролния панел. Можете да направите това, като кликнете на бутона с иконка на молив до проекта "elastic" и изберете домейна и поддомейна чрез съответните падащи менюта в показалия се екран.
- Последната стъпка от подготовката на Elasticsearch приложението е да се добавят в настройките му двата порта на създадените WebApps проекти. Можете да направите това с изпълнение на следните команди:
ELASTIC_PORT=$(sureapp project list | grep -E "/home/$USER/private/elastic"| awk '{print $NF}')
TRANSPORT_PORT=$(sureapp project list | grep -E 'portholder +'| awk '{print $NF}')
sed -i "s~^#http.port: 9200~http.port: $ELASTIC_PORT\ntransport.port: $TRANSPORT_PORT-$TRANSPORT_PORT~g" /home/$USER/private/elastic/config/elasticsearch.yml
Ако желаете да направите тези промени ръчно, ще трябва да видите портовете на "elastic" и "portholder" проектите в раздел "Уеб приложения" на хостинг Контролния панел. След това заместете следния ред с код във файла "config/elasticsearch.yml" на Elasticsearch проекта (напр. "~/private/elastic/config/elasticsearch.yml"):
#http.port: 9200
със следните два реда код, като в тях заместите "ELASTIC_PORT" с порта на "elastic" проекта, а "TRANSPORT_PORT" с порта на "portholder" проекта:
http.port: ELASTIC_PORT
transport.port: TRANSPORT_PORT-TRANSPORT_PORT
В дадения пример "elastic" проекта е с порт 10095, а порта на "portholder" проекта е 8822, така че добавените два реда код ще изглеждат така:
http.port: 10095
transport.port: 8822-8822
Можете да направите тези ръчни промени във файла чрез редактор по Ваш избор (напр. раздел "Файлове" на хостинг Контролния панел).
- Стартирайте "elastic" проекта чрез следната SSH команда или чрез бутона за стартиране до него в раздел "Уеб приложения" на хостинг Контролния панел.
sureapp service manage --enable elastic
Изчакайте няколко минути, за да се стратира приложението. След това можете да проверите дали Elasticsearch работи правилно, отваряйки страницата, която сте избрали в стъпка №6. Можете да използвате и следната "curl" команда, за да достъпите проекта директно на порта на Elasticsearch приложението (напр. 10095):
curl localhost:10095
Трябва да видите подобен на следния резултат:
{
"name" : "your_server.com",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "kOp_Sfh1TLWtMqodS3J97A",
"version" : {
"number" : "7.17.21",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "d38e4b028f4a9784bb74de339ac1b877e2dbea6f",
"build_date" : "2024-04-26T04:36:26.745220156Z",
"build_snapshot" : false,
"lucene_version" : "8.11.3",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}