AH00112 means Apache has been configured with a DocumentRoot path that does not exist in the filesystem Apache is actually using. To fix it, find the active virtual host and directive that contain the bad path, verify the path inside Apache’s runtime environment, then either correct the configuration or create the intended directory. Check the matching <Directory> permissions, run a configuration test, reload Apache, and confirm the warning has disappeared from the error log.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
If you are asking “What does AH00112 mean?”, “How do I fix Apache DocumentRoot does not exist?”, “Why does Apache say my DocumentRoot is missing?”, or “How do I find which virtual host has the bad DocumentRoot?”, the workflow below answers each question without assuming a particular Linux distribution.
As an Amazon Associate I earn from qualifying purchases.
Recommended Free Tools
What AH00112 means
Apache HTTP Server uses DocumentRoot to define the filesystem directory from which a virtual host serves web files. When startup reports AH00112, Apache has read a configured root and cannot find that directory. The warning is about the configured filesystem path, not about a missing URL, a broken browser, or a DNS record.
A single server can have several virtual hosts, each with its own DocumentRoot. Consequently, a default site’s working root does not prove that every enabled site is correct. The warning may come from an included file or an enabled virtual-host definition that you did not edit recently.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Apache maps a request’s URL path onto the selected virtual host’s root. A valid directory is therefore only the first requirement: the requested file must also exist at the resulting filesystem location, and Apache must be allowed to traverse and read it.
Start with the exact warning and the active virtual host
- Copy the complete log line. Preserve the path shown with the
AH00112warning, including capitalization, punctuation, and any release-directory name. Do not retype it from memory. - Determine which virtual host was selected. Note the hostname, address, and port associated with the warning if startup output identifies them. A stale site file can continue to trigger the warning even when the default host has been repaired.
- Locate every configured root. Search the configuration files that Apache actually loads, including files brought in with
IncludeorIncludeOptional. Installation layouts differ, so do not assume that either/etc/apache2or/etc/httpdis present.
Keep the original path beside your terminal while you work. Similar names such as /var/www/site and /var/www/sites, or differences in letter case, are different paths on a case-sensitive filesystem.
Find which configuration file and virtual host contain the bad DocumentRoot
First ask Apache to parse and display its effective configuration. Use the command names provided by your distribution:
apachectl -t
apachectl -S
# On installations that provide httpd directly:
httpd -t
httpd -S
The syntax test (-t) catches configuration errors before a reload. The virtual-host dump (-S) lists the addresses, ports, and configuration files Apache associates with each host. Some packaged wrappers expose these options through apachectl; others require httpd.
Then search the loaded configuration tree. Adjust the directories to match the paths reported by your installation:
rg -n "^[[:space:]]*DocumentRoot[[:space:]]" /etc/apache2 /etc/httpd 2>/dev/null
If rg is not installed, use an equivalent recursive text search available on the system. Search included files as well as the main configuration file. Record each matching DocumentRoot, its surrounding <VirtualHost> block, and the file that defines it.
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 minutePC 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 & 11Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Do not edit only the first result. The warning can persist because another enabled virtual host still points at the nonexistent directory. Disable an obsolete site only when you are certain it should no longer receive requests; otherwise repair its root deliberately.
Verify the path in Apache’s filesystem namespace
Before changing configuration, test whether the exact directory exists where the Apache process can see it. A path visible on the host may be absent inside a container, chroot, restricted service environment, or mount namespace.
Check existence and spelling
ls -ld /absolute/path/to/site
test -d /absolute/path/to/site && echo exists || echo missing
Use an absolute path copied from the directive. Check every component for spelling and case. Inspect symlinks and their targets rather than stopping at the link itself; a link can remain present while its target is missing.
Check relative paths
The core Apache reference treats a relative directory path as relative to ServerRoot. Thus a value such as DocumentRoot "www/site" may resolve somewhere other than the directory you inspected. An absolute path removes that ambiguity and is easier to audit during deployment. If you retain a relative value for a specific reason, verify the effective ServerRoot and document the expected layout.
Free tools Windows power users keep installed
One-click scans. No signup required.
Check mounts, containers, and chroots
When Apache runs in a container or chroot, enter that same runtime environment and repeat the existence test. Verify that the volume or bind mount is attached at the path named by DocumentRoot, and that it is mounted before Apache starts. A directory created on the host does not repair a root that is absent from the container’s namespace.
Check traversal and read access
Every parent directory must be searchable (have execute permission) by the Apache service account, and the files being served must be readable. Inspect ownership and mode bits on the root, its parents, and the site files. A root can therefore exist and still be unusable; that condition usually appears as a permission error after the AH00112 warning is resolved.
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
Choose between correcting the configuration and creating the directory
There are two legitimate fixes. Select based on the intended deployment path, not on which command is quickest.
| Choice | Use it when | Main risk | Operational checks | Rollback |
|---|---|---|---|---|
Correct DocumentRoot |
The site files already live in another directory, or the configured path is a typo or stale release path. | Apache could serve the wrong site’s files if the replacement path is chosen incorrectly. | Confirm the target belongs to this virtual host, use an absolute path, align the matching <Directory> rule, and test the intended hostname. |
Restore the previous directive or configuration revision, then run the syntax test before reloading. |
| Create the configured directory | The path is the planned canonical location and deployment will populate it there. | An empty or placeholder directory may make Apache start while requests return 404 or expose an unintended index. | Create it in the correct runtime namespace, set ownership and permissions, deploy the expected files, and verify the mount survives a restart. | Remove the unused directory only after confirming no deployment or virtual host depends on it, or revert the configuration instead. |
Do not create a directory merely to silence the warning when the site was intentionally moved. Conversely, do not point a host at a similarly named directory simply because it exists; that can serve another application’s content.
Correcting the directive
Edit the file and virtual-host block identified by the configuration dump. Use the intended absolute directory and leave the DocumentRoot value without a trailing slash, as specified by Apache’s core directive reference. Save a reversible change, such as a version-control commit or a timestamped backup.
Creating the intended directory
Create the path inside the environment where Apache runs, then deploy the site’s files there. If the directory is a mount point, arrange for the mount to be established before the web service starts. An empty directory is not a complete deployment: requests still need an index or another matching resource.
Align the matching Directory rules and permissions
Changing a root does not automatically change Apache’s access policy. Find or add the <Directory> section that corresponds to the new absolute path. Its access directives must permit the requests your site is intended to serve, and its policy should be no broader than necessary.
<VirtualHost *:80>
ServerName example.test
DocumentRoot "/absolute/path/to/site"
<Directory "/absolute/path/to/site">
Require all granted
AllowOverride None
</Directory>
</VirtualHost>
The exact authorization and override settings depend on your application and Apache version. The important relationship is that the directory block must describe the same path as DocumentRoot. A mismatch can turn a startup warning into a 403 response after the directory exists.
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 errorsRank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Check filesystem permissions independently of Apache directives. The service account needs execute permission on each parent directory and read permission on files it must deliver. If the application writes uploads or cache data, grant write access only to the specific subdirectories that require it rather than making the whole document root writable.
Validate safely, reload, and prove the warning is gone
- Run the syntax check. Execute
apachectl -torhttpd -t, using the same configuration selection as the service. Do not reload if the result reports an error. - Review the virtual-host map again. Use
apachectl -Sorhttpd -Sto ensure the edited file is loaded and the intended host points at the intended root. - Reload through the service manager. Use the command appropriate to the distribution, such as
systemctl reload apache2orsystemctl reload httpd. If a reload is unavailable or the service requires a full restart for the change, schedule that operation according to your service’s normal outage procedure. - Read startup output and the error log. Confirm that AH00112 does not recur and investigate any new permission, include, module, or binding errors. Apache’s getting-started guidance describes the error log as an administrator’s most valuable troubleshooting asset and compares debugging without it to driving with your eyes closed.
- Send a request to the affected host. Test the real hostname and port, not only the server’s default address. Confirm that the response comes from the intended index file or application entry point.
A successful syntax check only proves that Apache can parse the configuration. A clean reload proves the service accepted it; a request test proves that virtual-host selection, filesystem access, and content placement agree.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common causes of a missing DocumentRoot
Typo or renamed deployment directory
A release process may rename a directory while the virtual-host file still contains the previous name. Compare the configured value with the directory created by the deployment, including release suffixes and capitalization. Either update the directive to the stable deployment path or make the deployment create the path that the configuration expects.
Wrong virtual host
The default site may be correct while an enabled secondary site still points at a removed directory. The -S output and a recursive search reveal which file owns that root. Repair the affected host rather than repeatedly changing the default configuration.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Relative-path surprise
A relative value is resolved from ServerRoot, not necessarily from the directory containing the virtual-host file. The path can therefore exist where you looked and still be absent where Apache resolves it. Convert it to an absolute path after confirming the intended location.
Container, chroot, or mount mismatch
The host filesystem and Apache’s runtime namespace can differ. Verify mounts and symlink targets from inside the runtime environment, and make the mount ordering part of service startup. Treat a path that exists only on the host as missing for Apache’s purposes.
Best Value
Directory created but inaccessible
Once the directory exists, AH00112 may disappear while requests receive 403. Check the corresponding <Directory> authorization, parent-directory traversal permissions, file ownership, and any mandatory access-control policy used by the operating system. Fix the narrowest failing layer rather than making the entire tree world-writable.
When the warning is gone but the site still fails
403 Forbidden
A 403 usually indicates that Apache reached the root but an access rule or filesystem permission denied the request. Compare the exact <Directory> path with DocumentRoot, inspect parent-directory execute permissions, and read the error log for the denied path.
404 Not Found
Apache can return 404 when the URL maps to a file that is not present beneath the selected root. Confirm that the requested resource was deployed to the expected location and that the request is selecting the intended virtual host. Creating the root alone does not create an index file.
Directory-index or blank responses
If the URL maps to a directory without an allowed index file, Apache may report a directory-index error or refuse listing. Deploy the application’s expected entry file and configure directory-index behavior deliberately; do not enable listings merely to hide a missing deployment.
The old warning returns after a restart
This commonly means an additional included file, generated configuration, or secondary virtual host still contains the stale value, or that a required mount is not present early in boot. Re-run the recursive search and virtual-host dump after the restart, then inspect service startup ordering and the error log.
Special cases: aliases, symlinks, and multiple roots
An Alias maps a URL prefix to a filesystem directory, but it does not change the virtual host’s DocumentRoot. If the warning names the root, repair that directive even when most application files are served through aliases. Ensure each aliased target has an appropriate <Directory> policy.
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 →Clear out junk files and repair common Windows errorsFree Scan →Symlinks can provide a stable path for release deployments, but the link target must exist in Apache’s namespace and remain accessible to the service account. Document who updates the link and how rollback works. A symlink that points outside the expected application tree also changes the security boundary, so review the corresponding access rules.
For several sites, keep each virtual host’s root and directory policy explicit. Avoid silently sharing one root between unrelated hosts unless that is the deliberate design; otherwise a mistaken host match can expose the wrong content even though no AH00112 warning appears.
Quick Recap
Final verification checklist
- The exact AH00112 path was copied from the log.
- The owning configuration file and virtual-host block were identified.
- All included
DocumentRootdirectives were searched, not only the default site. - The path was tested as seen inside Apache’s runtime environment.
- Relative paths were resolved from
ServerRootor replaced with an absolute path. - The chosen fix matches the intended deployment location.
- The corresponding
<Directory>rule uses the same path and an appropriate access policy. - Apache can traverse parent directories and read the deployed files.
- The configuration syntax test passed before reload.
- The service was reloaded through the correct service manager.
- The error log no longer reports AH00112 or a related permission error.
- A request for the affected hostname reaches the intended content.
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.




