В тази статия можете да намерите инструкции за инсталиране и използване на Elasticsearch версия 7 (софтуер за търсене/търсачка) чрез WebApps платформата. Версия 7 се използва от популярни приложения като Magento. За някои хостинг планове, Elasticsearch може да се инсталира директно през раздел "App Installer" на Контролния панел. Ако не го откривате в раздел "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"
}