Wazuh Installation Assistant

The Wazuh Installation Assistant is a tool designed to simplify the deployment of Wazuh. It guides users through the process of installing Wazuh components. The Installation Assistant is used by executing the wazuh-install-5.0.0-rc2.sh script.

You can download the Wazuh Installation Assistant here: wazuh-install-5.0.0-rc2.sh.

Options list

Option

Description

-a, --all-in-one

Install and configure Wazuh manager, Wazuh indexer, Wazuh dashboard.

-as, --agent-san <ip|dns>

Adds an extra address to the subject alternative name of the agent listener certificate of every Wazuh manager node. Repeat it for more than one. Must be used along with -a or -g.

-ap, --api-san <ip|dns>

Adds an extra address to the subject alternative name of the Wazuh manager API certificate of every Wazuh manager node. Repeat it for more than one. Must be used along with -a or -g.

-d [pre-release|local], --development

Use development repositories. By default, it uses the pre-release package repository. If local is specified, it will use a local artifact_urls.yaml file located in the same directory as the installation assistant script.

--skip-signature-check

Install packages that are not signed with the Wazuh key. Only for development packages, must be used along with -d.

-dw, --download-wazuh <deb|rpm>

Download all the packages necessary for offline installation. Type of packages to download for offline installation (rpm, deb)

-da, --download-arch <amd64|arm64|x86_64|aarch64>

Define the architecture of the packages to download for offline installation.

-g, --generate-config-files

Generate wazuh-install-files.tar file containing the files that will be needed for installation from config.yml. In distributed deployments, you will need to copy this file to all hosts.

-h, --help

Display this help and exit.

-id, --install-dependencies

Installs the necessary dependencies for the installation automatically.

-o, --overwrite

Overwrites previously installed components. This will erase all the existing configuration and data.

-of, --offline-installation

Performs an offline installation. This option must be used with -a, -wm, -s, -wi, or -wd.

-s, --start-cluster

Initializes Wazuh indexer cluster security settings.

-u, --uninstall

Uninstalls all Wazuh components. This will erase all the existing configuration and data.

-v, --verbose

Shows the complete installation output.

-V, --version

Shows the version of the script and Wazuh packages.

-wd, --wazuh-dashboard <dashboard-node-name>

Install and configure Wazuh dashboard, used for distributed deployments.

-wi, --wazuh-indexer <indexer-node-name>

Install and configure Wazuh indexer, used for distributed deployments.

-wm, --wazuh-manager <manager-node-name>

Install and configure Wazuh manager, used for distributed deployments.

Install Wazuh using development packages

The official Wazuh packages are downloaded by default when you install Wazuh with the installation assistant. However, if you are developing or testing new features or want to try the pre-release version instead of the official ones, you can do so by specifying the -d [pre-release|local], --development option to the installation command.

Use pre-release packages

If you want to use Wazuh pre-release packages instead of the official ones, simply add the -d pre-release, --development pre-release option to the installation command. For example, to perform an all-in-one installation using pre-release packages, the command would be:

# sudo bash wazuh-install-5.0.0-rc2.sh --all-in-one --development pre-release

Or the short form:

# sudo bash wazuh-install-5.0.0-rc2.sh -a -d pre-release

Use development packages

To use packages that are in development, it is necessary to have an artifact_urls.yaml file located in the same path as the wazuh-install-5.0.0-rc2.sh script. This file must contain the URLs of the development packages that will be used in the installation.

It must have the following format:

wazuh_manager_aarch64_rpm: "https://example.com/wazuh-manager.aarch64.rpm"
wazuh_manager_amd64_deb: "https://example.com/wazuh-manager_amd64.deb"
wazuh_manager_arm64_deb: "https://example.com/wazuh-manager_arm64.deb"
wazuh_manager_x86_64_rpm: "https://example.com/wazuh-manager.x86_64.rpm"
wazuh_indexer_aarch64_rpm: "https://example.com/wazuh-indexer.aarch64.rpm"
wazuh_indexer_amd64_deb: "https://example.com/wazuh-indexer_amd64.deb"
wazuh_indexer_arm64_deb: "https://example.com/wazuh-indexer_arm64.deb"
wazuh_indexer_x86_64_rpm: "https://example.com/wazuh-indexer.x86_64.rpm"
wazuh_dashboard_aarch64_rpm: "https://example.com/wazuh-dashboard.aarch64.rpm"
wazuh_dashboard_amd64_deb: "https://example.com/wazuh-dashboard_amd64.deb"
wazuh_dashboard_arm64_deb: "https://example.com/wazuh-dashboard_arm64.deb"
wazuh_dashboard_x86_64_rpm: "https://example.com/wazuh-dashboard.x86_64.rpm"

Then, to use these development packages in the installation, simply add the -d local, --development local option to the installation command. For example, to perform an all-in-one installation using development packages, the command would be:

# sudo bash wazuh-install-5.0.0-rc2.sh --all-in-one --development local

Or the short form:

# sudo bash wazuh-install-5.0.0-rc2.sh -a -d local

This command will automatically detect the artifact_urls.yaml file in the same path as the wazuh-install-5.0.0-rc2.sh script and will use the URLs specified in it to download the necessary packages for the installation.

Package signature check

Before it installs a package, the assistant checks that it's signed with the Wazuh key, also in offline installations. It downloads the key from https://packages.wazuh.com/key/GPG-KEY-WAZUH, or takes it from wazuh-offline.tar.gz in an offline installation, and trusts it only if its fingerprint is 0DCF CA55 47B1 9D2A 6099 5060 96B3 EE5F 2911 1145. An unsigned package, a package signed with another key, or a modified package stops the installation.

Packages in the nightly, pre-release and production repositories are signed. Development builds that didn't go through the signing process aren't, and need the --skip-signature-check option, which is only accepted along with -d:

# sudo bash wazuh-install-5.0.0-rc2.sh -a -d local --skip-signature-check