DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsClean PCRecommendedOne scan can reveal what keeps slowing WindowsLook for cleanup and repair opportunities.Run Scan×
Skip to content
World desk9 min

How to Fix Apache Error AH00072: make_sock Could Not Bind to Address

Apache AH00072 is a socket-binding failure. This guide shows how to identify the address and port, find its owner, fix duplicate Listen directives, verify local IPs and privileges, handle SELinux or AppArmor, and restart Apache without recurring conflicts.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Apache AH00072 means Apache could not open the listening socket named in the error. In the usual (98)Address already in use case, another process already owns that IP-and-port combination. Read the exact endpoint first, find its owner, then either free the socket, move the other service, or change Apache’s binding. If no process owns it, check duplicate Listen directives, whether the IP is assigned locally, privileges for ports below 1024, and SELinux or AppArmor policy.

What AH00072 means

Apache reports AH00072 when its make_sock routine cannot create a listening socket for a configured address and port. Typical messages include:

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80 on Linux.
  • (48)Address already in use: make_sock: could not bind on systems that use that equivalent socket error.
  • A failure naming [::]:80, 0.0.0.0:80, or a specific address such as 192.0.2.10:443.

The address and port are the important part. A process listening on port 80 of one interface may not conflict with Apache listening on a different, non-overlapping address, while a wildcard listener normally covers every local interface and can conflict with a specific binding on the same port.

Read the failing socket before changing anything

Copy the endpoint from the AH00072 line exactly. Treat the combinations below as different troubleshooting targets:

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • 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.
Apache reports What it represents First check
0.0.0.0:80 IPv4 port 80 on all local IPv4 interfaces Every IPv4 listener on port 80
[::]:80 IPv6 port 80 on all local IPv6 interfaces; on some systems it may also accept IPv4 connections IPv6 and possible dual-stack listeners on port 80
192.0.2.10:443 HTTPS port 443 on one specific local address Whether that address exists and who owns TCP 443

Do not assume that a port-80 error means the same service is blocking port 443, or that an IPv6 wildcard error is identical to an IPv4 wildcard error. Use the address named by Apache in every subsequent command.

Use the service logs to establish the failure context

Debian and Ubuntu

  1. Check the unit state:
    sudo systemctl status apache2
  2. Read the complete journal around the failed start or restart:
    sudo journalctl -u apache2

RHEL and Fedora

  1. Check the HTTP server unit:
    sudo systemctl status httpd
  2. Read its journal:
    sudo journalctl -u httpd

Look for the first AH00072 line and the lines immediately before and after it. A restart can fail after configuration parsing has succeeded, and the service may finish with a message such as “no listening sockets available, shutting down.” The journal also helps distinguish a bind failure from a syntax error, permission denial, or an unrelated module failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Find which process owns the port

Run the command against the port Apache reported. These commands show listening TCP sockets and, where permitted, the owning process:

  • sudo ss -ltnp | grep ':80'
  • sudo lsof -nP -iTCP:80 -sTCP:LISTEN
  • The Apache troubleshooting guidance also uses netstat -plant and sudo lsof -i:80.

Replace 80 with 443 or the actual port. The -nP options prevent name and service lookups from obscuring the numeric address. If you need to see all listeners before filtering, run sudo ss -ltnp and inspect the local-address column.

Interpret common owners

  • A second Apache process: an earlier instance may still be running, or a manually launched copy may coexist with the systemd unit.
  • Nginx or another reverse proxy: it may intentionally terminate HTTP or HTTPS before forwarding requests.
  • IIS: on a Windows host, the web server may already own the standard port.
  • A development server: a local application, container, test proxy, or temporary server may have claimed port 80 or 443.

Record the process name, PID, local address, and whether it is managed by a service manager. Do not kill a process simply because it owns the port; first decide whether clients depend on it.

Choose the least disruptive fix

