Installing on Ubuntu

Prerequisites

  1. Install OpenJDK 17 by running the following command:
    sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update -q && sudo apt install -y openjdk-17-jdk

  2. Verify the java installation by running the following command:
    java -version

  3. Install wget using the following command:
    sudo apt-get update
    sudo apt-get install wget

  4. Install the following command for Dynamic Auto Collection crawler:
    sudo apt-get install libxkbcommon0 libgbm1

  5. Set the map count within the file /etc/sysctl.conf by adding the following line:
    vm.max_map_count=262144

  6. Increase ulimit value and validate system settings

  • To change the file descriptor setting, edit the file /etc/sysctl.conf.
    Add line fs.file-max= 100000 to it.

  • To apply the changes :
    sysctl -p

  • To change the ulimit setting, edit the file /etc/security/limits.conf and set the hard and soft limits:
    * soft nofile 100000
    * hard nofile 100000

  • After that enable the pam_limits as followings:
    Edit the file /etc/pam.d/common-session and add the following line:
    session required pam_limits.so

  • Reboot the server for the changes to take effect:
    reboot
  • Check the ulimit settings by running the following commands:
    ulimit -a
    ulimit -Sn # Check soft limit
    ulimit -Hn # Check hard limit

SearchBlox Installation

  1. Please login as root using sudo su if you are not the root user or install using sudo as below.

  2. Create a SearchBlox user by giving the necessary details
    sudo adduser searchblox

  3. SearchBlox has to be installed in /opt folder, so change directory to /opt
    cd /opt

  4. Download SearchBlox debian package
    sudo wget https://d2fco3ozzrfhhd.cloudfront.net/v10.7.0.8/searchblox_10.7.0.8-0_all.deb

  5. Install the debian package
    sudo dpkg -i searchblox_10.7.0.8-0_all.deb

  6. Change permission for few folders by running the following commands:
    sudo chown -R searchblox:searchblox /opt/searchblox
    sudo chmod -R 755 /opt/searchblox/bin
    sudo chmod -R 755 /opt/searchblox/opensearch/
    sudo chmod -R 755 /opt/searchblox/logs
    sudo chmod -R 755 /opt/searchblox/connectors

  7. To start SearchBlox service:
    systemctl start searchblox

  8. To stop SearchBlox service:
    systemctl stop searchblox

  9. To verify the status of the SearchBlox service:
    systemctl status searchblox

Verify Installation

Once you start the SearchBlox service, wait for 30 - 60 seconds then go to https://localhost:8443/console to validate.

  • You can also verify if SearchBlox has started successfully by viewing the status.log file in the /opt/searchblox/webapps/ROOT/logs folder.

Please confirm the message "SearchBlox Started" is shown in the log. In case of any errors, this log will provide additional information for troubleshooting.

🚧

SearchBlox Admin Console Access using IP Address or Domain Name

Change SearchBlox Server Port

SearchBlox Server runs on port 8443 by default.

  • For secure ports refer Secure Ports used by SearchBlox section on Requirements.

You can change the port by following the steps below:

  1. Stop SearchBlox service

  2. Edit the file /opt/searchblox/start.d/https.ini and add the below line to set the required port number:
    jetty.ssl.port=443

  3. Save the file https.ini

  4. Start SearchBlox service

🚧

Port Update

Fix the permission denied error while using searchblox service on less than ports 1024, run the below commands:
Check the Java Path

readlink -f $(which java)

Set the capability to bind low ports for non-root searchblox user.

setcap cap_net_bind_service+ep <javapath>

Uninstall

  1. First Stop the SearchBlox, by running the command:
    systemctl stop searchblox

  2. Run the following command to uninstall or remove SearchBlox:
    apt-get remove searchblox

  3. To remove the user, run the command;
    userdel searchblox

  4. Reboot the server:
    reboot

Note: For clean SearchBlox uninstallation, it is required to remove searchblox directory i.e., /opt/searchblox manually by running the following command:
rm -rf /opt/searchblox

Disk Encryption

🚧

Additional Disk is required for disk encryption

  1. Installation of cryptsetup for Ubuntu:
    sudo apt-get install cryptsetup

  2. LUKS Format disk
    Note: while formatting the disk we have to give some password
    cryptsetup luksFormat /dev/sdb

WARNING!
========
This will overwrite data on /dev/sdb irrevocably.
Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
  1. Luks open
    Note: We have to use the password created earlier while formatting the disk.
    cryptsetup luksOpen /dev/sda data
Enter passphrase for /dev/sdb:
  1. Create a filesystem
    mkfs -t ext4 /dev/mapper/data
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 52428288 4k blocks and 13107200 inodes
Filesystem UUID: 1c71b0f4-f95d-46d6-93e0-cbd19cb95edb
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
  1. Mounting the new file system at /opt
    mount /dev/mapper/data /opt
  2. To get UUID
    blkid /dev/mapper/data
/dev/mapper/data: UUID="0a228c13-06d8-4739-99c3-f596c2dcce8e" TYPE="ext4"
  1. We need to add the UUID into /etc/fstab like this and save it
    Note: We need to add the UUID into etc/fstab file
LABEL=cloudimg-rootfs   /        ext4   defaults,discard        0 0
UID="4539b70d-66ab-4c07-b2a2-d4583f461a2f"   /secret   ext4 defaults 0 0
UID="4539b70d-66ab-4c07-b2a2-d4583f461a2f"   /opt      ext4 defaults 0 0
UUID="0a228c13-06d8-4739-99c3-f596c2dcce8e"   /opt  ext4  defaults 0  0
===================================================
  • To close encryption
    cryptsetup luksClose /dev/mapper/data
  • To open encryption
    cryptsetup luksOpen /dev/mapper/data

📘

NOTE:

If you face any trouble in starting opensearch and in logs if you find the error as Opensearch status RED follow the steps given here:

  • Set the OPENSEARCH_JAVA_HOME by running the following command:
  • If you have installed java from Prerequisites section, use the below command:
  • export OPENSEARCH_JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
  • If java is installed in different path, change the value.
  • export OPENSEARCH_JAVA_HOME=<java installation path>