Free tools Windows power users keep installed
One-click scans. No signup required.
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
To install Apache on a Google Cloud server, create or select a Linux Compute Engine VM, allow inbound HTTP traffic, connect with the console’s SSH button, and run sudo apt update && sudo apt -y install apache2 on Ubuntu. Apache normally starts as soon as the package is installed. You then verify the service, place a test file in /var/www/html/, and browse to http://[EXTERNAL_IP].
Installation is only half of the job. Google Cloud’s VPC firewall must permit tcp:80, the VM must have an external IP for internet access, and production traffic should use HTTPS after you configure a domain, certificate, and TLS endpoint. The walkthrough below separates the VM, operating-system, firewall, addressing, and TLS decisions so you can diagnose each layer.
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
What do you need before installing Apache?
You need access to a Google Cloud project and permission to create or administer a Compute Engine VM. The procedure documented by Google Cloud uses an Ubuntu Linux VM, so the commands below assume Ubuntu rather than another distribution. You also need a browser session for the Google Cloud console and a way to copy the VM’s external address after it is created.
- A Linux Compute Engine VM: Create a new instance or select an existing Ubuntu instance.
- Console SSH access: The VM Instances page provides an SSH button that opens an administration session.
- HTTP networking: Select Allow HTTP traffic during VM creation when the site must be reachable on port 80, or create an equivalent VPC firewall rule later.
- An external IP: Internet clients need an external address to reach a service outside the VPC. The address can be ephemeral or reserved as static.
- A production plan: A public Apache site should eventually use HTTPS. That requires a domain, a certificate from a certificate authority, and TLS termination on the VM or on an HTTPS load balancer.
The HTTP checkbox does not install Apache. It handles the cloud-networking side; package installation and web-server configuration happen inside the VM after you connect over SSH.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
How do you create the Compute Engine VM?
Create a Linux VM in Compute Engine, then make sure its network settings match the kind of access you need. If you already have an Ubuntu VM with an external IP, you can start at the SSH step.
Choose an Ubuntu Linux instance
- Open the Google Cloud console and go to Compute Engine > VM instances.
- Choose Create instance, or open the existing Linux VM you intend to use.
- During creation, select an Ubuntu image and the machine settings appropriate for your workload.
- Under the networking or firewall options, select Allow HTTP traffic if this VM must accept public requests on
tcp:80. - Finish creating the instance and wait until its status shows that it is running.
Google Cloud’s option creates the cloud-side allowance for HTTP traffic. It does not guarantee that Apache is running, that the VM has an external IP, or that a custom firewall policy elsewhere in the VPC will permit the request.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Open an SSH session
On the VM instances page, click SSH in the row for the instance. A browser-based terminal opens with a shell on the VM. Run the installation commands in that shell, not in your local computer’s terminal, unless you have separately configured an SSH client to connect to the same instance.
How do you install Apache on Ubuntu?
Update Ubuntu’s package metadata and install the Apache 2 package in one command. The documented command is:
sudo apt update && sudo apt -y install apache2
apt update refreshes the package information available to the VM. The && operator starts the installation only if that refresh succeeds. The -y option accepts the package manager’s confirmation prompt, allowing the command to complete without an interactive response.
Google Cloud’s basic Apache tutorial states that the operating system automatically starts Apache after installation. In other words, a separate start command is normally unnecessary immediately after the package install. You should still verify the service rather than assuming that a successful package transaction means the web server is reachable from the internet.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
What files and service name does this procedure use?
The service is managed as apache2, which is the name you use with systemctl. The documented web root for the basic example is /var/www/html/. A file placed there can be returned by Apache as the site’s default page.
How do you verify that Apache is running?
Check the service state from the SSH session:
sudo systemctl status apache2
Look for an active service state in the status output. If the service is not active, the status screen is the first place to see whether the package failed to install or the service encountered a startup problem. Keep this check separate from firewall troubleshooting: a running service inside the VM does not prove that Google Cloud will forward an external request to it.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
How do you replace the default page with a test page?
Write a minimal HTML document to the documented document root:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
The command replaces the existing index.html in /var/www/html/. Because sudo tee writes the file with administrative privileges, it works even though the directory is normally protected from an unprivileged shell. A successful command prints the HTML that it wrote, giving you a quick confirmation that the file operation completed.
How do you open port 80 for Apache?
Google Cloud must have a VPC firewall rule that permits inbound tcp:80 to the VM. Selecting Allow HTTP traffic during instance creation is the simplest documented route. If you manage firewall rules manually, the rule must target the VM through its network tag and allow the intended source ranges.
Using the Allow HTTP traffic option
When the VM was created with Allow HTTP traffic selected, Google Cloud creates or applies the HTTP allowance associated with the instance’s network configuration. Confirm that the VM carries the network tag used by that rule. A mismatch between the rule’s target tag and the VM’s tags can block traffic even when Apache is healthy.
Using a manual VPC firewall rule
Google Cloud’s troubleshooting example refers to a rule named default-allow-http. That example allows tcp:80 from 0.0.0.0/0, which means all IPv4 sources. It is suitable as a diagnostic reference, but a known audience is better served by narrower source ranges.
| Firewall choice | What it permits | When it fits | Trade-off |
|---|---|---|---|
0.0.0.0/0 source |
HTTP from any IPv4 address | A genuinely public test or public site | Every IPv4 client can attempt a connection; there is no source restriction |
| Restricted CIDR ranges | HTTP only from listed networks | Office, partner, or private audience with known addresses | Clients outside the listed ranges cannot connect until the rule is updated |
Use the narrowest source range that matches your audience. If you are testing a public page, temporarily broad access can help identify whether the issue is network reachability; tighten the rule once you know which client networks should remain allowed. The firewall rule still cannot make Apache respond if the service is stopped or the VM has no external address.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallHow do you test Apache from the internet?
In the VM list, copy the value in the External IP column and enter this address in a browser:
http://[EXTERNAL_IP]
Use the literal external IPv4 address in place of [EXTERNAL_IP]. Start with http://, not https://. Google Cloud warns that requesting HTTPS before TLS has been configured can return Connection Refused; an Apache installation by itself does not create a certificate or an HTTPS endpoint.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
If the test page appears, the basic path is working: the VM is externally addressed, the VPC firewall is allowing port 80, Apache is running, and the document in /var/www/html/ is being served. A domain name and HTTPS are separate configuration steps rather than prerequisites for this first HTTP test.
Why can you not reach the Apache site by external IP?
Connection refusal or a timeout usually comes from one of four layers: the service, the VM’s address, the firewall target, or the protocol used in the browser. Check them in that order so you do not change several variables at once.
1. Confirm the Apache service inside the VM
Run sudo systemctl status apache2 again. If the service is not active, the problem is inside the guest operating system rather than in the VPC. A successful package installation normally starts Apache, so an inactive result deserves attention before you adjust firewall rules.
2. Confirm that an external IP exists
Look at the VM’s External IP column. Google Cloud states that communication from outside the VPC requires an external IP and remains subject to firewall rules. An internal address can be useful for VPC-internal traffic, but it is not the address an internet browser can use to reach this public test.
3. Confirm the firewall rule and network tag
Check that an applicable rule permits inbound tcp:80, that the rule’s target tag is present on the VM, and that the source range includes the network from which you are testing. A rule named default-allow-http is only an example; your VPC may use a different name or a restricted policy.
4. Confirm you used HTTP for the first request
Enter http://[EXTERNAL_IP] exactly for the initial test. If you enter an HTTPS URL before configuring TLS, Google Cloud documents a Connection Refused result. Do not treat that response as proof that Apache failed to install.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →5. Check for a changed ephemeral address
If the VM’s lifecycle changed and you are using an ephemeral address, the current value may differ from the one you saved earlier. Copy the address currently displayed in the console before testing again. A reserved static address avoids this particular source of confusion when a domain or another client must keep pointing to the same endpoint.
Should you use an ephemeral or static external IP?
Ephemeral addressing is adequate for a short-lived test. Reserve and assign a static external IP when DNS, an integration, or a client configuration must continue using the same address after VM lifecycle changes.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
| Address type | Best use | Operational implication |
|---|---|---|
| Ephemeral external IP | Temporary demonstrations, disposable development VMs, and first-run testing | Do not assume the address will remain the same across lifecycle changes; check the current External IP value before reconnecting |
| Reserved static external IP | DNS records, long-lived sites, and clients configured with a fixed destination | The address is reserved and assigned deliberately so the service can retain a stable endpoint when the VM changes |
When should you reserve the address?
Reserve it before publishing DNS or distributing the address to clients whenever continuity matters. If you begin with an ephemeral address, treat it as a temporary testing value; move to a reserved static address before relying on that endpoint for a long-lived service. The specific reservation and assignment screens are in Compute Engine’s external-IP settings, while the key decision is whether an address change would break a dependency.
How do you prepare Apache for production HTTPS?
The HTTP test proves that the basic service is reachable, but public production traffic should be encrypted. Google Cloud’s secure-connection guidance identifies three requirements: a domain, a certificate issued by a certificate authority, and a TLS termination point on the VM or on an HTTPS load balancer.
Use TLS termination on the VM
With this design, the VM receives HTTPS traffic and Apache (or another TLS endpoint on the VM) handles the certificate and encrypted connection. It keeps the deployment centered on one instance, but certificate configuration, renewal, and firewall changes remain part of that VM’s administration.
Use an HTTPS load balancer
An HTTPS load balancer terminates TLS before forwarding traffic to the VM. This separates the public TLS endpoint from the Apache instance and is a natural choice when you expect to place more than one backend behind a managed entry point. The cited guidance establishes the TLS and architecture considerations, not performance results; choose based on operational requirements rather than an assumed benchmark.
| HTTPS design | Where TLS ends | What you must provide | Primary decision |
|---|---|---|---|
| Direct VM termination | On the Compute Engine VM | Domain, certificate, TLS configuration, and the VM’s HTTPS network allowance | Keep the endpoint simple and manage TLS on the instance |
| HTTPS load balancer | At the managed load-balancing layer | Domain, certificate, load-balancer configuration, and a healthy Apache backend | Separate public TLS handling from the VM and leave room for a broader backend architecture |
Do not infer that selecting Allow HTTP traffic also completes HTTPS setup. That option is documented for tcp:80; TLS requires its own certificate and network configuration. Keep the initial browser check on HTTP until the HTTPS endpoint is deliberately configured.
How should you choose between one VM and a larger architecture?
A single Apache VM is the shortest path from installation to a working page. As requirements expand, you can evaluate a managed HTTPS entry point or a more scalable architecture, but the basic installation steps remain useful for the Apache backend.
| Deployment shape | What it gives you | What the supplied guidance establishes |
|---|---|---|
| Single VM with Apache | One instance to administer, one document root, and one external endpoint | Complete install, firewall, external-IP, and first-test procedure |
| VM with direct TLS termination | HTTPS handled on the same instance | Requires a domain, certificate, and VM-side TLS configuration |
| VM behind an HTTPS load balancer | A separate public TLS endpoint and a path toward multiple backends | Requires load-balancer configuration; no performance benchmark is established |
| More scalable managed architecture | Additional operational and scaling options beyond one VM | The installation sources do not provide comparative performance or cost figures |
Do not choose a larger design merely because Apache is difficult to install: the package installation itself is straightforward. Choose it when address stability, TLS operations, multiple backends, or the way you want to manage public ingress justifies the added components.
What is the complete installation checklist?
Use this sequence when setting up a new Ubuntu VM or checking an existing one:
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
- Create or select the Linux Compute Engine VM.
- Select Allow HTTP traffic if public port 80 access is required, or verify an equivalent firewall rule.
- Confirm the VM has an external IP if internet clients must reach it.
- Open the VM’s console session with the SSH button.
- Run
sudo apt update && sudo apt -y install apache2. - Verify the service with
sudo systemctl status apache2. - Optionally write the documented test page to
/var/www/html/index.html. - Browse to
http://[EXTERNAL_IP], using the current value shown by Compute Engine. - If the request fails, check service status, external IP, firewall rule and network tag, source range, and HTTP-versus-HTTPS protocol in that order.
- Reserve a static external IP before publishing DNS or depending on a fixed address.
- Before production use, configure a domain, certificate, and TLS termination on the VM or through an HTTPS load balancer.
This order isolates guest setup from cloud networking. It also gives you a known-good HTTP checkpoint before you introduce DNS, certificates, or a more complex ingress design.
What should you change after the Hello World test?
Replace the sample index.html with your site’s content while keeping the document-root decision explicit. If the site will remain publicly reachable, review the firewall source ranges instead of leaving a broad test rule in place by habit. Decide whether the VM’s address is temporary or should be reserved as static before publishing links or DNS records.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsFinally, treat HTTP as an installation checkpoint, not the finished security posture. Complete the domain, certificate, TLS termination, and corresponding network configuration required for HTTPS before using the service for production communication.
Frequently Asked Questions
Can I point DNS at an ephemeral external IP?
You can use an ephemeral address for a temporary test, but DNS will become stale if that address changes during a VM lifecycle change. Reserve and assign a static external IP before publishing a long-lived DNS record, then point the record at that reserved address.
Does the Allow HTTP traffic checkbox install Apache?
No. The option concerns the VPC firewall and permits inbound tcp:80 for the VM. Apache still has to be installed inside Ubuntu through the SSH session, and the service must be running before it can answer.
Why does an HTTPS request fail while the HTTP test works?
The initial HTTP allowance and Apache package do not provide TLS by themselves. HTTPS needs a domain, a certificate from a certificate authority, and a configured TLS termination point on the VM or an HTTPS load balancer.
What should I do if only some users can reach the page?
Inspect the firewall rule’s source ranges and target network tag. A restricted CIDR rule intentionally excludes clients outside its listed networks, so add the required range or use a broader rule only when the site is meant to be public.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