Situation Action Effect to verify
The other service is unnecessary Stop and disable or reconfigure that service using its normal administration method. Its listener disappears, and its clients are intentionally taken offline.
Both services are required Move one service to a free port or a deliberately non-overlapping local address. Reverse-proxy rules, firewall rules, health checks, and client URLs use the new endpoint.
Apache should not use the standard port Change Apache’s Listen port and matching virtual-host declarations. Every intended request reaches the new port; port 80 or 443 assumptions are updated.
The owner is an accidental duplicate Apache Stop the stray instance, then start Apache through the one supported service path. One expected Apache process owns each intended socket.

Ports 80 and 443 are embedded in many client URLs, firewall policies, load balancers, certificates, and monitoring checks. Moving Apache may therefore require more changes than moving a development service. Conversely, stopping a reverse proxy can remove TLS termination or routing for every hosted application. Make the choice based on which service must remain available, not merely on which process is easiest to terminate.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 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.

Stop an identified systemd service safely

After confirming the owner, use its documented unit name, for example:

sudo systemctl stop SERVICE_NAME
sudo systemctl status SERVICE_NAME

Disable automatic starts only when you are certain the service should no longer claim the socket:

sudo systemctl disable SERVICE_NAME

If the owner is a manually launched process, stop it through the application’s normal shutdown command or its controlling shell. Avoid an unconditional kill -9; forced termination can leave state, temporary files, or dependent services in an unsafe condition.

Audit every Apache Listen directive

Apache treats overlapping Listen directives as a fatal startup error. Search the active configuration tree, including included files, for both Listen and <VirtualHost entries. On many Linux installations, enabled snippets are under directories such as /etc/apache2 or /etc/httpd; use your distribution’s actual configuration path.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
sudo grep -RIn --include='*.conf' -E '^[[:space:]]*Listen|<VirtualHost' /etc/apache2 /etc/httpd 2>/dev/null

The exact search path can differ, so inspect the configuration shown by your service unit if one of those directories does not exist.

Safe binding patterns

Listen 80

This asks Apache to accept port 80 on all interfaces. A specific binding is appropriate when the host has multiple addresses and Apache must use only one:

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • 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.
Listen 192.0.2.10:80

Do not combine a wildcard and a specific address on the same port:

Listen *:80
Listen 192.0.2.10:80

The wildcard already includes 192.0.2.10, so the two directives overlap and can prevent startup. Remove the redundant directive or make the addresses and ports intentionally non-overlapping.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Match virtual hosts to listening sockets

A <VirtualHost> declaration should use an address and port that Apache is actually listening on. If you change Listen 80 to Listen 8080, review corresponding declarations such as <VirtualHost *:80> and any proxy or firewall rules. A syntactically valid configuration can still route requests incorrectly when the virtual-host port and listening socket do not match.

Check whether the configured IP exists locally

A specific binding fails when its address is not assigned to an active interface. Verify the host’s addresses with:

ip address

Look for the exact address named in the error. Common causes include a removed secondary address, a network profile that has not come up after reboot, a DHCP address change, or a configuration copied from another server. Assign the address through the operating system’s network configuration before asking Apache to bind it. Do not substitute an arbitrary public address: Apache can bind only addresses present on the local host.

Account for privileged ports and security policy

Ports below 1024

On Unix-like systems, ports below 1024, including 80 and 443, normally require elevated privileges. If Apache is launched manually as an unprivileged user, the bind can fail even when no process owns the port. Start it through the distribution’s privileged service path, such as the systemd unit, rather than running a foreground command as an ordinary user. Confirm the unit’s user, capabilities, and startup method if a manually customized service is involved.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • 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

SELinux

SELinux can restrict which ports the HTTP service is allowed to use. Inspect the policy’s HTTP-related port labels:

semanage port -l | grep http

If Apache must use a nonstandard port, add that port only through an approved SELinux policy change and your organization’s change process. Do not disable SELinux as a quick workaround. A port that is free at the kernel level can still be rejected by policy.

AppArmor and other mandatory controls

