:::: MENU ::::

Magento Tutorial | Magento Blog | Learn Magento 2

Cookies Consent Popup

I have installed Elasticsearch in my Linux. 


Follow below Steps.


Run the below command to Install Elasticsearch In locally. 


Download and install the public signing key :


`wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -`


Installing from the APT repositoryedit 


You may need to install the apt-transport-https package on Debian before proceeding :

`sudo apt-get install apt-transport-https`


Save the repository definition to /etc/apt/sources.list.d/elastic-7.x.list :

`echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list`


You can install the Elasticsearch Debian package with :

`sudo apt-get update && sudo apt-get install elasticsearch`


Elasticsearch is not started automatically after installation. How to start and stop Elasticsearch depends on whether your system uses SysV `init` or `systemd` (used by newer distributions).


`ps -p 1`

Running Elasticsearch with SysV `init` : Use the `update-rc.d` command to configure Elasticsearch to start automatically when the system boots up : 


`sudo update-rc.d elasticsearch defaults 95 10`


Elasticsearch can be started and stopped using the `service` command :


`sudo -i service elasticsearch start`

`sudo -i service elasticsearch stop`


Configure Apache and Elasticsearch : Set up a proxy (Set up a proxy for Apache 2.4)


Enable mod_proxy as follows :

`a2enmod proxy_http` or `sudo a2enmod proxy_http`


Use a text editor to open /etc/apache2/sites-available/000-default.conf


Add the following directive at the top of the file :

`Listen 8080`


Add the following at the bottom of the file :

    <VirtualHost *:8080>

        ProxyPass "/" "http://localhost:9200/"

        ProxyPassReverse "/" "http://localhost:9200/"

    </VirtualHost>


Restart Apache :

`service apache2 restart` or `sudo service apache2 restart`


Verify the proxy works by entering the following command :


For example, if your proxy uses port 8080:

`curl -i http://localhost:8080/_cluster/health`


If curl request success then messages display like below : 

    HTTP/1.1 200 OK

    Date: Sun, 23 Aug 2020 06:05:56 GMT

    Server: Apache/2.4.18 (Ubuntu)

    content-type: application/json; charset=UTF-8

    content-length: 389

        {"cluster_name":"elasticsearch","status":"yellow","timed_out":false,"number_of_nodes":1,"number_of_data_nodes":1,"active_primary_shards":1,"active_shards":1,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":1,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":50.0}


Go to `Admin Panel -> Stores -> Settings -> Configuration -> Catalog -> Catalog Search`. Change the settings like below. 


`Search Engine : Search Engine7`

`Elasticsearch Server Hostname : localhost`

`Elasticsearch Server Port : 8080`

`Elasticsearch Index Prefix : magento2`

`Enable Elasticsearch HTTP Auth : No`

`Elasticsearch Server Timeout : 15`

Now save the configuration & run below cache clean command. 

`php bin/magento cache:clean`

Now click on `Test Connection` button.

After successful you will receive `Successful! Test again?` in `Test Connection` button. 

Ref : <a href="https://devdocs.magento.com/guides/v2.4/install-gde/prereq/es-config-apache.html">Dev Docs</a> & <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html">Elasticsearch</a>


0 comments:

Post a Comment