> For the complete documentation index, see [llms.txt](https://docs.spectralink.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spectralink.net/amie-essentials/planning-and-installation/install-sam-server.md).

# Install the SAM server

## Requirements

The SAM server requires the following components:

* VMWare ESXi server 6.0 (or later) host machine capable of running 64-bit guest OS Virtual Machines (ESXi is a hypervisor OS that allows you to run multiple virtual machines)
* 8GB of free memory on your ESXi server
* 100GB free disk space on ESXi server datastore
* SAM account number (obtain this from your Spectralink representative)

Contact your Spectralink representative with any questions.

## Step I: Deploy Virtual Machine

The SAM server VM is available for download as a zip file from Spectralink. Once downloaded you will deploy the proper files to your ESXi server using the vSphere Web Client.

{% hint style="info" %}
**SAM VM deployment**

The following steps describe deploying the SAM VM directly to an ESXi server. This release can also be deployed through vCenter 7.0 or later.
{% endhint %}

1. Download the SAM zip file from the Spectralink support representative.
2. Extract the files contained in the zip archive onto a machine that has a compatible version of VMWare vSphere® Client installed. The new directory will contain two files: *spectralink-sam.ovf* (VM descriptor file) and *spectralink-sam-disk1.vmdk* (VM disk image). These files need to remain in the same directory.

### vSphere Web Client

1. Open a compatible web browser and connect to your ESXi host server using the URL `https://<server-ip>`. Authenticate with your credentials.

![](https://3032864282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxfLF6IpyutR429bMnvvf%2Fuploads%2Fgit-blob-de0e9581f56ab3164560c71d13e27a7e774e91cb%2Fimage6.png?alt=media)

2. In the Host view, click **Create/Register VM**. Select **Deploy a virtual machine from an OVF or OVA file** and click **Next**.

![](https://3032864282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxfLF6IpyutR429bMnvvf%2Fuploads%2Fgit-blob-41103afe511910f9c28b00293553d26f50553af0%2Fimage7.png?alt=media)

3. Enter the VMware name for the VM. Click the blue box. Navigate to the uncompressed directory from Step 2 and select both (Ctrl-click) of the files *spectralink-sam.ovf* and *spectralink-sam-disk1.vmdk*. Click **Next**.
4. Select the datastore where you want this VM to install. Click **Next**.
5. Choose the Network Mapping from the network used when the VM was created, NAT, to one of your local networks. You may need a network administrator to tell you which one of your networks to select. For disk provisioning choose **Thick**. You can leave **Power On Automatically** checked. Click **Next**.
6. Click **Finish** to start deployment.

## Step 2: Set Up Networking & SAM Server

1. Open a console to the SAM VM. If you’re using the Windows Client, right-click the VM and select Open Console; for the web client click the VM and then select console->open browser console. Log into the host under account **sam** and password **sam**.

![](https://3032864282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxfLF6IpyutR429bMnvvf%2Fuploads%2Fgit-blob-cb0fefb804e9c2cde666ade6528abf56ceb20aea%2Fimage8.png?alt=media)

{% hint style="warning" %}
**Change the password!**

All new SAM deployments use the default password. You *must* change the password to maintain security by running the `passwd sam` command. Record the new password afterward since if you forget it, you cannot reset the system and you will need to redeploy the VM.
{% endhint %}

2. Run the command:

   ```bash
   passwd sam
   ```

   You will be prompted for a new password. Enter it twice to verify. From this point onward the sam/sam credentials will not allow you access.
3. Run the command:

   ```bash
   cd bin
   ```
4. Run the command:

   ```bash
   sudo python network_init.py
   ```

   and follow the prompts to configure your primary network interface.

   You have the option of selecting DHCP or static addressing.

   If you select DHCP, the host will be configured with the startup DHCP address.

   If you select static addressing, you will be prompted for the following network parameters:

   IP address (assigned by your network administrator)

   netmask address (for the connected network)

   gateway address (for the connected network)

   DNS nameserver (one or two nameservers for the connected network)
5. If you intend to use encrypted communication between SAM and your Active Directory controller (LDAPS), you need to upload the controller’s public certificate to SAM first. It will be inserted into the host’s certificate store. Please note that this requires uploading a certificate to the SAM server via SFTP prior to running this script, and requires that SSH be enabled (see [Enabling/Disabling SSH](/amie-essentials/maintenance/backup-and-restore.md#enabling-disabling-ssh) for more information). We recommend uploading the certificate into the SAM users home directory, which has the path `/home/sam/` to make this process easier.
6. Run the command:

   ```bash
   sudo python application_init.py
   ```

   and follow the prompts. (This information will be used to generate a self-signed certificate and/or a Certificate Signing Request \[CSR].)

   IP address

   Desired Hostname (DNS name or IP address if not DNS registered. If you enter a DNS hostname the IP address to which it resolves will be added to the Subject Alternative Name field of the certificate or CSR)

   Country Code (the 2-digit SSL country code where the host is located)

   State (supports either the 2-digit state code or the full state name)

   City (city name)

   Company (your company name)

   Organization (designation for your work area)

   Database Password (desired password for SAM backend)

{% hint style="warning" %}
**Database password parameters**

At the end of running the `application_init.py` script SAM prompts you to set a password for the database. If we ever need to recover the database, the password is needed.

Special characters used for this password can cause the database not to start. Do not use special characters when setting the postgres password.
{% endhint %}

Authentication (local account or Active Directory)

1. The script will run and then pause to ask whether authentication should be local or via Active Directory. If you enter “n” then all accounts will be established in the SAM database and no outside authority will be used to authenticate.

   If you enter “y” then all accounts will be authenticated from your Active Directory instance and there will be no local accounts. You can either choose to use an encrypted connection to your Active Directory server or unencrypted.

{% hint style="info" %}
**Use an encrypted connection!**

Spectralink recommends you always use an encrypted connection since an unencrypted one will send account names and passwords in the clear across your network.
{% endhint %}

2. You will be prompted for the following information:

   Active Directory server address (address to your domain controller; for example, sgs-dc1.sgs.local)

{% hint style="info" %}
**Regarding the LDAP URL**

The script will automatically add the ldap\:// header to the URL. If you are using secure LDAP, the URL must match the common name found in your AD server’s public certificate. If the common name in the certificate is an IP address, then enter the IP address versus the FQDN.
{% endhint %}

{% hint style="info" %}
**Using Active Directory with an alternate port?**

When configuring AD integration with SSL support with an alternate port you can append a \[colon] : and port number to the end of your AD server address to enable that support.
{% endhint %}

You will now be asked whether you want to use Secure Authentication.

{% hint style="info" %}
**Using Secure Authentication?**

Provide the path the certificate, and press enter. The system will process your certificate and present you with information about the certificate. You will be asked whether you want to trust this certificate. If the certificate is valid, you will see “File path/name Valid ---> \[ PASS ]” display on the screen. You must enter Yes at the prompt to accept this certificate.
{% endhint %}

1. You will be asked if your users are within an Organizational Unit (OU). If yes, you’ll be asked for the name of the OU for the organization.
2. Next, you’ll be prompted for the following information (see “Example AD setup using an Organization Unit \[OU]” on the next page):

   Active Directory domain; for example, mylab.com

   Admin Group Name(s) (this group will have full access to SAM); for example, SAM\_OU\_Admin

   User Group Name(s) (this group will only be able to add and remove phones); for example, SAM\_OU\_Users

   Read-only User Group Name(s) (this group will only be able to view settings); for example, SAM\_OU\_Read\_Only

{% hint style="info" %}
**Group permissions**

Group permissions are only present with Active Directory setups. If local accounts are used then all users are administrators.
{% endhint %}

The administrator group must have an AD group set. The user and read-only groups may be left blank. Also, the same group cannot be used in two different roles. These group names should be obtained from your AD Administrator to ensure they match what is present in AD.

Example AD setup using an Organization Unit (OU)

![](https://3032864282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxfLF6IpyutR429bMnvvf%2Fuploads%2Fgit-blob-d7d00df70f1b361f5559f80ad56e6a432618f60b%2Fimage10.png?alt=media)

{% hint style="info" %}
**Login using your full UPN**

At login after the setup above, the administrator needs to enter their full UPN – in the example below, <amieadmin@mylab.com> instead of amieadmin:

Login using the full UPN

<img src="https://3032864282-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxfLF6IpyutR429bMnvvf%2Fuploads%2Fgit-blob-c07f4e5f037eb0c6334b1ce0d463fe2c6b638661%2Fimage11.png?alt=media" alt="" data-size="original">
{% endhint %}

1. The machine will reboot.
2. Your SAM should now be initialized. This step installs the certificate.

The SAM installation is complete. The server will restart automatically across system reboots.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.spectralink.net/amie-essentials/planning-and-installation/install-sam-server.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
