Back to Blog
free website no credit card
oracle cloud free tier
completely free website 2025
free wordpress hosting
oracle always free tier
free website hosting no card
duckdns free domain
no credit card website

Free Website 2025: No Credit Card Required (Oracle Cloud Guide)

100% free website—£0 cost, no credit card. Oracle Cloud + DuckDNS + WordPress + SSL setup guide. Includes honest limitations & why most should pay £250 instead.

29 October 2025

30 min read

Vezra Team

Web Development Specialists

How to Get a Completely Free Website in 2025: No Credit Card Required

Every "free" website service eventually asks for your credit card. Wix, Squarespace, even Google Cloud—they all want those 16 digits "just in case."

But what if you want a genuinely free website without handing over your credit card details?

It's possible. It's technical. It's time-consuming. But if you're up for the challenge (or just curious about what "free" really means), this guide shows you exactly how to do it.

Fair warning: This takes 15-20 hours and requires Linux command-line skills. If that sounds painful, Vezra handles everything for £250 in 10 days—no technical headaches.

Quick Answer: What You Actually Get for Free

Component Oracle Cloud Free Tier Requires Credit Card?
Server (Compute) 1 CPU, 1GB RAM, 50GB storage ❌ No
Database (MySQL) MySQL HeatWave (50GB) ❌ No
Bandwidth 10TB outbound per month ❌ No
Domain Name Free subdomain via DuckDNS (yoursite.duckdns.org) ❌ No
SSL Certificate Let's Encrypt (free, but manual renewal) ❌ No
Support Community forums only N/A
Backups You handle manually N/A
Maintenance All on you (security, updates, monitoring) N/A

Bottom line: Oracle Cloud's "Always Free" tier + DuckDNS free subdomain = genuinely £0 forever. No credit card required anywhere, no surprise charges. But you pay with your time and technical expertise.

What "Always Free" Actually Means (The Reality Check)

Oracle Cloud offers an "Always Free" tier that doesn't expire. Unlike AWS or Google Cloud free tiers (which last 12 months), Oracle's free resources are permanent.

