# EOS Prerequisites

The ASM EOS Installation will check for and configure the Prerequisite MS Windows Server Features and Additional Requirements as part of the Installation/Upgrade process.

<details>

<summary>Application Server Checklist</summary>

We recommend that you install Alemba Service ManagerTM on a separate server to the database server.

Operating System Requirements

* [ ] Windows Server 2019
* [ ] IIS 10.0
* [ ] 64-Bit
* [ ] .NET 4.7.2 and above
* [ ] ASP.NET Core Runtime Hosting Bundle 5.0
* [ ] Microsoft Visual C++ 2010 SP1 Redistributable Package

Minimum Hardware Requirements

* [ ] 4 CPU Cores
* [ ] 16 GB RAM
* [ ] 100 GB of available space

Additional considerations:

* Ensure that the CPUs are not over-committed.
* We recommend optimizing the web server for background service performance.
* It is advisable to install a supported web browser (eg Google Chrome, Microsoft Edge) on the application server.

</details>

<details>

<summary>Database Server</summary>

We recommend that you install the database on a separate dedicated server.

\*Alemba does not support SQL Server Express Editions

\*Alemba only provides limited support for SQL Server editions that are no longer under Microsoft Mainstream Support.

\*Alemba RapidStart database is only supported under SQL Server 2019 (64-bit).

**Supported Versions**

* [ ] SQL Server 2017 (64-bit) - Microsoft Mainstream Support to end

  11/10/2022

OR

* [ ] SQL Server 2019 (64-bit) - Microsoft Mainstream Support to end

  14/01/2025

OR

* [ ] Azure SQL

**Minimum hardware requirements:**

* Consult your database vendor’s documentation for the minimum recommended hardware configuration required for the database version you intend to deploy.
* 2 GB free space for the database&#x20;

**Additional requirements:**

* Full-Text and Semantic Extractions for Search: enable this Feature Selection during SQL Server setup, so that ASM search features function correctly.
* Unicode - ASM no longer supports databases using a non-unicode schema. The installation process will automatically convert any connected database to Unicode during the installation process

</details>

<details>

<summary>Database User Account Permissions</summary>

For installations where a new SQL Server database is used, we recommend that you create a single database user account for administering the ASM database and performing operations such as running upgrade scripts on the database. You can restrict this database user account to access the ASM database only.

