Single Script to install Sailpoint IIQ in Linux

Prerequisites

  1. Java JDK
  2. MySQL
  3. Apache Tomcat
  4. Identity IQ

Update the script with respective directory and execute

#!/bin/bash

# Define variables
JAVA_TARBALL="jdk-8u172-linux-x64.tar.gz"
APACHE_TARBALL="apache-tomcat-8.5.31.tar.gz"
IDENTITYIQ_ZIP="identityiq-7.3.zip"
APACHE_DIR="/apps/sp/"
JAVA_DIR="/opt/sp/java/"
MYSQL_ROOT_PASSWORD="your_root_password"

# Function to check and install Java
install_java() {
    mkdir -p "$JAVA_DIR"
    cp "$JAVA_TARBALL" "$JAVA_DIR"
    cd "$JAVA_DIR"
    tar -zxvf "$JAVA_TARBALL"
    rm -rf "$JAVA_TARBALL"
}

# Function to check and install Apache
install_apache() {
    mkdir -p "$APACHE_DIR"
    cp "$APACHE_TARBALL" "$APACHE_DIR"
    cd "$APACHE_DIR"
    tar xvf "$APACHE_TARBALL"
    rm "$APACHE_TARBALL"
}

# Function to install MySQL
install_mysql() {
    sudo apt update
    sudo apt install mysql-server -y
    sudo systemctl start mysql
    sudo systemctl enable mysql
    mysql_secure_installation <<EOF

y
$MYSQL_ROOT_PASSWORD
$MYSQL_ROOT_PASSWORD
y
y
y
y
EOF
}

# Function to install Sailpoint
install_sailpoint() {
    unzip "$IDENTITYIQ_ZIP"
    mkdir -p "$APACHE_DIR/apache-tomcat-8.5.31/webapps/identityiq"
    cp -r identityiq.war "$APACHE_DIR/apache-tomcat-8.5.31/webapps/identityiq/"
    cd "$APACHE_DIR/apache-tomcat-8.5.31/webapps/identityiq"
    jar -xvf identityiq.war
    cd WEB-INF/bin
    ./iiq schema
    chmod +x ./iiq
    ./iiq console -j << EOF
import init.xml
import init-lcm.xml
EOF
}

# Function to create database schema and tables
create_database() {
    cd "$APACHE_DIR/apache-tomcat-8.5.31/webapps/identityiq/WEB-INF/database"
    source create_identityiq_tables-7.3.mysql
}

# Function to update iiq.properties
update_iiq_properties() {
    IIQ_PROPERTIES_FILE="$APACHE_DIR/apache-tomcat-8.5.31/webapps/identityiq/WEB-INF/classes/iiq.properties"
    echo "database.url=jdbc:mysql://localhost:3306/identityiq" >> "$IIQ_PROPERTIES_FILE"
    echo "database.username=root" >> "$IIQ_PROPERTIES_FILE"
    echo "database.password=$MYSQL_ROOT_PASSWORD" >> "$IIQ_PROPERTIES_FILE"
}

# Function to start Apache Tomcat
start_apache() {
    cd "$APACHE_DIR/apache-tomcat-8.5.31/bin"
    ./startup.sh
}

# Main script
echo "Starting Sailpoint IdentityIQ installation..."

install_java
install_apache
install_mysql
create_database
install_sailpoint
update_iiq_properties
start_apache

echo "Sailpoint IdentityIQ installation complete."

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top