Theme editor

Installing Elasticsearch 8 for XenForo Enhanced Search Integration

Aior

Administrator
Staff member
Joined
Apr 2, 2023
Messages
87
Reaction score
2
Points
8
Age
39
Location
Turkey
Website
aior.com
Thread owner
XenForo Enhanced Search is a powerful extension that leverages Elasticsearch to deliver faster and more accurate search results. This guide walks you through the steps of installing and configuring Elasticsearch 8 on a Linux server for use with XenForo Enhanced Search.

System Requirements

  • A Linux server (CentOS, AlmaLinux, or CloudLinux recommended)
  • Root or sudo access
  • XenForo 2.2 or later with Enhanced Search add-on
  • Java 11 (OpenJDK)
  • 2GB RAM minimum (4GB recommended)

Step 1: Install Java


Elasticsearch 8 requires Java 11 or newer.

Code:
sudo dnf install -y java-11-openjdk-devel

Verify the installation:

Code:
java -version

Step 2: Add Elasticsearch GPG Key and Repository


Import the GPG key:

Code:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Create the repository configuration file:

Code:
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

Step 3: Install Elasticsearch


Install the package:

Code:
sudo dnf install -y elasticsearch

IMPORTANT!!!

After installation, the system will generate a password for the built-in elastic user and configure HTTPS and user authentication by default. Save the generated password.

If you missed the password, you can reset it later with:

1746877479076.webp

Code:
/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

Step 4: Enable and Start Elasticsearch


Enable Elasticsearch to start on boot:

Code:
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

Verify it is running:

Code:
sudo systemctl status elasticsearch

Code:
curl -u elastic:'yourpassword' https://localhost:9200 --insecure

If successful, it will return a JSON response with cluster details.

Step 6: Configure XenForo Enhanced Search


In your XenForo Admin Control Panel:
  1. Go to Setup > Options > Search Options
  2. Click Configure Enhanced Search
Fill in the fields as follows:

1746877613171.webp

Click Test settings to verify the connection. If successful, save the settings.



Step 7: Rebuild Search Index


Go to:

Tools > Rebuild Caches > Rebuild Search Index


This process will populate your Elasticsearch index with your forum content.

1746877705547.webp

Thats all!
 
Thread owner
Do not forget to block port 9200 for not witelisted ip's and add your ip and your sites and servers ip to whitelist to secure your site.
 

Featured content

Back
Top