Installing on Ubuntu

Prerequisites

  1. Install OpenJDK 11 by running the following command:
    sudo add-apt-repository ppa:openjdk-r/ppa && sudo apt-get update -q && sudo apt install -y openjdk-11-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. Set the map count within the file /etc/sysctl.conf by adding the following line:
    vm.max_map_count=262144

  5. 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.
    437

  • 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
    400

  • 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
    512

  • 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 debain package
    sudo wget https://d2fco3ozzrfhhd.cloudfront.net/v10.2/searchblox_10.2-0_all.deb

  5. Install the debian package
    sudo dpkg -i searchblox_10.2-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/elasticsearch/bin
    sudo chmod -R 755 /opt/searchblox/analytics
    sudo chmod -R 755 /opt/searchblox/logs
    sudo chmod -R 755 /opt/searchblox/elasticsearch/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.

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:
  3. 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:
  4. 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
  5. Mounting the new file system at /opt
    mount /dev/mapper/data /opt

  6. To get UUID
    blkid /dev/mapper/data

    /dev/mapper/data: UUID="0a228c13-06d8-4739-99c3-f596c2dcce8e" TYPE="ext4"
  7. 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

Did this page help you?