Operations 14 min read

Deploy Elastic Workplace Search with Vagrant: Step‑by‑Step Guide

This guide walks you through installing Elastic Workplace Search and Elastic Enterprise Search on a CentOS 8 VM using Vagrant, configuring data sources such as GitHub and Atlassian products, setting up user groups and weights, and verifying search results, all within a day.

DevOps Coach
DevOps Coach
DevOps Coach
Deploy Elastic Workplace Search with Vagrant: Step‑by‑Step Guide

Overview

Elastic Workplace Search provides a unified search layer for corporate documents across many data sources (OneDrive, SharePoint, ServiceNow, Box, Dropbox, GitHub, Google Drive, JIRA, Confluence, Salesforce, Zendesk, etc.) and leverages Elasticsearch for natural‑language and keyword search.

Test Environment

CentOS 8

JDK 11

Elasticsearch 7.6.1

Kibana 7.6.1

Elastic Workplace Search 7.6.1

Provisioning with Vagrant

All installation packages and configuration files are placed under /vagrant. The source repository is:

https://github.com/martinliu/elastic-labs

Start the VM: vagrant up Provisioning script (executed via vagrant provision)

echo I am provisioning a Elasticsearch Server...
date > /etc/vagrant_provisioned_at
sudo swapoff -a
sudo sysctl -w vm.max_map_count=262144
sysctl -p
sudo sh -c "echo 'elasticsearch  -  nofile  65535' >> /etc/security/limits.conf"
sudo rpm -ivh /vagrant/rpm/elasticsearch-7.6.1-x86_64.rpm
sudo /usr/share/elasticsearch/bin/elasticsearch-certutil cert -out /etc/elasticsearch/elastic-certificates.p12 -pass ""
sudo chmod 660 /etc/elasticsearch/elastic-certificates.p12
sudo cp /vagrant/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml
sudo systemctl daemon-reload
sudo systemctl start elasticsearch.service
sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto -b

After the VM starts, copy the generated passwords for built‑in users (elastic, kibana, logstash_system, etc.).

Install Elastic Enterprise Search (Workplace Search)

Enterprise Search requires JDK 8 or 11. Install Oracle JDK 11:

sudo rpm -ivh /vagrant/rpm/jdk-11.0.6_linux-x64_bin.rpm

Copy and extract the Enterprise Search package:

sudo cp /vagrant/rpm/enterprise-search-7.6.0.tar.gz.tar /opt
cd /opt
sudo tar zxvf enterprise-search-7.6.0.tar.gz.tar

Configuration file enterprise-search.yml (example):

elasticsearch.username: elastic
elasticsearch.password: eZhp0h2ZTPKchlxxwwex
elasticsearch.host: http://192.168.50.10:9200
allow_es_settings_modification: true
ent_search.auth.source: elasticsearch-native
ent_search.external_url: http://192.168.50.10:3002
ent_search.listen_host: 0.0.0.0
ent_search.listen_port: 3002

Deploy the file and start the service:

sudo cp /vagrant/enterprise-search/enterprise-search.yml /opt/enterprise-search-7.6.0/config/enterprise-search.yml
sudo ENT_SEARCH_DEFAULT_PASSWORD=martin1demo /opt/enterprise-search-7.6.0/bin/enterprise-search

The startup log prints the default credentials (username: enterprise_search, password as set) and an encryption key for secret management.

Data Source Configuration

Supported sources include Confluence Cloud/Server, Dropbox, GitHub, Google Drive, JIRA Cloud/Server, OneDrive, Salesforce, ServiceNow, SharePoint Online, Zendesk, and custom APIs. Sources can be organization‑wide or private per user.

GitHub Integration

Create an OAuth App in GitHub, record the client ID and client secret, then add a GitHub source in Workplace Search using those credentials. Select the organizations to index; all repository issues and pull requests become searchable.

Atlassian (Confluence & JIRA) Integration

Configure connectors for Confluence and JIRA (cloud or on‑premise) following Elastic documentation. JIRA item types indexed include Task, Sub‑task, Story, Project, and Other. Incremental indexing runs every two hours by default.

User Group and Relevance Weighting

Define user groups (e.g., “Sales & Marketing” and “Product Development & Operations”). Assign source relevance weights per group. Example: increase JIRA weight to 5 for the sales group and boost GitHub weight for the development group. Enable the option allowing users to add personal data sources.

Search Verification

Search examples illustrate weighting effects. A sales user searching for elasticsearch sees JIRA results ranked higher than GitHub. A developer searching for pull requests from last week receives the most recent GitHub PRs first.

Test Summary

The guide demonstrates that Elastic Workplace Search can be deployed, configured, and exercised within a day, providing a unified search layer for internal and SaaS data sources. Custom API development can extend the platform to proprietary repositories.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

ElasticsearchDevOpsVagrantWorkplace Search
DevOps Coach
Written by

DevOps Coach

Master DevOps precisely and progressively.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.