[You can set up a script to create a database user account and apply permissions](#using-a-script-to-configure-database-user-accounts)

## Configuring a new database user account:

<mark style="color:red;">If you are using NT authentication to log into the ASM database, you must use the NT AUTHORITY\SYSTEM account.</mark>

Ensure your database user account has the following roles:

* db\_datawriter&#x20;
* db\_datareader
* db\_ddladmin
* db\_owner

Grant the following ASM database permissions:

* VIEW DATABASE STATE
* VIEW DEFINITION<br>

We recommend that you grant the database user account full access to the Master database.  However, as a minimum, you must have the following Master database role and permissions:

* sysadmin fixed server role
* db\_datareader role
* VIEW SERVER STATE, which enables access to the dm\_db\_index\_

  usage\_stats table
* VIEW DATABASE STATE
* VIEW DEFINITION
* Ability to execute xp\_regread, which enables the API services to read the following reg key from SQL Server: HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation

The Statistics Tool and Alemba API use these permissions to synchronize the cache between API instances, Alemba Service ManagerTM, and anything else which might use the database.

## Configuring an existing database user account:

Before running the Upgrade MSI, if you are using NT authentication, ensure that the NT AUTHORITY\SYSTEM account has system administrator permissions to the database server so that the upgrade can complete successfully.

For existing databases, you should continue to use the database user account that was used during database creation. Ensure that your database and Master database user accounts have the permissions and roles listed above for creating a new database user account.

Alemba® recommends consulting with your database administrator if you wish to change the database owner to a new account that can perform ordinary operations to the database as well as administrative operations, as you will need to manually change the database owner of all tables.

</details>

<details>

<summary>Networking</summary>

The network location of the database server to the Alemba Service ManagerTM server will impact performance. In your system design, you must consider network switching and firewall configurations. While Alemba® are not responsible for your system performance and can only provide very limited guidance in this area, we can recommend third-party consultants to provide specialist advice.

</details>

<details>

<summary>Email Protocols</summary>

Incoming Email: EWS, POP3, IMAP&#x20;

Outgoing Email: EWS, SMTP

If you are using POP3/IMAP/SMTP/EWL over SSL, ensure your web server can communicate with your POP3/IMAP/SMTP/EWS server.&#x20;

**MAPI protocol is no longer supported as a protocol for Incoming/Outgoing Email**

</details>

<details>

<summary>Browser Requirements</summary>

Chrome (latest version)&#x20;

MS Edge Chromium (latest version)&#x20;

Firefox version (latest version)&#x20;

Safari (latest version)

</details>

<details>

<summary>Configuring your Browser Locale</summary>

If the date and time are displaying incorrectly in your browser, you may need to change the browser locale settings on each client machine. Unlike browsers that fetch the locale from the local machine settings, Google Chrome locale settings are configured during installation. You may need to restart the browser to see your changes.

</details>

<details>

<summary>Active Directory Connectors</summary>

Active Directory supported versions:

* Microsoft Active Directory 2016
* Microsoft Active Directory 2019
* Azure AD

PowerShell supported versions:

• PowerShell v5.0

**Multiple other connectors are also supported.**

</details>

<details>

<summary>User Directory Servers</summary>

Alemba® supports the following directory servers for Alemba Service Manager:

* Azure AD
* Microsoft Active Directory 2019
* Microsoft Active Directory 2016

</details>

<details>

<summary>Dashboard Application Server</summary>

The Syncfusion Dashboard Platform is installed separately from Alemba Service ManagerTM software. It is recommended that the dashboard software be hosted on a separate Application Server.

**If your site has a large volume of data, you should consider using hardware with a higher specification.**

* [ ] Windows Server 2019
* [ ] IIS 10.0
* [ ] 64-Bit
* [ ] .NET 4.5.2 and above
* [ ] User Management Server
* [ ] SMTP Mail Server

We do not support upgrading Windows Server. Instead, we recommend that you always create a new machine when you change operating system.

## Minimum Hardware Requirements

* [ ] 2 CPU Core or 2 GHz/Core
* [ ] 8 GB RAM
* [ ] 2 GB HD

### Additional considerations

* Ensure that the CPUs are not over-committed.
* We recommend optimizing the web server for background service performance.
* It is advisable to install a supported web browser (eg Google Chrome, Microsoft Edge, etc) on the application server.

</details>

<details>

<summary>Dashboard Database Server</summary>

We recommend that you install the dashboard database on a separate dedicated server from the ASM database to improve performance. If the Dashboard database is installed on the same server as the ASM database, it must have its own database and schema.

* Alemba does not support SQL Server Express editions.
* Alemba RapidStart database is only supported under SQL Server 2019 (64-bit)
* Alemba only provides limited support for SQL Server editions that are no longer under Microsoft Mainstream Support.

S**upported versions:**

* SQL Server 2017 (64-bit) - Microsoft Mainstream Support to end

  11/10/2022
* SQL Server 2019 (64-bit) - Microsoft Mainstream Support to end

  14/01/2025
* Azure SQL

**Minimum hardware requirements:**

• 2 GB free space for the database.

</details>

<details>

<summary>Dashboard DB User Account Permissions</summary>

For installations where a new SQL Server database is used, we recommend that you create a single database user account for administering the Dashboards database and performing operations such as running upgrade scripts on the database. You can restrict this database user account to access the Dashboard database only.

## Minimum required Server Roles and user mappings for the Dashboard Server and User

* [ ] DB Selection at startup: **Database**
* [ ] Server Roles: **Public**
* [ ] User Mapping&#x73;**:**&#x20;
  * db\_datareader
  * db\_datawriter
  * db\_ddladmin
  * db\_owner
  * public

## **Minimum Required Permissions for the SQL Server Data Sources**

Intermediate Server (Target Server)

* [ ] Database Roles
  * db\_datareader
  * db\_datawriter
* [ ] Server Roles

  * dbcreator
  * public&#x20;

  Required to create the schema, Database, and Tables

Data Source (Source Server)

* [ ] &#x20;Database Roles

  * db\_datareader

  Required to access table data and schema

We recommend consulting your database administrator if you wish to change the database owner to a new account that can perform ordinary operations to the database as well as administrative operations, as you will need to manually change the database owner of all tables.

</details>

<details>

<summary>Dashboard Networking</summary>

The network location of the database server to the Dashboards server to the Alemba Service ManagerTM server will impact performance. In your system design, you must consider network switching and firewall configurations. While Alemba® are not responsible for your system performance and can only provide very limited guidance in this area, we can recommend third-party consultants to provide specialist advice.

</details>

<details>

<summary>Dashboards SMTP Server</summary>

Email Protocol for Outgoing Email: SMTP

The Dashboard software uses SMTP for sending scheduled dashboards and reports.

**If you are using SMTP over SSL, ensure your web server can communicate with your SMTP server.**

</details>

<details>

<summary>Configuring Windows Server 2019 for Alemba Service Manager</summary>

As part of the EOS 10.5 script the following will be installed automatically:&#x20;

**Windows features**

The following packages are downloaded and installed automatically. You may opt out of this step, but you must then assume responsibility for installing these packages before beginning the Eos installation

* Microsoft Visual C++ 2010 SP1 Redistributable Package
* ASP.NET Core 5.0 Windows Hosting Bundle

Please refer to the ASM Installation Guide for the version you are installing for further Information on the Installation process.

</details>

<details>

<summary>Using a Script to Configure Database User Accounts</summary>

You can use the script below to create the database user account and apply the relevant permissions for your ASM database and Master database. The comments indicate the commands that are executed at each stage of the script, so you may choose to use only part of the script if you are working with existing logins.

The script uses the following variables:

* \[LOGIN\_NAME] – the SQL Server login name, for example VFIRE\_LOGIN
* \[Password1] – the SQL Server login password
* \[DATABASE\_NAME] – the ASM database name
* \[USER\_NAME] – the ASM database user that is applied to the SQL Server login, for example VFIRE\_USER

{% code overflow="wrap" %}

```sql
--The following creates the SQL Server login account, with the ASM database set as the default database. Do not use spaces in the login name. The password must contain at least 8 characters, including at least one number and an uppercase letter.

USE [MASTER]; GO
CREATE LOGIN [LOGIN_NAME] WITH PASSWORD = '[Password1]', DEFAULT_DATABASE = [DATABASE_NAME]
GO
ALTER SERVER ROLE [sysadmin] ADD MEMBER [LOGIN_NAME] GO

--The following creates the user account [USER_NAME] for the ASM database 

Use [DATABASE_NAME];
GO
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE NAME = N'[USER_NAME]')
BEGIN
CREATE USER [USER_NAME] FOR LOGIN [LOGIN_NAME]

--The following makes [USER_NAME] a member of the db_owner, db_datawriter, db_ datareader and db_ddladmin groups

EXEC sp_addrolemember N'db_owner', N'[USER_NAME]' EXEC sp_addrolemember N'db_datawriter', N'[USER_NAME]' EXEC sp_addrolemember N'db_datareader', N'[USER_NAME]' EXEC sp_addrolemember N'db_ddladmin', N'[USER_NAME]'
END; GO

--The following grants [USER_NAME] the minimum permissions for the database

GRANT VIEW DATABASE STATE TO [USER_NAME]; GRANT VIEW DEFINITION TO [USER_NAME]

--The following creates the Alemba Service ManagerTM user account for the Master database

USE [MASTER]; GO
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE NAME = N'[USER_NAME]')
BEGIN
CREATE USER [USER_NAME] FOR LOGIN [LOGIN_NAME]
EXEC sp_addrolemember N'db_datareader', N'[USER_NAME]'
END;

--The following grants [USER_NAME] minimum permissions for the Master database

GRANT VIEW SERVER STATE TO [USER_NAME]
GRANT VIEW DATABASE STATE TO [USER_NAME] GRANT VIEW DEFINITION TO [USER_NAME] GRANT EXEC ON MASTER.DBO.XP_REGREAD TO [USER_NAME]
GO
```

{% endcode %}

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.alemba.com/asm-eos-10.5/setup-and-configure-asm/installation-and-upgrade/eos-installation-guide/eos-prerequisites.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
