# Install on Azure

### Create a virtual machine

#### Basic Settings

* From the Azure Service select "Virtual Machines".
* Click on Create > Virtual Machine
* Select an existing resource group or create a new one. If don't know what resource groups are, create a new one called `rport`.This avoids conflicts with existing resource groups.
* Enter `rport-server` as the name for the virtual machine.
* Select a region near you.
* Select "No infrastructure redundancy required" for the availability options.
* From the Image drop-down select `Debian 11 "Bullseye" - Gen 1`.

  You might need to click on "See all images" and type in "debian bullseye" into the search field.
* On the size-drop-down click "See all sizes" to get access to the cheap options.\
  It's a bit challenging to find cheap VMs. \
  Use the filters to display only VMs with 1-2 CPUs and 0-2GB RAM.\
  Select a `B1` or `B1ls` series (\~3-7€/month)

![](/files/-Mf36z_x4F-IF78SUifF)

* If you have SSH key pair, use it. Otherwise, select "Password" as the authentication type.
* Select a username other than `root` or `admin`. For example, `superuser`.
* Enter a strong password, if you are not using SSH keys.
* Do not change the inbound ports.
* Proceed to the next step, "Discs". Do not change anything and proceed to next step "Networking".

![Basic details of the new virtual machine](/files/pUUZuDfhNxvf9ugopQi1)

#### Networking

On the networking setup, select "Advanced" for the NIC network security group" and click "Create New" to create a new security group.

![You need an advanced setup.](/files/-Mf39Y5xJv0vJGA6HmFt)

When creating the new network security group, add the following new inbound rules.

| Source | Src Port Ra | Dest. | Service | Dest.Port Ra  | Protocol | Action | Prio | Name         |
| ------ | ----------- | ----- | ------- | ------------- | -------- | ------ | ---- | ------------ |
| Any    | \*          | Any   | HTTP    | `80`          | TCP      | Allow  | 1010 | Port\_80     |
| Any    | \*          | Any   | HTTPS   | `443`         | TCP      | Allow  | 1020 | Port\_443    |
| Any    | \*          | Any   | Custom  | `20000-30000` | TCP      | Allow  | 1030 | Port\_20-30k |
| Any    | \*          | Any   | Custom  | `*`           | ICMP     | Allow  | 1040 | Ping         |

{% hint style="warning" %}
Do not skip the ICMP rule. Your virtual machines must respond to ICMP echo requests.👆
{% endhint %}

![](/files/-Mf3BqK5quJfqozDzaEl)

Now proceed to all the next steps without changing the pre-filled defaults.

Finally, create the new virtual machine.&#x20;

After the machine has been created, click on "Go to resource" to get access to all details of the virtual machine.

### Install the RPort server on your new Azure Virtual Server

From the details of the newly created virtual machine, grab the public IP address.

![Grab the IP address](/files/-Mf3Dk1J7D3VBS69bFcY)

Connect over SSH to the instance using the username you specified during the VM creation. For example, ssh `superuser@20.185.220.116`. After the login, type in `sudo -i` to change to the root account.

👉 Now proceed to [Install RPort on any virgin cloud VM](/install-the-rport-server/install-rport-on-any-virgin-cloud-vm.md)


---

# 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://kb.rport.io/install-the-rport-server/install-on-azure.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.
