---
title: "Prerequisites to deploy YBA on a VM"
url: "https://docs.yugabyte.com/stable/yugabyte-platform/prepare/server-yba/"
---

# Prerequisites to deploy YBA on a VM

Prerequisites for installing YugabyteDB Anywhere.

Prepare a VM for YugabyteDB Anywhere

- [On-premises and public clouds](/stable/yugabyte-platform/prepare/server-yba/)
- [Kubernetes](/stable/yugabyte-platform/prepare/server-yba-kubernetes/)

When installing YugabyteDB Anywhere on-premises or on a public cloud (AWS, GCP, Azure, and OCI), you install YugabyteDB Anywhere onto a virtual machine server with a Linux operating system (OS).

To meet the hardware and software prerequisites for YugabyteDB Anywhere, create a VM that satisfies the following requirements.

## Hardware requirements

The server for YugabyteDB Anywhere must meet the following hardware requirements:

- 4 cores
- 8 GB memory
- 215 GB disk space
- x86 (Intel, AMD) architecture

## Software requirements

YugabyteDB Anywhere has the following software requirements:

- x86 Linux operating system
- License
- Python
- Sudo root permissions for installation

### Linux OS

You can install YugabyteDB Anywhere onto any [x86 Linux operating system](/stable/reference/configuration/operating-systems/ "x86 Linux operating system") supported by YugabyteDB. YugabyteDB Anywhere can't be installed on ARM architectures (but can be used to deploy universes to ARM-based nodes).

YugabyteDB Anywhere may also work on other Linux distributions; contact your YugabyteDB support representative if you need added support.

### License

Installation requires a license file. To obtain your license, contact your sales representative. If you are not yet a customer and want to try YugabyteDB Anywhere, [book a demo](https://www.yugabyte.com/demo/ "book a demo").

### Python for YugabyteDB Anywhere

Python v3.10 to v3.13 must be pre-installed.

Both python and python3 must symbolically link to Python 3. One way to achieve this is to use alternatives. For example:

```sh
sudo yum install @python311 -y
sudo alternatives --config python
# choose Python 3.11 from list

sudo alternatives --config python3
# choose Python 3.11 from list

python -V
# output: Python 3.11.0

python3 -V
# output: Python 3.11.0
```

### Permissions

YBA Installer supports installation using sudo, and [non-sudo installation](/stable/yugabyte-platform/install-yugabyte-platform/install-software/installer/#non-sudo-installation "non-sudo installation").

If you are using sudo and your sudo permissions are limited, add the following commands to the sudoers file:

```sh
/usr/bin/yba-ctl clean
<path-to-yba-ctl>/yba-ctl clean
/usr/bin/yba-ctl createBackup
<path-to-yba-ctl>/yba-ctl generate-config
/usr/bin/yba-ctl help
<path-to-yba-ctl>/yba-ctl help
<path-to-yba-ctl>/yba-ctl install
/usr/bin/yba-ctl license
<path-to-yba-ctl>/yba-ctl license
/usr/bin/yba-ctl log-bundle
/usr/bin/yba-ctl preflight
<path-to-yba-ctl>/yba-ctl preflight
/usr/bin/yba-ctl reconfigure
<path-to-yba-ctl>/yba-ctl replicated-migrate
/usr/bin/yba-ctl replicated-migrate
/usr/bin/yba-ctl restart
<path-to-yba-ctl>/yba-ctl restart
/usr/bin/yba-ctl restoreBackup
/usr/bin/yba-ctl start
<path-to-yba-ctl>/yba-ctl start
/usr/bin/yba-ctl status
<path-to-yba-ctl>/yba-ctl status
/usr/bin/yba-ctl stop
<path-to-yba-ctl>/yba-ctl stop
<path-to-yba-ctl>/yba-ctl upgrade
/usr/bin/yba-ctl version
<path-to-yba-ctl>/yba-ctl version
```

Where path-to-yba-ctl is the location where you will [install YBA Installer](/stable/yugabyte-platform/install-yugabyte-platform/install-software/installer/#download-yba-installer "install YBA Installer").

## High availability deployments

If you plan to deploy YBA in active-passive [high-availability](/stable/yugabyte-platform/administer-yugabyte-platform/high-availability/ "high-availability") mode, you need two VMs (identical in hardware and software); one for the active YBA instance, and another for the standby YBA instance.