On systems using AppArmor or another mandatory access-control framework, inspect the profile and security logs when the socket is free but Apache still cannot bind. The exact commands and policy files depend on the distribution. Correct the narrowly scoped rule for the service and port instead of broadly disabling enforcement.

Restart cleanly after configuration changes

  1. Validate the configuration with the platform’s Apache test command before restarting. On common installations this is apachectl configtest or apache2ctl configtest; use the command supplied by your package.
  2. Restart the correct unit:
    sudo systemctl restart apache2
    or
    sudo systemctl restart httpd
  3. Immediately inspect the unit and journal if it fails:
    sudo systemctl status apache2
    sudo journalctl -u apache2
    Use httpd in place of apache2 on RHEL or Fedora.
  4. Confirm ownership of the intended socket:
    sudo ss -ltnp
  5. Make a request to the intended address and port, for example:
    curl -I http://127.0.0.1:80
    Use HTTPS and the configured hostname when testing port 443 and name-based virtual hosts.

Apache can retain old sockets during a graceful restart while existing workers finish. That behavior is normally temporary, but a second startup attempt can collide with the old listener if the first instance has not exited or if two service managers are racing. Check the process list and journal rather than repeatedly issuing restart commands.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When AH00072 returns after a restart

The same PID or service owns the socket

Compare the PID from ss or lsof with the PID recorded by the Apache service. If an old instance remains, determine whether it is the intended parent process, a graceful-restart child, or a separately launched copy. Stop the duplicate through its service manager, then start only the supported unit.

A configuration include reintroduces the overlap

Editing one main file does not remove a duplicate directive in an enabled site, module, or included fragment. Repeat the recursive search and inspect all files loaded by the active configuration. Keep one authoritative binding for each address-and-port combination.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 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.

The network address is transient

If the host receives its address through DHCP or brings interfaces up late, Apache may start before the specific address exists. Confirm the interface state after boot and review service ordering. A wildcard listener can avoid dependence on one secondary address, but use it only when exposing every interface is acceptable.

Another supervisor starts a second copy

Container orchestrators, cron jobs, init scripts, and systemd units can each launch Apache. Inventory enabled units and deployment scripts when the owner reappears after every reboot. Ensure one supervisor owns the process and that its configuration is the one you edited.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Port 80 and 443 decision examples

Another service owns port 80, Apache should serve public HTTP

Keep Apache on 80 only if the other service can move or be removed. Otherwise, place Apache on a deliberate alternate port and configure the front-end proxy to forward requests there. Update firewall rules and health checks, and ensure the virtual-host declarations use the alternate port.

Apache owns port 80, but HTTPS fails on 443

Run the ownership check specifically for TCP 443. Port 80 being free does not prove 443 is free. A TLS proxy, another Apache instance, or a stale service may own 443. Resolve that listener independently and verify certificate and virtual-host configuration after the bind succeeds.

The host has two addresses and Apache should use only one

Use a specific Listen address:port and verify the address with ip address. Ensure no wildcard directive for that port remains in an included file. Bind the virtual host to the same address and port, then test from both the local host and the intended network.

A compact recovery checklist

  • Copy the exact IP family, address, and port from AH00072.
  • Check systemctl status and the unit journal.
  • Identify the owner with ss, lsof, or an equivalent netstat command.
  • Decide whether that owner must remain available.
  • Stop, move, or reconfigure the owner, or select a new Apache port.
  • Search every enabled file for overlapping Listen directives.
  • Make sure each specific address appears in ip address.
  • Use the privileged service startup path for ports below 1024.
  • Check SELinux, AppArmor, and related policy when the socket is otherwise free.
  • Validate configuration, restart the correct unit, confirm the listener, and issue a request.

What a successful fix looks like

The service starts without AH00072, exactly one intended process owns each configured listening socket, and the listener’s address matches the exposure you wanted. The relevant virtual hosts, firewall rules, proxy routes, and client URLs then point to that same address and port. If any of those checks disagree, Apache may be running while traffic still reaches the wrong service or fails at the network boundary.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

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.

Leave a Reply

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

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.