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 →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 Drupal on Google Cloud, create a Compute Engine virtual machine (VM), install a supported Linux web/PHP stack, connect a supported database, create the Drupal codebase with Composer, and finish the browser installer. Ubuntu 24.04 LTS is the practical starting image. The reliable order is VM, operating-system updates, Apache or Nginx with PHP, database, Composer project, web-server configuration, browser installation, then security and maintenance.
This guide follows Drupal’s current documented baseline: PHP 8.3 or later, at least 64 MB of PHP memory, Apache 2.4.7 or later or Nginx 1.1 or later, and a supported database. Drupal 11 needs Composer 2.7.0 or later; Drupal 12 recommends Composer 2.9.3. Exact VM size, database placement, and scaling depend on traffic and workload rather than a universal Drupal prescription.
As an Amazon Associate I earn from qualifying purchases.
What does Drupal need on Google Cloud?
Drupal is application software, not a complete server image. Compute Engine supplies the Linux VM; you still have to provide the web server, PHP runtime and extensions, database, Composer-managed project files, and operational controls. Confirm the requirements for the specific Drupal release and contributed modules you plan to use before creating the VM, because support changes over time.
Supported baseline
| Component | Baseline | Qualification |
|---|---|---|
| PHP | 8.3 or higher | Drupal.org requirement published in 2025 |
| PHP memory | Minimum 64 MB | Drupal.org minimum; demanding sites may need a higher limit |
| Web server | Apache 2.4.7+ or Nginx 1.1+ | Drupal.org requirement published in 2025 |
| MySQL | 8.0+ | Supported database option listed by Drupal.org in 2025 |
| MariaDB | 10.6+ | Supported database option listed by Drupal.org in 2025 |
| PostgreSQL | 16+ | Supported database option listed by Drupal.org in 2025 |
| SQLite | 3.45+ | Supported database option listed by Drupal.org in 2025 |
| Composer for Drupal 11 | 2.7.0 or higher | Drupal.org Composer guidance published in 2026 |
| Composer for Drupal 12 | 2.9.3 recommended | Recommendation can change with the Drupal release |
PHP extensions are release- and module-dependent. Install the extensions required by the selected Drupal core version and every contributed module, then verify them from the command line before running the installer. Do not assume that an extension package name from an older tutorial is still correct on Ubuntu 24.04.
#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.
Which Google Cloud VM and image should you choose?
Choose a Compute Engine instance that matches your expected traffic, administrative budget, and database arrangement; Drupal’s official requirements do not prescribe one CPU, RAM, disk, or monthly-cost combination for every site. Start with an Ubuntu LTS image, with Ubuntu 24.04 LTS generally available in Google’s image catalog, and resize after observing real workload metrics.
Single VM for a first deployment
A single VM is the simplest pattern: web server, PHP, Drupal files, and often the database run in one instance. It keeps networking and administration straightforward, but one machine becomes both a capacity limit and a failure domain. Google’s PHP-on-Compute-Engine tutorial demonstrates a single-instance deployment pattern with a startup script that installs PHP, Nginx, Composer, application dependencies, and logging; adapt that pattern to Drupal’s current PHP and extension requirements rather than copying its older package names.
Separate or managed database
A database on another service can reduce database patching work on the VM, but it introduces network design, credentials management, latency, and an additional service dependency. Whichever engine you select, create a database and a least-privilege application user, and verify that the VM can reach the database before opening the Drupal installer.
When to consider multiple instances
Multiple web instances behind a load balancer improve the options for availability and horizontal scaling, but they require shared or otherwise coordinated file handling, a database designed for concurrent access, deployment automation, health checks, and centralized logs. Treat this as an engineering decision based on traffic and uptime requirements, not as a prerequisite for installing Drupal.
How do you create and secure the Compute Engine VM?
- Open the VM creation page. In Google Cloud Console, go to Compute Engine and create an instance. Select an Ubuntu 24.04 LTS boot disk and choose the machine family and disk size for your workload.
- Choose network exposure deliberately. Allow HTTP traffic only when you need temporary or initial HTTP access. Plan HTTPS before production and expose only the ports required by the web server and administration workflow.
- Connect with the supported administrative method. Use the Console SSH control or an approved key-based workflow. Google’s Ubuntu image documentation notes that SSH password authentication is disabled in the guest image, so do not design your procedure around a root or user password login.
- Patch immediately. After connecting, update the operating system and reboot when the package manager requires it. Record the image date and the update result so you can reproduce the baseline.
- Create a deployment identity. Run Composer and application deployment tasks as a non-root deployment user. Reserve elevated privileges for system administration and service configuration.
Take a snapshot or other recoverable image only after the initial patching and before major configuration changes. A snapshot is not a substitute for a database-aware backup, but it gives you a rollback point while building the server.
Should you use Apache or Nginx for Drupal?
Both are supported when their versions meet Drupal’s baseline. Apache is often easier when you want Drupal’s supplied .htaccess rules to work with minimal translation; Nginx can be a good fit when you prefer explicit server-block configuration. The important requirement is that the virtual host or server block points to Drupal’s web directory and correctly routes clean URLs to Drupal.
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.
Apache considerations
- Enable URL-rewrite support.
- Allow the Drupal
.htaccessrules in the relevant virtual-host directory configuration. - Set the document root to the project’s
webdirectory, not the project parent that contains Composer files. - Reload Apache after changing the virtual host and check its error log if a request returns a 403 or 500 response.
Nginx considerations
- Set the server block’s root to the project’s
webdirectory. - Configure equivalent rewrite and front-controller behavior explicitly; Nginx does not execute Apache
.htaccessfiles. - Pass PHP requests to the PHP runtime used by your selected Drupal release.
- Reload Nginx and the PHP service after configuration changes, then test both the home page and a clean URL.
How do you install PHP, its extensions, and Composer?
Install PHP 8.3 or a later supported PHP 8 version, the extensions required by your Drupal release and modules, and Composer 2.7.0 or later for Drupal 11. For Drupal 12, Drupal’s guidance recommends Composer 2.9.3. Check the current Drupal and Ubuntu documentation for repository package names instead of copying commands written for an older distribution.
After installation, verify the command-line PHP version, the active memory limit, and the loaded extensions as the same deployment user that will run Composer. A web server can use a different PHP configuration from the command line; check both contexts if the browser installer reports a missing extension or an insufficient memory limit.
Composer is the supported way to create and maintain a Drupal site. Drupal documentation states that installation and updates should be performed with the Composer dependency manager. It records the dependency graph, keeps core and contributed packages coordinated, and gives deployments a repeatable project definition.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
How do you create the Drupal project with Composer?
From the directory where you keep web applications, run the command shown in Drupal core’s installation text:
composer create-project drupal/recommended-project drupal
- Run the command as the deployment user, not as root.
- Let Composer create the
drupalproject directory and its dependency files. - Keep the project’s document root at
drupal/web. The parent directory contains Composer metadata and should not be directly served by the web server. - Record the generated project files and lock file in your deployment workflow so another VM can reproduce the same dependency set.
If Composer stops because the PHP version or an extension is incompatible, fix the runtime first. Do not bypass platform checks simply to force an installation; a successful download does not prove that the site can run safely.
How do you configure the Drupal database?
Create a database and a dedicated least-privilege user in the engine you selected. Record four values before opening the browser installer: database host, database name, username, and password. Confirm the VM can resolve and reach the database host, and limit database network access to the application’s required source rather than exposing the database broadly.
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.
Drupal’s supported choices are MySQL 8.0 or newer, MariaDB 10.6 or newer, PostgreSQL 16 or newer, and SQLite 3.45 or newer. A file-based SQLite database can simplify a small single-VM experiment, while a server database is generally more suitable when you need concurrent access, separate administration, or a managed service. Select an engine that your operations team can patch, back up, monitor, and restore.
Use a database name and password that are unique to this site. Do not paste credentials into shell history, public startup scripts, or source control. If the database is on another service, test firewall rules and TLS requirements before blaming Drupal for a connection failure.
How do you run the Drupal browser installer?
Once the web server, PHP runtime, project files, and database are ready, browse to the VM address or its domain name.
- Select the installation profile offered by the installer.
- Choose the language and regional settings appropriate for the site.
- Enter the database type, host, database name, username, and password you created.
- Let Drupal create its settings and database schema.
- Set the site name and regional defaults.
- Create the site-maintenance account with a unique, long password and store it in an approved password manager.
- Wait for the installation to finish, then sign in and confirm that the home page, administration pages, and a clean URL all work.
If the installer cannot write required files, stop and correct ownership and directory permissions rather than making the entire project world-writable. If it cannot connect to the database, validate the host, port, credentials, engine version, and network path independently.
What security settings must be applied after installation?
A completed installer is not a production-ready server. Apply these controls before publishing the site:
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Clear out junk files and repair common Windows errors3Scan for outdated or missing drivers - takes under a minute- Trusted hosts: Configure Drupal’s trusted-host protection for the actual domain names and addresses the site should answer. This prevents unexpected host headers from being accepted.
- File directories: Protect private and temporary file directories from direct web access, and verify that uploaded files cannot be executed as scripts.
- HTTPS: Install and renew a certificate for the production hostname, redirecting ordinary HTTP traffic only after HTTPS works. Keep temporary HTTP access limited during setup.
- Firewall: Restrict ingress to the web ports and the administrative paths you actually use. Do not expose a database port to the public internet when a private network path is available.
- Accounts: Disable unnecessary system accounts, use least privilege, and keep SSH administration key-based.
- Logs: Review web-server, PHP, system, and Drupal logs after each deployment. Preserve enough history to diagnose failed updates and suspicious requests.
- Backups: Schedule database-aware backups and copies of site files, then perform restore tests. A backup that has never been restored is only an assumption.
- Updates: Keep Drupal core and contributed packages under Composer control, apply security releases promptly, and patch the Ubuntu image and services.
What should you compare before choosing an architecture?
| Decision | Option one | Option two | What changes operationally |
|---|---|---|---|
| Web server | Apache | Nginx | Apache can use Drupal’s .htaccess rules; Nginx requires equivalent explicit rewrite configuration. Choose the operational model your team can maintain. |
| Database placement | Database on the VM | Managed or separate database service | Local placement simplifies networking but leaves patching and recovery on you. A separate service changes maintenance responsibility and requires deliberate network and credential design. |
| Web topology | One Compute Engine VM | Multiple instances with load balancing | One VM is simpler and cheaper to operate initially. Multiple instances can improve availability and scaling but add deployment, shared-file, health-check, and observability requirements. |
Google’s documented single-instance pattern is a useful starting point, not a capacity guarantee. Measure response time, PHP worker saturation, memory, disk usage, and database load before deciding to resize or split services.
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
How do you troubleshoot common installation failures?
The browser shows a 404 for a clean URL
Check that the document root is the project’s web directory and that URL rewriting is enabled. Apache needs rewrite support and permission to use the Drupal rules; Nginx needs an equivalent front-controller configuration. Inspect the web-server error log after reproducing the request.
Composer reports an incompatible PHP platform
Compare the PHP binary used by Composer with the version required by the selected Drupal release. Confirm that required extensions are loaded in the command-line environment, then install a supported PHP package or select a Drupal release compatible with your approved runtime.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →The installer cannot connect to the database
Recheck the hostname, database name, username, and password character by character. Then test DNS resolution, firewall rules, routing, and database-user permissions from the VM. A managed or remote database may also require a private connection or an explicitly allowed source network.
The site returns 403 or cannot write files
Inspect ownership and permissions on the project and on Drupal’s writable files directories. The web-service account needs only the access Drupal requires; avoid a blanket writable permission. Confirm that the configured private and temporary directories exist and are protected from direct requests.
The page is blank or returns HTTP 500
Read the PHP and web-server logs first. Verify the PHP memory limit, enabled extensions, and compatibility of recently installed contributed modules. Roll back the last dependency or configuration change using your Composer lock file and deployment snapshot, then retest before making additional changes.
Requests are rejected after adding a domain
Check Drupal’s trusted-host configuration and DNS resolution. The hostname used in the browser must be one of the allowed names, and the request must reach the intended VM or load balancer.
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.
How do you maintain Drupal on Google Cloud?
Keep a written runbook containing the VM image, PHP and Composer versions, enabled modules, database endpoint, backup locations, firewall rules, and rollback procedure. Review it after every infrastructure or Drupal change.
Use Composer for core and contributed-package updates, review dependency changes before deployment, and test on a non-production environment when the site’s risk warrants it. Patch Ubuntu, Apache or Nginx, PHP, and the database independently of Drupal. Monitor disk growth, memory pressure, PHP errors, database connections, and certificate expiry rather than waiting for a visitor to report a failure.
Revisit the architecture when traffic, uptime requirements, or recovery objectives change. A larger VM may solve a resource bottleneck; it will not by itself provide redundancy. Moving the database or adding instances is worthwhile only when the team is prepared to operate the accompanying networking, shared-state, backups, and monitoring.
Frequently Asked Questions
Can I install Drupal from a downloaded archive instead of Composer?
You can place files on a server, but Drupal’s own guidance says installation and updates should use Composer. A Composer project records dependencies and makes the version you deploy reproducible, which is especially important when rebuilding a Compute Engine VM.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Does Ubuntu 24.04 automatically provide the PHP version my Drupal site needs?
Do not assume it does. Check the PHP version and extensions actually available in the repositories you are using, then compare them with the selected Drupal release’s requirements; package names and defaults can change between Ubuntu images.
Is a single Compute Engine VM enough for a production Drupal site?
It can be an appropriate starting architecture for a small or moderate workload, but the official requirements do not define capacity or uptime. Base the decision on measured resource use, recovery objectives, and whether your team can tolerate one VM as a single failure domain.
What should I verify before changing the Drupal PHP version?
Check core and contributed-module compatibility, confirm the CLI and web-server PHP configurations will change consistently, and take a restorable database and file backup. Test the Composer update and browser paths before applying the runtime change to the live site.
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.
Recommended Free Tools

