Custom installation of AppScan 360° on a single virtual machine
Custom mode is intended for full single-VM configuration and production-oriented deployments. This mode supports more deployment choices than express mode, including external database configuration, Docker registry selection, optional proxy settings, and OpenTelemetry integration.
Before you begin
- Review Setting up the single VM environment and gather the values you will need during setup.
- Download all required kits from MyHCLSoftware portal into one
directory. For example,
/home/username/AppScan360_singleVM.
Keep all installation kits in the same folder.
Typical kit files:AppScan360_SingleVMsetup_v<version>.runAppScan360_v<version>.runAppScan360_ASRA_v<version>.runAppScan360_DTCS_v<version>.run(required for DAST template features)AppScan360_SCA_v<version>.run(optional)
- Prepare the working directory and make the kits
executable:
mkdir -p ~/aio-setup mv *.run ~/aio-setup/ cd ~/aio-setup chmod +x *.run
Place Certificates (optional)
- If you use custom or self-signed certificates for LDAP, OIDC,
SMTP, Docker registry, ingress, or OpenTelemetry collector trust, create the
certificate folder structure
first:
The command creates:sudo ./AppScan360_SingleVMsetup_v<version>.run -- "$PWD" prepareCertsFoldersFolder Function ~/aio-setup/certs/Main certificates folder ~/aio-setup/certs/docker/Docker Registry certificates ~/aio-setup/certs/ldap/LDAP certificates (LDAPS) ~/aio-setup/certs/smtp/SMTP certificates (SMTPS) ~/aio-setup/certs/oidc/OIDC certificates (OIDCS) ~/aio-setup/certs/otel/OpenTelemetry certificates when the collector uses a private CA ~/aio-setup/certs/ingress/Ingress certificates (optional, self-signed will be generated if not provided) - After folders are created, place certificate files in the appropriate paths before starting installation.
Run installation
- Start the installer:
cd ~/aio-setup sudo ./AppScan360_SingleVMsetup_v<version>.run -- "$PWD"If you need to stop and clean up an interrupted install:
Installation log files are written tocd aioWorkspace ./disengageAS360-AIO.sh./aioWorkspace/logs. - When prompted, select Custom Mode
(Production).
Please select your installation path: 1. 🚀 Express Mode (POC) 2. 🛠️ Custom Mode (Production) Enter 1 or 2 [Default: 1]:
Complete the custom questionnaire
The production flow asks a broader set of questions than Express mode.
SCA selection
Will this production deployment include Software Composition Analysis (SCA)? This requires license. (y/n) [Default: n]:
If you enable SCA, additional database and registry prompts are shown later in the flow.
Databse configuration
Choose the database type:
Please select the database type for this production deployment:
1. 🔷 Microsoft SQL Server (MSSQL)
2. 🐘 PostgreSQL
Enter 1 or 2 [Default: 1]:
Then provide database connection details:
> Enter Database Hostname or IP:
> Enter Database Port [Default: 1433]:
> Enter Database User for AppScan:
> Enter Database User Password:
> Enter the name for the main AppScan database [Default: AppScanCloudDB]:
If you select PostgreSQL, the default port is 5432.
SCA-specific configuration
If SCA is enabled, the installer also asks for:
> Please provide a name for the new SCA database [Default: AppScan360_SCA_DB]:
> Please provide a name for the new SCA Aggregation database [Default: AppScan360_SCA_Aggregation_DB]:
> SCA Registry Address [Default: hclcr.io]:
> SCA Registry Path [Default: appscan360/as360-k8s-docker-images]:
> SCA Helm Repository Path [Default: appscan360/as360-k8s-helm-packages]:
> SCA Registry Username (typically your HCL ID):
> SCA Registry Password/Token:
Use your HCL credentials if you want to enable SCA vulnerability database updates.
Network configuration
Primary domain:
Please enter the primary domain name for this installation. This will be used to create the access URL (for example, yourcompany.com):
External domains or IPs required for outbound access:
Provide the external domain(s) or IP address(es) this instance must access for external services (for example, SSO, SMTP). Use commas to separate multiple values. If none, press Enter to skip:
Local DNS connectivity:
Is this VM connected to a local DNS server? (y/n) [Default: n]:
OpenTelemetry endpoint:
Provide the OpenTelemetry collector endpoint URL. If not applicable, press Enter to skip (recommended format: http://<opentelemetry-collector-host>:4317):
Shared storage size:
To plan for long-term storage costs, estimate the number of scan results you plan to retain. > Specify the shared storage capacity in GB [Default: 200]:
SMTP Mail Relay (optional)
Do you want to configure an SMTP Mail Relay(SMR)? (y/n) [Default: n]:
If enabled, the installer asks for:
What is the SMR host?
What is the SMR port?
What is the SMR username?
Authentication mode:
Select SMTP authentication mode:
1. Password
2. Client Secret
Enter 1 or 2 [Default: 1]:
Then it asks for either the SMR password or SMR client secret, followed by:
Does the SMR operate over SSL/TLS. If yes, a certificate is required to be present in certs/smtp folder (y/n)?
Docker registry configuration
Custom mode supports either a kit-managed local Docker Private Registry or an external registry.
Choose whether the kit should install and manage DPR locally:
Do you want the kit to install and manage a local Docker Private Registry (DPR) on this VM? (y/n) [Default: n]:
If you choose n, the installer asks for external registry
details:
What is the external Docker Private Registry (DPR) address (FQDN:PORT)?
What is the external Docker Private Registry (DPR) username?
What is the external Docker Private Registry (DPR) password?
What is the docker registry context/repository name [Default: as360-k8s-docker-images]:
What is the helm repository context/repository name [Default: as360-k8s-helm-packages]:
To use the registry root path instead of a context path, enter
EMPTY for the context prompt.
If you choose y, the kit prepares a local DPR
automatically.
Proxy service (optional)
Do you want to use a proxy service? (y/n) [Default: n]:
If enabled, the installer asks for:
What is the proxy host?
What is the proxy port?
Does the proxy require user/password credentials? (y/n):
What is the proxy username?:
What is the proxy password?:
Final confirmation
Before installation starts, the script displays a summary of your selections and asks for confirmation:
Continue with installation? (y/n) [Default: y]:
What the installer configures
- Kubernetes cluster (
K0S) - AppScan 360° central platform (ASCP) and supporting components.
- AppScan Remediation Advisories (ASRA)
- Software Composition Analysis (SCA), if selected
- External database connectivity
- Docker registry connectivity
Installation time depends on system capacity and network performance.
- The hosts file entry to add
- The final AppScan 360° access URL
| Operating system | Hosts file path |
|---|---|
| Linux, MacOS | /etc/hosts |
| Windows | C:\Windows\System32\drivers\etc\hosts |
192.168.1.100 appscan.appscan-test.localLog into and activate AppScan 360°
- Open the URL shown at install completion::
https://<host>.<domain> - Sign in with the default credentials:
- Username:
Admin - Password:
Admin12!
- Username:
- Upload your AppScan 360° license file to activate the product.
Backup recommendation
Back up these items regularly:
- Database
- Configuration files in the installation directory
- License information
Changing installation method
For distributed deployment, follow Distributed installation of AppScan 360°.
Common installation issues
| Issue | Solution |
|---|---|
| Database connection failures | Verify database credentials and network connectivity |
| Insufficient disk space | Ensure the VM has enough storage for your selected configuration |
| Certificate errors | Verify certificate file formats, file names, and placement in
the certs folders |
| Docker registry connectivity | Verify registry credentials, address, and network connectivity |
| Any other issues | Troubleshooting guide |