Install the Server for a Single Server Deployment
Installation instructions and requirements for standard Cortex XSOAR 6.13 single server deployments, with the app server and database server on the same machine.
In a standard Cortex XSOAR deployment, the app server and database server are installed on the same machine.
If you are deploying a signed installer:
You need to import the public key to the operating system. Open a ticket with Palo Alto Networks support to get the public key (see here). It is valid for six months.
If you are using engines or hosts in a multi-tenant environment, you need to install
makeself.
Installation File Structure
This is the file and folder structure in a standard Cortex XSOAR installation.
By default, the .sh file is in /home/<user-name>. The .sh file installs the demistoserver_xxxxx.amd64.deb file in the /usr/local/demisto folder. You can change the default folder, if necessary.
Binaries
/usr/local/demisto
Data
/var/lib/demisto
Logs
/var/log/demisto
Configuration
/etc/demisto.conf (not created if defaults are selected during installation)
Reports
/tmp/demisto_install.log
Install Log
/tmp/demisto_install.log
If you want to create different mounts for the /var/lib/demisto, /var/lib/docker, and /tmp partitions, it is recommended to allocate the following space to each partition (dependent on the expected amount of data, and the size of your incidents and indicators).
/var/lib/demisto: 200 GB (development) 1000 GB (production)If using Elasticsearch, see Elasticsearch System Requirements.
If using Docker:
/var/lib/docker: 70 GB (development) 150 GB (production)If using Podman:
/home: 70 GB (development) 150 GB (production)/tmp: 10 GB (development and production)
To install Cortex XSOAR, you need to log in to Cortex Gateway, which is a portal for downloading the relevant image file and license. Downloading a file image from Cortex Gateway ensures you have the latest pre-configured software package for easy deployment and updates. If you have multiple or development tenants, you must repeat these tasks for each tenant.
Prerequisites
Verify the following information and requirements before you install Cortex XSOAR.
A Customer Support Portal (CSP) account.
You need to set up your CSP account. For more information, see How to Create Your CSP User Account.
When you create a CSP account you can set up two-factor authentication (2FA) to log into the CSP, by using an Email, Okta Verify, or Google Authenticator (non-FedRAMP accounts). For more information, see How to Enable a Third Party IdP.
Have the following roles assigned:
RoleDetailsCSP role
The Super User role is assigned to your CSP account. The user who creates the CSP account is granted the Super User role.
Cortex role
You must have the Account Admin role.
If you are the first user to access Cortex Gateway with the CSP Super User role, you are automatically granted Account Admin permissions for the Cortex Gateway. You can also add Account Admin users as required.
To download the Cortex XSOAR images from Cortex Gateway, you need a license (or evaluation license via sales) assigned to your CSP account.
Review the System Requirements.
Have root access.
How to install Cortex XSOAR
Log in to Cortex Gateway.
In the Available for Activation section, use the serial number to locate the tenant to download.
By default, the Production-Standalone license is selected. You can also select Dev.
If you want to use a production and a development tenant with a private remote repository, select Dev. If you don't select it now, you can install a development tenant later.
Select Download On Prem.
Click Next.
Under Choose Download Option, select Installer.
Select the checkbox to agree to the terms and conditions of the license and click Download.
Tip
In Google Chrome, to download the image and license files together, you may need to set the browser Settings → Privacy and security → Site settings → Additional permissions → Automatic downloads to the default behavior Sites can ask to automatically download multiple files.
Two files download: the
demistoserver-xxxxx.shinstaller file and a zipped JSON license file.(Optional) If you are deploying Cortex XSOAR using a signed installer (GPG), you need to import the GPG public key that was provided with the signed installer. Open a ticket with Palo Alto Networks support to get the public key (see here).
For example, you can use the
rpm --import public.keycommand to import the public key into the local GPG keyring. Note that each operating system has specific requirements.(Optional) If you are deploying Cortex XSOAR using a signed installer (GPG) you might need to manually install the
makeselfpackage by running theyum install makeselfcommand.Run the
chmod +x demisto.shcommand to convert the.shfile to an executable file.Execute the
.shfile, by running the following command.sudo ./demisto.shAccept the EULA and add the information when prompted.
The Server HTTPS port (default is 443)
If you are using Elasticsearch, enter the Elasticsearch details, such as the URL, timeout, etc.
Type the name of the Admin user (default is admin).
Type the password (default is admin).
( Optional) After the installation has completed, do the following:
Confirm that the Cortex XSOAR server status is active, by running the
systemctl status demistocommand.If the server is not active, run the
systemctl start demistocommand to start the server.Confirm that the Docker service status is active, by running the
systemctl status dockercommand.In a web browser, go to the
https://serverURL:portto verify that Cortex XSOAR was successfully installed.When you open Cortex XSOAR for the first time you need to add the license.
Troubleshooting
In some cases, due to moving previous installation files, the installation can fail and the following error message is displayed:
mv: cannot stat '/var/lib/dpkg/info/demistoserver.postrm': No such file or directory Failed to execute: 'mv': exit status 1
There are two options to resolve this issue:
Make a note of the path to the
demistoserver.postrmfile. Rerun the installation using this path for the-- -prev-uninstall-scriptflag. Example:-- -prev-uninstall-script="/path/to/demistoserver.postrm"Rerun the installation with the flag
-- -use-prev-uninstall-script=true. Note that if you use this flag and have previously created a special ID & group for demisto users, the demisto user and group are deleted and recreated during installation.
Installer Flags
The following is the list of supported flags that follow the -- separator for installing Cortex XSOAR.
-backup=
Boolean
Whether to back up server data when upgrading the Cortex XSOAR server. Default is true.
-backup-tenants=
Boolean
Whether to back up server data for tenants when upgrading the Cortex XSOAR server. Default is true.
-conffile
String
The server .conf file. The default location is /etc/demisto.conf.
-data-dir
String
Used to provide a custom installation path, different from the default /var/lib/demisto directory. Example: sudo ./demisto.sh -- -data-dir /xsoar
-demisto-no-gpg-check
N/A
Tells yum to disable the GPG signature when checking for the Cortex XSOAR RPM.
-distro
String
Forces the Linux distro.
-do-not-start-server
N/A
Prevents starting the server when the installation or upgrade is complete.
-dr
N/A
Sets up the disaster recovery server.
-elasticsearch-url
String
Elasticsearch URL addresses (comma-separated). For example, http://test1:9200,http://test2:9200
-elasticsearch-api-key
String
The Elasticsearch API key, which should be used in licensed versions.
-elasticsearch-username
String
The Elasticsearch username.
-elasticsearch-password
String
The Elasticsearch password.
-elasticsearch-proxy=
Boolean
Whether to use a proxy when communicating with Elasticsearch. Can be true or false. Default is false.
-elasticsearch-insecure=
Boolean
Whether to trust any certificate when communicating with Elasticsearch. Can be true or false. Default is false.
-elasticsearch-timeout
Integer
The amount of time (in seconds) before Elasticsearch times out. Default is 20 seconds.
-elasticsearch-prefix
String
Defines the unique prefix a Cortex XSOAR server uses when naming the Elasticsearch indices it creates.
-external-address
String
The external address of the instance during installation.
-git=
Boolean
Whether to install Cortex XSOAR git. Default is true.
-h
N/A
Displays installation help.
-index-entries=
Boolean
Whether to index entries.
-otc
String
The one-time configuration file. The default location is /var/lib/demisto/otc.conf.json.
-prev-uninstall-script
String
The path for the uninstall script. The default location is /var/lib/dpkg/info/demistoserver.postrm.
-purge
N/A
Removes the existing Cortex XSOAR installation.
-restore-entries=
Boolean
Restores the entries index. If false, it prevents restoring the entries index. The default is true.
-system-user-name=
String
When installing the server you can select the default Cortex XSOAR user name.
-system-group-name=
String
When installing the server, you can select the default Cortex XSOAR group name.
-temp-folder
String
Replaces the temp folder (located in /var/lib/demisto/temp) with temp-folder at installation. Useful when you cannot access the temp folder due to permission or storage issues.
-tools=
Boolean
Installs the required tools. The default is true.
-use-prev-uninstall-script
N/A
(For Cortex XSOAR upgrades) The script that deletes the Cortex XSOAR user and group is not run.
-y
N/A
Answer all installer questions with y/yes, including the Cortex XSOAR EULA.
Flags that precede and include the -- separator
Use the following flags to get help or information about the ./demisto.sh file.
--help
Prints a message.
--info
Prints embedded information, including title, default target directory, or embedded script.
--lsm
Prints an embedded LSM entry, if one exists.
--list
Prints a list of files located in the archive.
--check
Checks the integrity of the archive.
Use the following flags to run the ./demisto.sh file.
--confirm
Prompts you to confirm before running an embedded script.
--quiet
Prints only error messages.
--accept
Accepts the Cortex XSOAR license.
--noexec
Embedded scripts are not run.
--keep
The target directory is not deleted after running an embedded script.
--noprogress
Progress is hidden during decompression.
--nox11
An xterm is not spawned.
--nochown
Extracted files are not given to users.
--nodiskspace
Disk space is not checked for available space.
--target dir
Extracts directly to an absolute or relative target directory.
--tar arg1[arg2...]
Accesses the archive contents.
Last updated
Was this helpful?
