Crypto News

How to Set Up a Free Oracle Cloud VM for Web Development (2025 Guide)

As a web developer, having access to a repetitive, virtual cloud virtual machine is often useful for testing and developing. While many cloud-based providers provide limited free tiers (e.g. aws, GCP, or azure), the Oracle Cloud stands by providing a truly “always free” cloud VM.

In this article, we will look at the Oracle VM setting up (under their always free tier). There are many benefits to using it instead of limited free offerings from services like AWS.

  1. It is always free without 1-year use limits (until April 2025). However, Oracle can always change their policies around the free virtual machines they provide, so it's a good idea to check if nothing has changed in free accounts.
  2. The specs are very generous. You received a 4 VCPU VM with 24 GB RAM and 200GB of storage. This makes it a compelling choice for a remote development workstation. The only catch? It runs on the arm. But it is considered that consumer desktops have widely adopted arm processor architecture in recent years, this is not a dealbreaker.

Let's go to the process of registering and setting an example.

Registering an OCI account (and giving them your credit card)

Start by going to the Oracle Cloud website and clicking on “Sign Up.” In the Account Information section, enter your name, email, and country.

After verifying the email, enter your password and set up “Home Region”.

It is important to specify the region that supports arm institutions (there are not). I used to France Central (Paris) for proximity (to have lower latency) and arm support.

The next step is to verify your identity by providing a payment method – enter your credit card information. You will not be charged; This is only for verification of identity. Make sure the resources you created in your Oracle Cloud account remain always within the “always free” limits.

Setting up an instance

When the account is complete, go to opportunities to your Oracle Cloud portal and click “Create example”. Choose a placement that supports Ampere (ARM) processors – otherwise, free tier shapes will not appear.

The choice of an operating system and the shape of the example

The next step is to choose an operating system that will run on your VM. Ubuntu is a safe choice for general-purpose development, but Oracle Linux works best with the Oracle ecosystem and general server cargo.

Below, choose your example example. Here you specify the type of your example, number of OCPUs, and RAMs. The free tier provides up to 4 OCPUs and 24 GB RAM (until April 2025), so be sure to choose a shape that fits within those limitations.

Optionally, you can provide a starting script. This is similar to “user data” in the instances of AWS EC2 (if you are familiar with that). Because this is the only example to create for the experiment, you can always start and configure it -is the example.

Press “Next” once everything is configured, and the next “security” step will be selected. You can freely press Next and go to networking.

Networking setup and ssh

For simplicity, use the default Virtual Network Interface Card (VNIC). Next, configure access to SSH by uploading your public key (.pub). This allows the safe remote to log your VM.

The next step is to configure your storage. Oracle includes 200GB in the free tier. To avoid potential issues later, set a custom boot size to 200GB.

Finally, check all the settings and create an example.

The operation of the newly created example

An example is created and you will find it on your list on the cloud portal. When the example shows a “running”, it is ready to use and it is possible to connect to it. Find its public IP address and connect via SSH:

ssh @

Exposing additional ports

By default, Port 80 (http) and 443 (https) are blocked, preventing public access to web applications. There are 2 items required to be able to make to ensure that there is a connection through additional ports (besides SSH):

  1. Updating Ingress rules to the Virtual Cloud Network security list (VCN).
  2. Allow example iptables policies that can be configured by default.

Updating Ingress Rules

Go to Virtual Cloud Networks on your Oracle Cloud Portal, select the default VCN used by the newly created example. Then navigate to the subnets tab and select the default created subnet. Click on the Security tab and navigate the default security list created for that subnet. There it is necessary to open the “Security Rules” tab and there it is possible to add new Ingress rules. Let's create one for allowing incoming HTTPS traffic:

When it is saved, you can test your connection by running a simple web app or just by connecting utilities such as Netcat (nc) o telnet:

nc -zv  443
# or
telnet  443

If it connects, then you are good; Otherwise, let's see iptables Configuring.

Configuring iptables

In the event that the example is still blocked by traffic (even after opening the access to the ports via the Oracle VCN security list), it is necessary to look at the internal firewall settings. Here iptables Incoming.

In Ubuntu, optionally it is possible to configure the firewall ufw (Non -complex firewall), which works as a simplified interface for management iptables Laws. If there is no previous adjustment, an example may come with a pre-configure default restriction rule range.

First, check if iptables is actively filing traffic:

sudo iptables -L

If you do not see ACCEPT Laws for Port 443, you need to manually add it:

# Allow incoming traffic on port 443
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Optionally, allow HTTP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Allow established connections (if not already allowed)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow loopback interface (optional but recommended)
sudo iptables -A INPUT -i lo -j ACCEPT

Enter the following command to proceed with the rules:

sudo apt install iptables-persistent
sudo netfilter-persistent save

Alternatively, you can use ufw with the equivalent set of terminal commands:

sudo ufw allow 443/tcp
sudo ufw allow 80/tcp
sudo ufw enable

What is the same as using a free VM as your playground

This VM has been using this for almost a year for the development and operation of test web applications. I access it from an iPad using Blink (with Neovim), and from a desktop by remote SSH extension of VSCode. To make the entire user experience, I set up a Mosh server -it offers ongoing terminal sessions even with unstable connection.

The biggest reversal in this setup is that the same terminal is available from any machine (provided by the fact that there are credentials). Oracle's free VM is a solid playground for expansion tests, CLI experimentation and even light -pole -posting app.

Releated Resources:

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button

Adblocker Detected

Please consider supporting us by disabling your ad blocker