Installation on AlmaLinux 9

Quick install

After obtaining the License Key, please use our interactive installation script to quickly install IDSTower:

$ curl -O https://download.idstower.com/install_script/1.1.0/install-IDSTower.sh
$ echo "a2d8a712add3fc732ce517cef54007817e432f9434e19d631772da96c5853313 install-IDSTower.sh" \
 | sha256sum -c -
$ bash install-IDSTower.sh -i

Manual install

Please follow these steps to install IDSTower on AlmaLinux 9:

  1. Add IDSTower Yum repository

$ sudo bash -c 'cat > /etc/yum.repos.d/idstower.repo << EOF
[idstower]
name = IDSTower
baseurl = https://download.idstower.com/repos/yum/\$basearch/
enabled=1
gpgcheck=0
EOF'
  1. Add MariaDB (10.6) Yum repository

$ sudo bash -c 'source /etc/os-release && cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = https://archive.mariadb.org/mariadb-10.6/yum/almalinux9$([[ "$(uname -m)" == "x86_64" ]] && echo "-amd64" || echo "-$(uname -m)")
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
module_hotfixes=1
EOF'
  1. Install EPEL repository

$ sudo yum install epel-release -y
  1. Install Python 3.12, pip, and Ansible

$ sudo dnf install python3.12 python3.12-pip -y
$ python3.12 -m pip install "ansible-core>=2.16.0,<2.17.0" ansible
  1. Install MariaDB and IDSTower

$ sudo yum install mariadb-server idstower -y
  1. Start and enable MariaDB service

$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service
$ sudo systemctl status mariadb.service
  1. (Recommended) Run mariadb-secure-installation Script

$ sudo /usr/bin/mariadb-secure-installation
  1. Edit the appsettings.json configuration file (located in: /opt/idstower/) and set the following settings

    • set the LicenseKey key value with the key you obtained from the license page.

    • set the URL key value with the url you want IDSTower to listen to, example: http://idstower.mydomain.local, this url must be reachable from your Suricata hosts, note that you can use ip addresses as well.

    • set the MySQL Database settings like host, port, database name, username & password via the Database key.

  2. Initialize the IDSTower database

$ cd /opt/idstower/
$ sudo ./IDSTower --init-database

Note

If you wish to initialize the database manually, you can find the schema initialization script here: https://download.idstower.com/packages/latest/sql_scripts/

You can import the script by running:

$ sudo mysql -u [username] -p [DatabaseName] < idstower_schema_script.sql
  1. Add an admin user to IDSTower

$ cd /opt/idstower/
$ sudo ./IDSTower --add-user [Your Admin Username]

Example:

$ sudo ./IDSTower --add-user admin
  1. Enable and start IDSTower Service

$ sudo chown -R idstower:idstower /var/log/idstower
$ sudo systemctl enable idstower.service
$ sudo systemctl start idstower.service
  1. Verify that IDSTower Service started correctly

$ sudo systemctl status idstower.service
  1. Configure firewall to allow HTTP and HTTPS traffic

$ sudo firewall-cmd --zone=public --permanent --add-service=http
$ sudo firewall-cmd --zone=public --permanent --add-service=https
$ sudo firewall-cmd --reload
  1. Access IDSTower web interface

You can now access the IDSTower web interface using the URL specified in your appsettings.json configuration file. Log in using the admin username and password you created in step 9.