About the install script CentOS#
About running the installation script#
EclecticIQ Intelligence Center installation script is based on the code blocks in the documentation. Rundoc is a utility that searches the documentation for executable code blocks, it extracts them, and then it compiles them into an executable install script. The extracted code blocks in the install script are ordered sequentially, as they occur in the documentation.
Run the installation script as root:
sudo -i
# Go to the directory where the script is stored.
cd /path/to/platform-install-script/dir
## Run the installation script. For example:
./eclecticiq-install-2.12.x.sh
## Run with --help to see usage
./eclecticiq-install-2.12.x.sh --help
## Run with --dhelp to see debug options
./eclecticiq-install-2.12.x.sh --dhelp
Example
The following example executes EclecticIQ Intelligence Center installation script with the following options:
Intelligence Center release 2.9.0.
If one or more steps fail, the script attempts to execute them again a hundred times before flagging them as failed steps.
It performs an offline installation, and it uses a cloned repository located at the specified URL address.
It installs EclecticIQ Intelligence Center from scratch, even if it detects an existing Intelligence Center installation in the target system.
It installs only the database components of EclecticIQ Intelligence Center:
PostgreSQL
Neo4j
Elasticsearch
Redis
./eclecticiq-install-2.9.0.sh --retries 100 --offline http://0.0.0.0:8080 --force-fresh --package databases
Help support help you#
If you need to contact customer support to request assistance during the installation process, you may want to share a list of the commands executed up to that point in time, as well as the corresponding outputs. This can speed up diagnosing and troubleshooting issues.
Run script
to write your current terminal session to a .log
file:
eiq_installer_logfile=$HOME/eclecticiq-install-$(date -Im).log
echo "Writing installation logs to $eiq_installer_logfile"
script -a $eiq_installer_logfile
This logs installation commands to an out.json file stored in the installation script log directory.
The default naming format of this directory is: /root/eclecticiq-install-\({major_version}.\){minor_version}.x-${installation_start_timestamp} Example: /root/eclecticiq-install-2.5.x-1571154233/out.json
The installation start timestamp format is Unix epoch time.
About the installation script#
If the target system meets the hardware and software requirements, the platform installation and upgrade script helps automate platform installation and upgrade.
To review the requirements for your target system, see Before you start under See also below.
Before installing or upgrading the platform, the script automatically installs the following required dependencies, if they are not available on the target system:
What the script does#
The script automates platform installation, configuration, and bootstrap.
It uses the platform installation documentation files shipped with the script to install or to upgrade the platform and its third-party dependencies.
It configures the platform and its dependencies by applying EclecticIQ-recommended default settings and configurations.
The script works with CentOS and RHEL OSs.
Run the script as a user with root-level access in a
bash
shell.If you run the script as executable, it defaults to
bash
.Do not run it in
sh
or other shells.
The script executes each step described in the documentation.
Some steps may fail: this is expected.
When a step fails, the script tries executing it again several times: this is normal.
For example, it may occur when requests are sent to Elasticsearch before it loads.
If you prefer to carry out a detailed review of the settings and the configuration, proceed with the manual installation option.
To do so, follow the steps described in the installation documentation.
The script does not yet support upgrading the platform in a distributed environment.
As of now, it can only upgrade a platform instance that:
About dependencies and extensions#
Third-party dependencies are upgraded only during major and minor platform upgrades.
Maintenance upgrades cover only the EclecticIQ Platform product. Third-party dependencies are not upgraded.
For more information about upgrades and security issue patching, see About dependency security patches.
Core extensions (incoming and outgoing feeds), as well as STIX and TAXII extensions are included in major, minor, and maintenance upgrade core platform packages.
Enricher extensions are included in major, minor, and maintenance platform upgrades.
Download the script#
Download the installation script to automate the following stages in the installation process:
Install the dependencies.
Install the platform.
Configure the platform.
Bootstrap the platform.
For details about each step in the process, see the following articles under See also below:
Install on one machine, or Install on two machines, or Perform a distributed installation
Configure SSL and HTTPS in Nginx and Neo4j
Configure Postfix
Update the platform settings
Install the extensions
Install vs upgrade#
The script can perform installation and upgrade: when it launches, it tries to detect which desired action it should execute.
Fresh install#
If you perform a fresh installation, download and run the latest available version of the script.
A fresh installation includes:
Installing the platform from scratch.
Installing third-party dependencies.
For a list of the third-party dependencies installed with the platform, see Before your start under See also below.Applying EclecticIQ-recommended default settings and configurations.
Maintenance upgrade#
You can automate a maintenance upgrade using the Rundoc-powered script if the target platform instance was installed using the script, and if the platform instance to upgrade runs on a single machine.
If you perform a maintenance upgrade, download and run the script with the same minor release version as your current platform instance to perform a maintenance upgrade to the latest patch version of the release.
Example:
Platform instance to upgrade (maintenance): 2.3.1
Install script to apply the upgrade (maintenance): eclecticiq-install-2.3.x-50.sh
A maintenance upgrade includes:
Upgrading the platform to the designated target release version.
Maintenance upgrades affect only the platform core components.
They do not include upgrading any third-party dependencies.
Upgrade#
You can automate an upgrade using the Rundoc-powered script if both criteria are satisfied:
The platform instance to upgrade runs on a single machine.
The target platform instance was installed using the script.
If you perform an upgrade, download and run the script with the next closest minor release version, compared to your current platform instance.
Example:
Platform instance to upgrade: 2.2.1
Install script to apply the upgrade: eclecticiq-install-2.3.x-50.sh
An upgrade includes:
Upgrading the platform to the designated target release version.
Upgrading third-party dependencies accordingly to their designated target release versions.
For a list of the third-party dependencies thaty are installed with the platform, see Before your start under See also below.
First-time install#
Run the script as a user with root-level access.
When you execute the script, it prompts you to specify the following required details:
eiq_user
: enter your user name to access the resource repository.
Do not escape the@
character.
Contact EclecticIQ to request this information.eiq_pass
: enter the password associated with your user name to access the resource repository.
Contact EclecticIQ to request this information.EIQ_ADMIN_PASSWORD
: specify a new password for the platformadmin
user.EIQ_ADMIN_EMAIL
: specify a new email for the platformadmin
user.
If you export these parameters as environment variables before you run the script, it does not interactively ask for them at runtime, and it immediately proceeds with the installation.
This option completely automates the installation process.
After the script completes execution, sign in to the platform as an admin
user with the password value you assigned to EIQ_ADMIN_PASSWORD
when prompted at the beginning of the installation process.
Before you upgrade#
Back up your data before upgrading.
Verify that you have enough free space before upgrading: the recommended amount of free space available for the upgrade should be more than twice the space PostgreSQL and Elasticsearch data uses on their corresponding mount points before the upgrade.
For details about preliminary upgrade steps in the process, see the following articles under See also below:
Backup guidelines
Before you upgrade
The script works with CentOS and RHEL OSs.
Run the script as a user with root-level access in a
bash
shell.If you run the script as executable, it defaults to
bash
.Do not run it in
sh
or other shells.
The script executes each step described in the documentation.
Some steps may fail: this is expected.
When a step fails, the script tries executing it again several times: this is normal.
For example, it may occur when requests are sent to Elasticsearch before it loads.
Upgrade#
The Rundoc-powered install and upgrade script does not support upgrading a distributed platform installation.
It can automate upgrading a platform instance that:
- Was installed using the platform install script.
- Runs on a single machine.
If you are upgrading a distributed installation, you need to perform the operation manually.
Run the script as a user with root-level access.
When you execute the script, it prompts you to specify the following required details:
eiq_user
: enter your user name to access the resource repository.
Do not escape the@
character.
Contact EclecticIQ to request this information.eiq_pass
: enter the password associated with your user name to access the resource repository.
Contact EclecticIQ to request this information.
If you export these variables in your shell before you run the script, it does not interactively ask for them at runtime, and it immediately proceeds with the installation.
This option completely automates the install process.
After the script completes execution, sign in to the platform as an admin
user with the password value you assigned to EIQ_ADMIN_PASSWORD
when prompted at the beginning of the upgrade process.
For details about the upgrade steps in the process, see the following articles under See also below:
Before you upgrade
Upgrade the platform
After upgrading
About dependencies and extensions#
Third-party dependencies are upgraded only during major and minor platform upgrades.
Maintenance upgrades cover only the EclecticIQ Platform product.
Third-party dependencies are not upgraded.For more information about upgrades and security issue patching, see About dependency security patches.
Core extensions (incoming and outgoing feeds), as well as STIX and TAXII extensions are included in major, minor, and maintenance upgrade core platform packages.
Enricher extensions are included in major, minor, and maintenance platform upgrades.