You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by ia...@architecta.co.uk on 2004/01/13 21:54:01 UTC
[users@httpd] Apache 2.0.48 + Windows 2000 Server SP4 + Adaptec RAID array = "DocumentRoot must be a directory"
Hi,
Have any of you seen behaviour like this before? I'm not sure whether
I'm struggling with my hardware, OS, httpd.conf or some mixture of the
three.
Software version info:
Apache version: 2.0.48 (installed as a service for all users)
OS: Windows 2000 server SP4 (configured for 50 users, restarted once
since Apache install) - updated automatically every night [all current
updates installed as at 13/01/2004 according to
windowsupdate.microsoft.com]
Server hardware:
Processor: Dual Intel PIII 700MHz
Memory: 512MB RAM
Harddisks:
The C: Drive (10GB) contains the Windows 2000 install
The E: Drive is a 100GB Adaptec RAID array (installed in the server box)
Apache installation Path: Default (C:/Program Files/Apache
Group/Apache2)
What happened/is happening:
I installed Apache and on pointing my web client at http://127.0.0.1 got
the "You've installed Apache" screen.
I then went into httpd.conf and changed the line:
DocumentRoot "C:/Program Files/Apache Group/Apache2/htdocs"
to the location of my test file "index.html":
DocumentRoot "E:/intranet/test"
and made the appropriate change in the <Directory "..."> section.
I tested the httpd.conf file with "apache -t" and it checked out ok, so
I restarted the service, went to http://127.0.0.1 and promptly got a
"File not found error". I then noticed that Apache was not running as a
service any more. Checking the system error log showed an error stating
that "DocumentRoot must be a directory" (but "E:/intranet/test" IS a
directory!).
I changed all the httpd.conf values back to the install defaults, Apache
restarted with no issues and everything worked fine again on browsing
for http://127.0.0.1
I then copied my test file to "C:/intranet/test" and edited httpd.conf
accordingly (i.e. kept the same path for index.html apart from the drive
letter) and after testing/restarting there's no problem. However,
setting drive letter back to "E:/..." and restarting gives me the error
again. This is repeatable on the server (including after restart of
Windows)
I've also tried all of the above on a desktop running XP (SP1, build
2600 [5.1.2600]) using the same httpd.conf and file structure. The
issue does not appear however even though the test page is put on a
local drive separate from the Windows and Apache installations (C: for
installs, D: for the test page) with paths as on the server and both C:
and D: work ok.
Does anyone have any idea why using "E:/..." on the server isn't
working? I've tried the docs, the bug database and Google but can't
find anything that's giving me a hint. Is this a known issue with RAID
arrays and Windows Server 2000 that I've managed to miss in my
searching?
Thanks for any light that anyone can shed,
Iain
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
RE: [users@httpd] Apache 2.0.48 + Windows 2000 Server SP4 + Adaptec RAID array = "DocumentRoot must be a directory"
Posted by Iain Cunningham <ia...@architecta.co.uk>.
> -----Original Message-----
> From: Joshua Slive [mailto:joshua@slive.ca]
> Sent: 13 January 2004 21:06
> To: users@httpd.apache.org
> Subject: Re: [users@httpd] Apache 2.0.48 + Windows 2000
> Server SP4 + Adaptec RAID array = "DocumentRoot must be a directory"
> Importance: High
>
>
>
> On Tue, 13 Jan 2004 iain.cunningham@architecta.co.uk wrote:
> > DocumentRoot "E:/intranet/test"
> >
> > and made the appropriate change in the <Directory "..."> section.
> >
> > I tested the httpd.conf file with "apache -t" and it
> checked out ok,
> > so I restarted the service, went to http://127.0.0.1 and
> promptly got
> > a "File not found error". I then noticed that Apache was
> not running
> > as a service any more. Checking the system error log
> showed an error
> > stating that "DocumentRoot must be a directory" (but
> > "E:/intranet/test" IS a directory!).
>
> I'm not a win32 apache expert, but I believe the most common
> cause of this problem is that the user under which the apache
> service is running doesn't have access to the network drives.
> In particular, the default LocalSystem user cannot access
> the network. You can change this from the win32 services
> configuration screen.
>
> (You can verify if this is the problem by shutting down the
> service and launching apache manually from the command line.)
>
> Joshua.
OK, I tried from the command prompt and that just caused the same
"DocumentRoot..." message in the system error log (nothing in the Apache
log or the command prompt window though), so I then went back to Google
with some different search criteria and found this (apologies if you're
a *nix user, if OpenOffice/StarOffice can't open this, but it's probably
not of much interest to you anyway):
http://das.ite.iowa.gov/security/doc/Windows_Apache_2.doc
Having looked through it I have set up the server with an "apache"
account that has appropriate levels of access to the various parts of
the filesystem and it now appears to be running just fine.
Thanks for your help,
Iain
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: [users@httpd] Apache 2.0.48 + Windows 2000 Server SP4 + Adaptec
RAID array = "DocumentRoot must be a directory"
Posted by Joshua Slive <jo...@slive.ca>.
On Tue, 13 Jan 2004 iain.cunningham@architecta.co.uk wrote:
> DocumentRoot "E:/intranet/test"
>
> and made the appropriate change in the <Directory "..."> section.
>
> I tested the httpd.conf file with "apache -t" and it checked out ok, so
> I restarted the service, went to http://127.0.0.1 and promptly got a
> "File not found error". I then noticed that Apache was not running as a
> service any more. Checking the system error log showed an error stating
> that "DocumentRoot must be a directory" (but "E:/intranet/test" IS a
> directory!).
I'm not a win32 apache expert, but I believe the most common cause of this
problem is that the user under which the apache service is running doesn't
have access to the network drives. In particular, the default LocalSystem
user cannot access the network. You can change this from the win32
services configuration screen.
(You can verify if this is the problem by shutting down the service and
launching apache manually from the command line.)
Joshua.
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org