---
myst:
html_meta:
"description lang=en": "Kasm Workspaces multi server installation instructions."
"keywords": "Kasm, Multi, Server, Setup"
"property=og:locale": "en_US"
---
```{title} Multi Server Installation
```
# Multi Server Installation
In this example, the Kasm services are installed on different servers within the environment. Depending on the desired
use case, these servers can be put in separate network enclaves according to your environment and typical security best practices.
Please read through the entire process before getting started.
Troubleshooting info can be found on the {doc}`Troubleshooting Page <../guide/troubleshooting>`
Issues can be reported on the [Kasm Workspaces Issues Page](https://github.com/kasmtech/workspaces-issues/issues)
```{include} /install/multi_server_install/multi_architecture_roles.md
```
## Ports and Protocols
```{eval-rst}
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Source | Destination | Port | Notes |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| End User | Web App Server | 443 | Web Application / UI / API |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| End User | Connection Proxy (rdp-gateway) | 3389 | RDP Connection |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Web App Server | Database Server | 5432,6379 | Database Access (PostgreSQL / Redis ) |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Web App Server | Agent Server | 443 | Agent Instructions |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Web App Server | Connection Proxy (Guac) | 443 | Proxied RDP Connections to VMs/Hardware |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Web App Server | VM/Hardware (KasmVNC) | 8443 | Proxied KasmVNC Connections to VMs/Hardware |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Agent Server | Management Server | 443 | Check-in, Request Images, Request Authentication |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Connection Proxy (Guac) | VM/Hardware RDP Systems | 3389 | Converts RDP to Web native rendering via Guac |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Connection Proxy (Guac) | VM/Hardware VNC Systems | 5900 | Converts VNC to Web native rendering via Guac |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Connection Proxy (Guac) | VM/Hardware SSH Systems | 22 | Converts SSH to Web native rendering via Guac |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Connection Proxy (Guac) | Web App Server | 443 | RDP Connection Authorization and Status Checks |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
| Connection Proxy (rdp-gateway) | VM/Hardware RDP Systems | 3389 | RDP Connection |
+----------------------------------+--------------------------------+-----------+--------------------------------------------------+
```
## System Requirements
Please review the {doc}`System Requirements <../install/system_requirements>` before beginning.
```{include} /install/sizing_guide_tip.md
```
(multi-server-steps)=
```{include} /install/multi_server_install/multi_installation_steps.md
```
```{include} /install/multi_server_install/multi_installation_proxy.md
```
## Install troubleshooting
The install.sh script creates a log file as it runs, this file is removed upon completion of a successful installation. However, if something does go wrong the logfile will be available from the directory the install.sh script was executed from in the format *kasm_install_${TIMESTAMP}.log*. This file will be important for diagnosing the error that caused the installation to fail and will be requested when submitting a support ticket with Kasm Technologies.