What you get (according to Oracle's official documentation):

  • Compute: 2 AMD-based compute instances (1/8 OCPU, 1GB RAM each)
  • Storage: 200GB total block volume storage
  • Database: 2 Oracle Autonomous Databases OR MySQL HeatWave
  • Networking: 10TB outbound data transfer per month
  • Load Balancer: 1 flexible load balancer (10Mbps)

For a basic WordPress site, you'll use:

  • 1 compute instance (Ubuntu 22.04, 1GB RAM)
  • 1 MySQL HeatWave database
  • ~100GB bandwidth per month (sufficient for 1,000-2,000 visitors)

Limitations you MUST understand:

  • Performance: 1GB RAM = slow. Good for 50-100 concurrent visitors maximum. Any traffic spike crashes your site.
  • No automatic scaling: Can't handle viral moments or busy periods
  • Geographic restrictions: Limited server locations (may affect UK visitors' speed)
  • Account termination risk: Oracle reserves the right to reclaim free resources from "inactive" accounts (though rare)
  • Support: Community forums only. No phone, no live chat, no email tickets.

Is this genuinely free forever? Yes. Oracle has committed to the Always Free tier as a permanent offering. But "free" doesn't mean "easy" or "reliable for business use."

Reality check: For a hobby blog or learning project, this is brilliant. For a business website? You're risking your reputation on 1GB of RAM and no support. Vezra offers professional hosting, automatic backups, and 12 months support for £250—less than £1 per day.

Who This Guide Is Actually For

✅ This free setup is perfect if you:

  • Are a developer or sysadmin learning cloud infrastructure
  • Want to experiment with WordPress/Linux without spending money
  • Enjoy technical challenges and troubleshooting
  • Have 15-20 hours to invest in setup + ongoing maintenance
  • Have patience to wait days/weeks for Oracle to have capacity available
  • Are willing to add a credit card for priority (but won't be charged)
  • Don't mind if your site goes down occasionally
  • Are building a personal blog or portfolio (not business-critical)

❌ Skip this and pay £250 for Vezra if you:

  • Run a business that depends on your website
  • Don't have Linux/command-line experience
  • Value your time at more than £15/hour (you'll spend 15+ hours on this)
  • Need reliable uptime and fast loading speeds
  • Want automatic backups and security updates
  • Don't want to troubleshoot SSL renewals, server crashes, or security patches
  • Don't want to risk accidentally selecting a paid instance shape and getting a £300+ bill

Time value calculation: If you bill at £40/hour, 15 hours = £600 of your time. Vezra's £250 service saves you £350 AND gives you better hosting, support, and security.

The Complete Free Website Setup Guide

Welcome to the challenge. This isn't for the faint of heart, but if you're committed, here's exactly how to do it.

Step 1: Create an Oracle Cloud Free Tier Account (No Credit Card)

Why Oracle? Unlike AWS, Google Cloud, or Microsoft Azure, Oracle doesn't require a credit card for the Always Free tier. You can sign up with just an email address.

The process:

  1. Go to oracle.com/cloud/free/
  2. Click "Start for free"
  3. Fill in your details:
    • Email address
    • Country (select UK)
    • Home region (select UK South - London recommended for UK sites)
  4. Verify your email
  5. Complete identity verification (Oracle may ask for phone verification—but NOT a credit card)
  6. Wait 10-30 minutes for account approval

Important: Choose your "Home Region" carefully—you can't change it later. For UK sites, select "UK South (London)" for best performance with UK visitors.

Verification issues? Oracle occasionally flags new accounts for manual review (usually resolved within 24 hours). Check your spam folder for verification emails.


⏱️ Too many hoops already? Vezra handles all of this for £250—account setup, server configuration, and professional hosting included. No technical knowledge required.


Step 2: Launch Your Always Free Compute Instance (The Hardest Part)

⚠️ CRITICAL WARNING: Resource Availability Hell

This is where most people get stuck. Oracle Cloud frequently shows "Out of Capacity" errors when trying to create free tier compute instances—especially for accounts without credit cards.

The brutal reality (backed by user reports on Reddit r/OracleCloud and Stack Overflow):

  • Without credit card: You're deprioritized for free tier resources. It can take days, weeks, or even months of repeated attempts before you successfully launch an instance.
  • With credit card on file: Priority access to free tier resources (Oracle wants you to potentially upgrade).
  • Peak times: Capacity worse during evenings/weekends when hobbyists try to sign up.
  • Region matters: Some regions (London, Frankfurt, US East) run out of free tier capacity faster than others.

Real user experiences:

  • "Tried for 3 months to get an Always Free instance without a card. Finally gave up and added card, got instance immediately." - Reddit user
  • "Out of capacity for ARM instances in every region. Been trying daily for 2 weeks." - Stack Overflow
  • "Free tier is 'always free' but 'never available' without payment method." - Common complaint on Oracle forums

Your strategy if you get "Out of Capacity" error:

  1. Try different regions (avoid London/Frankfurt—try Singapore, Mumbai, Sao Paulo)
  2. Try different times of day (early morning UTC often has better availability)
  3. Create an account WITH a credit card (you still won't be charged for free tier, but you get priority)
  4. Try ARM-based instances (sometimes more available than AMD)
  5. Be persistent—check daily for 1-2 weeks
  6. Join r/OracleCloud subreddit for real-time availability reports

The catch-22: You want truly free hosting (no card), but Oracle makes resources more available to accounts with payment methods. You might spend 10-20 hours spread across weeks just trying to launch your first instance.

Reality check: Is 20+ hours of your time trying to get free hosting worth it? At £20/hour, that's £400+ of your time—more than Vezra's £250 package that launches in 10 days guaranteed.


💡 Skip the capacity lottery: Vezra's hosting is ready immediately—no waiting, no "out of capacity" errors, no frustration. Launch in 10 working days.


Assuming you eventually succeed in launching an instance (or you added a credit card for priority access)...

Launch your virtual machine:

⚠️ CRITICAL BILLING WARNING ⚠️

If you added a credit card for priority access, you MUST select the correct "Always Free" shape or you'll be charged. Paid instances can cost £50-200+ per month. Oracle won't warn you before charging.

The ONLY Always Free compute shapes are:

  • VM.Standard.E2.1.Micro (AMD) — 1 OCPU, 1GB RAM ✅ FREE
  • VM.Standard.A1.Flex (ARM) — Up to 4 OCPUs, 24GB RAM total across instances ✅ FREE

Any other shape = PAID. Shapes like "VM.Standard2.1" or "VM.Standard.E4" look similar but cost money.

How to verify you're selecting free tier: Oracle shows a green "Always Free-eligible" label next to free shapes. If you don't see this label, DON'T proceed.

  1. From the Oracle Cloud Console, click the hamburger menu (top left)
  2. Navigate to: Compute → Instances
  3. Click "Create Instance"
  4. Configure your instance:
    • Name: wordpress-server (or whatever you prefer)
    • Placement: Leave as default
    • Image: Canonical Ubuntu 22.04 (recommended for WordPress—it's stable, secure, and well-documented)
    • Shape: Click "Change Shape"
      • Select "Specialty and previous generation"
      • Find VM.Standard.E2.1.Micro (1 OCPU, 1GB RAM)
      • Verify "Always Free-eligible" label is visible
      • Click "Select Shape"
    • Virtual cloud network: Create new (Oracle will auto-generate)
    • Assign a public IPv4 address: ✅ Enabled
  5. Add SSH keys:
    • Oracle generates a key pair for you—download both private and public keys
    • CRITICAL: Save the private key securely. You'll need it to access your server. If you lose it, you're locked out permanently.
  6. Click "Create"
  7. Wait 2-3 minutes for provisioning

Note your public IP address — you'll need this for everything. Find it under "Instance Information" → "Primary VNIC" → "Public IP Address."

✅ VERIFY YOU WON'T BE CHARGED:

After your instance is running, double-check you're on free tier:

  1. Go to Billing & Cost Management → Cost Analysis in the Oracle Cloud Console
  2. Check "Forecast" for this month — should show £0.00 or very close to £0
  3. If you see forecasted costs of £50+, STOP and delete your instance immediately
  4. Check your instance details page — should display "Always Free" badge

If you accidentally created a paid instance:

  • Go to Compute → Instances
  • Click the three dots next to your instance → Terminate
  • Confirm termination immediately to avoid charges
  • Start over with the correct Always Free shape

Pro tip: Set up budget alerts (Billing → Budgets) to email you if costs exceed £5. This warns you immediately if something goes wrong.

Step 3: Configure Firewall Rules (Allow Web Traffic)

By default, Oracle blocks all incoming traffic except SSH. You need to open ports 80 (HTTP) and 443 (HTTPS) for web visitors.

Configure Oracle Cloud Security Lists:

  1. From your instance page, click your Virtual Cloud Network name
  2. Click "Security Lists" (left sidebar)
  3. Click "Default Security List"
  4. Click "Add Ingress Rules"
  5. Add HTTP rule:
    • Source CIDR: 0.0.0.0/0
    • IP Protocol: TCP
    • Destination Port Range: 80
    • Click "Add Ingress Rules"
  6. Repeat for HTTPS:
    • Source CIDR: 0.0.0.0/0
    • IP Protocol: TCP
    • Destination Port Range: 443
    • Click "Add Ingress Rules"

Also configure Ubuntu's firewall (iptables):

SSH into your server first. From your local terminal:

ssh -i /path/to/your-private-key ubuntu@YOUR_PUBLIC_IP

Once connected, run:

sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save

Verify it worked:

sudo iptables -L -n

You should see ACCEPT rules for ports 80 and 443.


🤯 Getting lost in firewall rules? This is just step 3 of 8. Vezra does all of this for £250—no command line required, no technical expertise needed.


Step 4: Install and Configure MySQL HeatWave Database

WordPress needs a database. Oracle offers MySQL HeatWave in the free tier—a fully managed MySQL database with 50GB storage.

Create your MySQL database:

  1. From Oracle Cloud Console, navigate to: Databases → MySQL → DB Systems
  2. Click "Create MySQL DB System"
  3. Configure:
    • Name: wordpress-db
    • Shape: MySQL.Free (1 OCPU, 50GB storage)
    • Username: admin (or your choice)
    • Password: Create a strong password (save it securely!)
    • Virtual Cloud Network: Select the same VCN as your compute instance
  4. Click "Create"
  5. Wait 10-15 minutes for provisioning

Note the database endpoint — you'll find it under "DB System Information" → "Endpoint" → "Private IP Address."

Test database connectivity from your server:

# Install MySQL client
sudo apt update
sudo apt install mysql-client -y

# Test connection (replace with your DB private IP and credentials)
mysql -h YOUR_DB_PRIVATE_IP -u admin -p

Enter your password. If you see the MySQL prompt, you're connected!

Create WordPress database:

CREATE DATABASE wordpress;
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
FLUSH PRIVILEGES;
EXIT;

Step 5: Install PHP, Nginx, and Required Packages

WordPress requires PHP and a web server. We'll use Nginx (faster and lighter than Apache for 1GB RAM environments). Nginx is used by high-traffic sites like Netflix and Cloudflare.

Install everything WordPress needs:

# Update system packages
sudo apt update && sudo apt upgrade -y

# Install Nginx
sudo apt install nginx -y

# Install PHP and required extensions
sudo apt install php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd php8.1-mbstring php8.1-xml php8.1-xmlrpc php8.1-soap php8.1-intl php8.1-zip -y

# Install unzip and wget (needed for WordPress)
sudo apt install unzip wget -y

# Start Nginx
sudo systemctl start nginx
sudo systemctl enable nginx

Verify Nginx is running:

Visit http://YOUR_PUBLIC_IP in your browser. You should see the Nginx welcome page.

Step 6: Download and Install WordPress

Now we install WordPress manually (no Docker, as requested). According to W3Techs, WordPress powers 43% of all websites and is completely free and open-source.

Download and extract WordPress:

# Go to web root
cd /var/www/html

# Download latest WordPress
sudo wget https://wordpress.org/latest.tar.gz

# Extract
sudo tar -xzvf latest.tar.gz

# Move files to web root
sudo mv wordpress/* .

# Clean up
sudo rm -rf wordpress latest.tar.gz

# Set correct permissions
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html

Configure WordPress:

# Copy sample config
sudo cp wp-config-sample.php wp-config.php

# Edit configuration
sudo nano wp-config.php

Update these lines with your MySQL credentials:

define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wpuser' );
define( 'DB_PASSWORD', 'your_strong_password' );
define( 'DB_HOST', 'YOUR_DB_PRIVATE_IP' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );

Generate security keys:

Visit https://api.wordpress.org/secret-key/1.1/salt/ and copy the generated keys. Replace the placeholder keys in wp-config.php.

Save and exit (Ctrl+X, then Y, then Enter).

Step 7: Configure Nginx as Reverse Proxy

We need to configure Nginx to serve WordPress properly.

Create Nginx server block:

sudo nano /etc/nginx/sites-available/wordpress

Paste this configuration:

server {
    listen 80;
    server_name YOUR_PUBLIC_IP;
    root /var/www/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }

    # Disable access to sensitive files
    location ~* \.(txt|log|md)$ {
        deny all;
    }

    # Browser caching for static assets
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    # Gzip compression
    gzip on;
    gzip_vary on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
}

Enable the site and restart Nginx:

# Create symbolic link
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/

# Remove default site
sudo rm /etc/nginx/sites-enabled/default

# Test configuration
sudo nginx -t

# Restart Nginx
sudo systemctl restart nginx

Complete WordPress installation:

Visit http://YOUR_PUBLIC_IP in your browser. You should see the WordPress installation wizard. Follow the prompts:

  1. Select language
  2. Create admin account (username, password, email)
  3. Set site title and tagline
  4. Click "Install WordPress"

Congratulations! WordPress is now running. But you're not secure yet—no HTTPS.


⏰ Spent 8 hours so far? You're only 60% done. Or pay £250 for Vezra and be online in 10 days with zero technical headaches—hosting, SSL, and support all included.


Step 7.5: Get a Free Domain with DuckDNS (100% Free, No Credit Card)

Before we can set up SSL, you need a domain name. Let's Encrypt can't issue certificates for IP addresses—but DuckDNS provides completely free subdomains forever.

What is DuckDNS? A free dynamic DNS service that gives you a subdomain (like yourwebsite.duckdns.org) and points it to your server's IP address. No credit card, no payment, completely free forever.

Set up DuckDNS:

  1. Go to duckdns.org
  2. Sign in with Google, GitHub, Reddit, or Twitter (no separate registration needed)
  3. Create a subdomain:
    • Enter your desired name (e.g., "myawesomesite")
    • This becomes: myawesomesite.duckdns.org
    • Enter your Oracle server's public IP address
    • Click "Add Domain"
  4. Note your DuckDNS token (shown at the top of the page—keep this secure!)

Verify DNS is working:

Wait 2-5 minutes for DNS propagation, then test:

nslookup myawesomesite.duckdns.org

Should show your server's IP address.

Optional: Set up automatic IP updates (if your Oracle IP ever changes):

# Install DuckDNS update script
mkdir ~/duckdns
cd ~/duckdns
nano duck.sh

Paste this script (replace YOUR_TOKEN and YOUR_DOMAIN):

#!/bin/bash
echo url="https://www.duckdns.org/update?domains=YOUR_DOMAIN&token=YOUR_TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -

Make it executable and set up cron:

chmod 700 duck.sh
crontab -e

Add this line to update every 5 minutes:

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1

Alternative free DNS services (if DuckDNS is down):

  • FreeDNS (freedns.afraid.org): More domain options, slightly more complex
  • No-IP (noip.com): Free tier available, requires monthly confirmation
  • Dynu (dynu.com): 4 free hostnames

Now you have a free domain! Let's secure it with SSL.

Step 8: Set Up Let's Encrypt SSL (Free HTTPS)

Your site needs HTTPS. Google uses HTTPS as a ranking signal, and browsers show "Not Secure" warnings for HTTP sites. We'll use Let's Encrypt, a free, automated certificate authority trusted by all major browsers.

Install Certbot (the official Let's Encrypt client):

sudo apt install certbot python3-certbot-nginx -y

Update Nginx with your DuckDNS domain:

sudo nano /etc/nginx/sites-available/wordpress

Change server_name YOUR_PUBLIC_IP; to server_name myawesomesite.duckdns.org; (use your actual DuckDNS subdomain)

Restart Nginx:

sudo systemctl restart nginx

Obtain SSL certificate:

sudo certbot --nginx -d myawesomesite.duckdns.org

Note: With DuckDNS, you only get one subdomain (no www version), so you only specify one domain with the -d flag.

Follow the prompts:

  • Enter your email address
  • Agree to Terms of Service
  • Choose whether to redirect HTTP to HTTPS (select "2" for redirect—recommended)

Certbot automatically configures Nginx for HTTPS and installs the certificate.

Verify HTTPS works: Visit https://myawesomesite.duckdns.org (your actual subdomain) — you should see a padlock icon.

Set up automatic renewal:

Let's Encrypt certificates expire every 90 days. Set up a cron job for auto-renewal:

sudo crontab -e

Add this line:

0 3 * * * certbot renew --quiet --post-hook "systemctl reload nginx"

This checks for renewal daily at 3 AM and reloads Nginx if certificates are renewed.

Test renewal process:

sudo certbot renew --dry-run

If no errors, you're done!

What You've Just Accomplished (and What It Cost You)

✅ You now have:

  • A live WordPress website on free Oracle Cloud hosting
  • MySQL database (50GB free storage)
  • HTTPS/SSL encryption (via Let's Encrypt)
  • Nginx web server optimized for low RAM
  • Automatic SSL renewal (if cron job works correctly)

💰 Total monetary cost: £0 (100% free with DuckDNS subdomain—no credit card ever required)

⏰ Time investment: 15-20 hours (setup + learning + troubleshooting) + potentially days/weeks waiting for Oracle capacity

⏳ Timeline: 2-8 weeks from starting to having a live site (depending on Oracle capacity availability)

🔧 Ongoing maintenance burden:

  • WordPress updates: 30 minutes monthly
  • Plugin updates: 30 minutes monthly
  • Security monitoring: 1 hour monthly
  • Backup creation: 1 hour monthly (you must do this manually)
  • Troubleshooting issues: 1-3 hours monthly (crashes, errors, performance problems)

Total ongoing time: 3-6 hours per month.

The Brutal Reality: Limitations You'll Face

Let's be honest about what you've signed up for.

1. Performance Issues

1GB RAM = slow.

  • Page load times: 2-4 seconds (vs. 0.8-1.5 seconds on professional hosting). According to Google research, 53% of mobile users abandon sites that take over 3 seconds to load.
  • Concurrent visitors: 50-100 maximum before server chokes
  • Traffic spikes: If a post goes viral (500+ simultaneous visitors), your site crashes. Oracle doesn't auto-scale on free tier.
  • Plugin limitations: Many popular plugins (WooCommerce, complex page builders) consume too much RAM and will crash your site

Real-world impact: If you get featured on social media or a popular blog links to you, your site will be down exactly when you need it most.

2. No Automatic Backups

Oracle doesn't back up your free tier resources. If:

  • Your server crashes
  • You accidentally delete files
  • A plugin breaks your database
  • Your account is compromised

You lose everything. Gone. Unless you manually back up regularly (which you won't, let's be honest).

Professional hosting (like Vezra): Daily automatic backups, stored offsite, restored in minutes.

3. Security Is Your Responsibility

You must manually:

  • Update WordPress core (monthly)
  • Update plugins (weekly)
  • Update Ubuntu system packages (weekly)
  • Monitor for security vulnerabilities
  • Configure firewalls correctly
  • Watch for brute-force login attempts

Miss an update? Your site gets hacked. WordPress is the most targeted CMS for attacks due to its popularity—automated bots constantly scan for vulnerable sites.

Professional hosting (like Vezra): Automatic security updates, malware scanning, firewall protection included.

4. Uptime Is Not Guaranteed

Free tier = no SLA (Service Level Agreement). Oracle can:

  • Reboot your server without notice
  • Perform maintenance during your peak hours
  • Reclaim resources from "inactive" accounts (rare, but documented)

Professional hosting: 99.9% uptime guarantee, proactive monitoring, immediate issue resolution.

5. No Support When Things Break

When (not if) something goes wrong:

  • Server won't start
  • Database connection fails
  • SSL renewal fails (happened to many users)
  • Site is suddenly very slow
  • Getting 500 errors

Your support options: Google it. Ask on forums. Wait for strangers to reply (maybe). Fix it yourself at 11 PM.

Professional hosting support: Email or ticket, get help within hours, problems fixed by experts.

6. Geographic Limitations

Oracle's free tier has limited regions. If your audience is in the UK but you had to choose a US data center (London was full), your site loads slowly for UK visitors.

Professional UK hosting: UK-based servers, fast for UK customers, better for local SEO.

Time Cost vs. Monetary Cost: The Real Calculation

Let's do the math honestly.

Your time investment:

  • Initial setup: 15-20 hours (if everything goes smoothly—20-30 if you hit issues)
  • Monthly maintenance: 3-6 hours
  • First year total: 15-20 hours setup + (3-6 hours × 12 months) = 51-92 hours

What's your time worth?

  • At £20/hour: £1,020 - £1,840
  • At £40/hour: £2,040 - £3,680
  • At £60/hour: £3,060 - £5,520

Vezra alternative:

  • Upfront: £250 (includes 12 months hosting, support, backups, SSL)
  • Your time required: 2 hours (filling questionnaire, reviewing design, approving launch)
  • Ongoing maintenance: 0 hours (we handle everything)
  • Year 2 onwards: £120/year (£10/month hosting + support)

Value comparison over 2 years:

Factor Free Oracle Setup Vezra (£250)
Monetary cost (2 years) £0 (100% free with DuckDNS) £370 (£250 + £120 year 2)
Time investment (2 years) 102-184 hours + weeks waiting for capacity 2 hours
Time to launch 2-8 weeks (capacity dependent) 10 working days guaranteed
True cost at £40/hour £4,080 - £7,360 £370 + (2 hours × £40) = £450
Performance Slow, limited Fast, optimized
Support None 12 months included
Backups Manual (if you remember) Automatic daily
Security updates Your responsibility Handled for you
Uptime No guarantee 99.9% SLA

Verdict: "Free" costs £4,000-7,000 in time value. Vezra costs £450 total over 2 years.

You save £3,500-6,900 by paying £250.

Get started with Vezra for £250 — professional hosting, automatic backups, SSL included, 10-day delivery, 12 months support.

Common Problems and Troubleshooting

If you're proceeding with the free setup, here are issues you'll likely encounter:

Problem 1: Can't SSH into Server

Symptoms: "Connection refused" or "Permission denied" when trying to SSH.

Causes:

  • Wrong private key file
  • Incorrect file permissions on key
  • Security list doesn't allow SSH (port 22)

Fix:

# Set correct permissions on private key
chmod 400 /path/to/your-private-key

# Try SSH again
ssh -i /path/to/your-private-key ubuntu@YOUR_PUBLIC_IP

# If still fails, check Oracle Cloud security list allows port 22

Problem 2: Website Shows Nginx Welcome Page (Not WordPress)

Cause: Nginx is serving default page instead of WordPress files.

Fix:

# Check if WordPress files are in correct location
ls -la /var/www/html

# Should see index.php, wp-config.php, etc.

# Check Nginx configuration
sudo nginx -t

# Restart Nginx
sudo systemctl restart nginx

Problem 3: "Error Establishing Database Connection"

Causes:

  • Wrong MySQL credentials in wp-config.php
  • MySQL server not running
  • Firewall blocking connection between compute and database

Fix:

# Test MySQL connection manually
mysql -h YOUR_DB_PRIVATE_IP -u admin -p

# If fails, check security list allows MySQL port 3306 from compute instance
# Update wp-config.php with correct credentials

# Verify database user has correct privileges
mysql -h YOUR_DB_PRIVATE_IP -u admin -p
SHOW GRANTS FOR 'wpuser'@'%';

Problem 4: SSL Certificate Fails to Install

Common causes:

  • Domain not pointing to server IP yet (DNS propagation takes 1-24 hours)
  • Firewall blocking port 80 or 443
  • Nginx not configured with correct domain

Fix:

# Verify DNS is working
nslookup yourdomain.com

# Should show your server's public IP

# Test Nginx configuration
sudo nginx -t

# Try Certbot again
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Problem 5: Site Crashes Under Load

Symptom: Site works fine with 5-10 visitors, crashes when traffic increases.

Cause: 1GB RAM is insufficient.

Temporary fixes:

  • Install a caching plugin (WP Super Cache or W3 Total Cache)
  • Disable unnecessary plugins
  • Optimize images (use WebP format, compress all images)
  • Use Cloudflare free CDN

Permanent fix: Upgrade to paid hosting (like Vezra) with sufficient resources.

Problem 6: Server Randomly Reboots or Stops

Cause: Oracle occasionally performs maintenance on free tier resources.

Fix: Monitor uptime with a free service like UptimeRobot. Set up email alerts for downtime. SSH in and restart services manually:

sudo systemctl restart nginx
sudo systemctl restart php8.1-fpm

Or: Pay for professional hosting with 99.9% uptime SLA.

Frequently Asked Questions

"Is Oracle Cloud Always Free really free forever?"

Yes. Oracle has publicly committed to the Always Free tier being permanent. Unlike AWS and Google Cloud (which offer 12-month trials), Oracle's free resources don't expire.

Caveats:

  • Oracle reserves the right to reclaim resources from accounts deemed "inactive" (typically hasn't logged in for 90+ days)
  • Oracle can change the terms in the future (though they've maintained it since 2019)
  • Free tier availability varies by region (some regions run out of free tier capacity)

"Do I really not need a credit card?"

Correct. Unlike AWS, Google Cloud, or Azure, Oracle doesn't require a credit card for Always Free tier access. You sign up with email and complete phone verification.

BUT there's a massive catch: Accounts without credit cards are deprioritized for free tier compute resources. You'll likely encounter "Out of Capacity" errors and may need to try for days, weeks, or months before successfully launching an instance.

The workaround: Add a credit card to your account for priority access. You still won't be charged for free tier resources, but Oracle gives priority to accounts with payment methods on file. According to community reports, accounts with cards get instances immediately, while those without cards wait indefinitely.

If you want paid services later (like upgrading to 4GB RAM), you'll need to add a credit card. But for free tier only, technically no card required—just be prepared for the capacity lottery.

"How much traffic can a 1GB RAM server handle?"

Realistic estimates:

  • Without caching: 50-100 concurrent visitors maximum
  • With caching plugin: 200-500 concurrent visitors
  • Daily visitors: 1,000-3,000 (assuming spread throughout the day)

If you exceed these numbers: Site becomes extremely slow or crashes with 503/504 errors.

For comparison, Vezra's hosting handles: 10,000-20,000 daily visitors comfortably.

"What happens if I exceed the free tier limits?"

You can't accidentally exceed free tier limits on compute/database. Oracle doesn't charge unless you explicitly upgrade to paid resources.

Bandwidth: 10TB/month outbound is generous (enough for 50,000-100,000 page views). If you somehow exceed this, Oracle doesn't charge—they throttle your bandwidth or notify you.

"Can I use this for an e-commerce site?"

Technically yes, practically no.

Reasons not to:

  • Performance too slow for good customer experience
  • No uptime guarantee (lost sales when site crashes)
  • Security burden is enormous (you're handling payment data—one breach = massive liability)
  • PCI compliance requirements (extremely complex on self-managed hosting)

For e-commerce: Pay for professional hosting with proper security, backups, and compliance. Vezra can handle e-commerce sites—contact us for a quote.

"How do I back up my site?"

Manual backup process:

# Backup WordPress files
cd /var/www/html
sudo tar -czf wordpress-backup-$(date +%Y%m%d).tar.gz .

# Download to your computer using SCP
scp -i /path/to/key ubuntu@YOUR_IP:/var/www/html/wordpress-backup-*.tar.gz ~/Downloads/

# Backup database
mysqldump -h YOUR_DB_IP -u wpuser -p wordpress > wordpress-db-backup-$(date +%Y%m%d).sql

# Download database backup
scp -i /path/to/key ubuntu@YOUR_IP:~/wordpress-db-backup-*.sql ~/Downloads/

Recommended: Set up automated backups with a cron job that uploads to Dropbox or Google Drive (requires additional scripting).

Or: Vezra includes automatic daily backups—no configuration, no scripts, no remembering to do it manually.

"Can I get email hosting for free too?"

Not from Oracle. You'll need separate email hosting.

Free options:

  • Gmail/Outlook with custom domain (free for basic use)
  • Zoho Mail (free tier: 5GB storage, ads)
  • Migadu (free tier with limitations)

Paid options:

  • Google Workspace: £4.60/user/month
  • Microsoft 365: £3.80/user/month
  • Vezra: £6.99/month for professional email hosting (unlimited users, 5GB storage)

"Is this setup secure enough for a business?"

Honest answer: Probably not.

Security requires:

  • Timely updates (WordPress, plugins, Ubuntu packages)
  • Firewall configuration and monitoring
  • SSL certificate renewal
  • Malware scanning
  • Brute-force protection
  • DDoS mitigation
  • Regular security audits

If you're not a security expert and you miss something, you're vulnerable. Hacked websites damage reputation, lose customer data, and can result in legal liability.

For business use: Pay for managed hosting with security included. £250 for Vezra buys you professional security monitoring, automatic updates, malware scanning, and SSL management.

"Can I migrate to paid hosting later if this doesn't work out?"

Yes. WordPress sites are portable. You can migrate to professional hosting anytime.

Migration process:

  1. Export WordPress files (download via SFTP or create archive)
  2. Export database (mysqldump)
  3. Sign up for new hosting
  4. Upload files and import database
  5. Update DNS to point to new hosting

Vezra migration service: We handle migrations for free. If you start with Oracle free tier and later want to move to professional hosting, contact us—we'll migrate everything for £0.

"How do I make sure I won't be charged if I add a credit card?"

This is critical. If you add a card for priority access but select the wrong instance shape, you could be charged £50-200+ per month without warning.

Protection steps:

  1. Only select "Always Free-eligible" shapes:
    • VM.Standard.E2.1.Micro (AMD) ✅
    • VM.Standard.A1.Flex (ARM) ✅
    • Everything else = PAID ❌
  2. Look for the green "Always Free-eligible" label when selecting compute shapes. No label = you'll be charged.
  3. Check Cost Forecast immediately after creation: Go to Billing & Cost Management → Cost Analysis. Should show £0.00.
  4. Set up budget alerts: Billing → Budgets → Create budget for £5. You'll get emailed if you accidentally incur charges.
  5. Check for "Always Free" badge: Your instance details page should display an "Always Free" indicator.

If you see unexpected charges: Terminate the instance immediately (Compute → Instances → three dots → Terminate). Contact Oracle support to dispute charges if caught within 24 hours.

Real horror stories from r/OracleCloud: Users accidentally selecting paid instances and getting bills for £300-1,000+ for a single month. Oracle typically doesn't refund these mistakes.

"What if I keep getting 'Out of Capacity' errors?"

This is the most common problem with Oracle Cloud free tier. Here's what to try:

  1. Try different regions: London and Frankfurt fill up fastest. Try less popular regions like Mumbai, Singapore, Sao Paulo, or Montreal.
  2. Try different times: Early morning UTC (3-6 AM) often has better availability when fewer people are trying.
  3. Check r/OracleCloud: Community members often post when capacity becomes available in specific regions.
  4. Add a credit card: Oracle prioritizes accounts with payment methods. You won't be charged for free tier, but you'll get instant capacity access.
  5. Be persistent: Some users report trying daily for 2-4 weeks before success.
  6. Try ARM instances instead of AMD: Sometimes ARM shapes have better availability.

Reality check: If you've been trying for a week+ without success, your time is worth more than the free hosting. Vezra launches your site in 10 days for £250—no capacity lottery, no waiting, no frustration.

"How do I monitor if my site is down?"

Use a free uptime monitoring service:

  • UptimeRobot: Free, checks every 5 minutes, email/SMS alerts
  • Freshping: Free, 50 checks, multiple locations
  • StatusCake: Free tier available

Set up monitoring to ping your site every 5 minutes. You'll get alerted when it goes down (then you can SSH in and troubleshoot).

Professional hosting: Includes proactive monitoring and automatic issue resolution—you don't have to manually fix server issues at midnight.

The Bottom Line: Free vs. £250

This free Oracle Cloud setup is genuinely impressive if:

  • You're a developer learning cloud infrastructure
  • You're building a personal blog or hobby project
  • You genuinely enjoy troubleshooting and server administration
  • Downtime doesn't matter to you
  • You have 15-20 hours to invest upfront + 3-6 hours monthly

For everyone else—especially businesses—it's a false economy.

You "save" £250 by spending 15-20 hours of setup time (worth £600-1,200 at typical hourly rates) plus 3-6 hours monthly maintenance (worth £1,440-2,880 annually).

Real cost over 2 years: £3,500-6,900 in time + stress + risk of downtime.

Vezra alternative over 2 years: £370 (£250 + £120 year 2) for faster hosting, automatic backups, security updates, SSL, and 12 months support.

You save £3,100-6,500 by paying £250.

Ready to Skip the Complexity?

If you've read this far and thought "this sounds like a nightmare," you're right. It is—for non-technical business owners.

Vezra's £250 package includes everything this free setup tries to achieve, but better:

  • Professional hosting (4GB RAM, not 1GB—handles real traffic)
  • Automatic daily backups (stored securely offsite, restore in minutes)
  • SSL included (auto-renewing, no cron jobs to configure)
  • Security updates (WordPress, plugins, server—all handled automatically)
  • Fast UK servers (optimized for UK visitors, better for local SEO)
  • 99.9% uptime SLA (not "hope it stays online")
  • 12 months support (email/ticket, responded to by experts—not Google/forums)
  • Professional design (3 options to choose from)
  • 10 working days delivery (not 20+ hours of your time)
  • Mobile-optimized (works perfectly on all devices)
  • SEO ready (title tags, meta descriptions, sitemaps configured)
  • You own everything (domain, files, content—no lock-in)

After year 1: £9.99/month (£120/year) for continued hosting + support + security updates. Cancel anytime, move to another host if you wish—we provide all files.

Your time investment: 2 hours total (questionnaire, design review, approval). That's it.

Get started with Vezra for £250 — or view full pricing details.

Final Thoughts: Free Isn't Always Better

This guide proves you can get a completely free website without a credit card in 2025. Oracle Cloud's Always Free tier + DuckDNS free subdomain = £0 total cost. It's real, powerful, and genuinely useful for learning.

But "free" comes with massive hidden costs:

  • Time: 15-20 hours setup + 3-6 hours monthly maintenance
  • Waiting: Days or weeks trying to get Oracle capacity without a credit card
  • Billing risk: Select wrong instance shape = £300+ accidental bill from Oracle
  • Expertise: Linux, server administration, security knowledge required
  • Performance: 1GB RAM = slow site that crashes under load
  • Security: All updates and patches are your responsibility
  • Risk: No backups, no support, no uptime guarantee

For hobbyists and developers: This is a fantastic learning project. Build it, break it, rebuild it, learn cloud infrastructure.

For businesses: Your website represents your company. It needs to be fast, secure, always online, and backed up. Saving £250 while spending 50-100 hours annually on maintenance and risking downtime is terrible business logic.

The smart move: Pay £250 once. Get professional hosting, automatic backups, security, and support. Focus your time on serving customers and growing revenue—not troubleshooting SSL renewals at midnight.

Launch your professional website with Vezra for £250 — online in 10 days, zero technical headaches, 12 months support included.


Want to try the free route anyway? Bookmark this guide. When you hit issues (and you will), we'll be here. Vezra offers free migration from self-hosted setups—we'll move your site to professional hosting with zero downtime.

Questions about this guide or Vezra's services? Contact us — we're here to help, whether you choose free hosting or professional hosting.

Ready to Get Your Professional Website?

Get a custom website delivered in 10 days with 3 designs to choose from

From £250 + £9.99/month hosting
Get Started
Free Website 2025: No Credit Card Required (Oracle Cloud Guide) | Vezra Blog | Vezra