Forum Moderators: phranque
For example, say my mapped network drive is Z:, I'm using:
DocumentRoot z:/home/htdocs/ When I put that in, apache won't start. Now here's the weird part: if I use the full UNC path (say //remote-server/shared/home/htdocs), then apache starts just fine. The problem is, the way most of the site is configured, it is looking for that /home/htdocs directory to be the site root, not that full UNC path, so everything gets messed up. And since the files get copied directly from there to the production site, I can't really be switching code back and forth. Even more strange is a co-worker's computer is the same OS and apache version as mine and his works just fine.
And just to be clear, I can connect in Windows just fine to the network drive. I've also tried running the apache service as the user I log in with instead of Local System, and that didn't work either. Any thoughts are greatly appreciated, thanks!
The key may be (as implied by the thread) to point the DocumentRoot at a seemingly-local path, and then use an Alias to the mapped network drive name.
Also, according to the Apache documentation,
Any errors during Apache startup are logged into the Windows event log when running on Windows NT. This mechanism acts as a backup for those situations where Apache cannot even access the normally used error.log file. You can view the Windows event log by using the Event Viewer application on Windows NT 4.0, and the Event Viewer MMC snap-in on newer versions of Windows.
If you do get a working solution, please post back! -- This seems like an unresolved problem in our forums.
Jim
Alias /foo/ "t:/home/htdocs/"
<Directory /foo>
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
</Directory>
DocumentRoot /foo/
If I remove the DocumentRoot directive, it still doesn't work. Also, the Windows logs didn't have any more information than Apache spits out with the -e debug flag set. I was hoping someone had figured this out by now, and if I get it working, I'll be sure to post back.
It is clearly a permissions issue with his system, but we have tried everything to get it to work. Almost to the point of having him install XP on top of vista.
Anyone have any ideas?
Maybe take a look at all of the permissions, starting at the very top: Do you log into your machine as "The Administrator" while he logs in as a user (even with super-user or Admin rights)?
Maybe also poke around with the Group Policy Editor, and see if there are specific settings for mapping network drives and/or using previously-mapped drives -- or drives mapped by other 'users', etc.
Gosh, you'd think that a permissions issue that stops a process dead in its tracks would result in an error being logged *somewhere*... WinNT is *so* much better than Win9x, but it still doesn't do things properly that other OSes have been doing correctly since the early 1970s!
Jim
The first part is you should use the UNC path instead of the mapped drive name. So for example, instead of using Z:/home/htdocs, you would use //FILESERVER/share/home/htdocs.
Now for the second part. (I had tried UNC paths before and it worked to start Apache, but it broke all sorts of file includes and paths). You can use an Alias directive to keep the paths from breaking. So for us, we needed something like:
Alias /home/htdocs //FILESERVER/share/home/htdocs And then you can use:
DocumentRoot /home/htdocs and everything will point where you want it to go.
Hope that helps someone else out there.
I do all my Apache work on Linux but I'll assume this command works on Windows.
httpd -t -c httpd.conf
I'm sure it's something simple as it sounds like you're almost there but one minor path away from success. The kind of things that keep me up until 3am scratching my head that are immediately obvious when I jump out of bed at 7am suddenly knowing what's wrong.
Xp on top of his vista
Funny you mention Vista as I have 2 Vista machines and one runs any old Linux port like cURL, Wget, etc. and the other won't run cURL and I never could figure out why but Wget runs just fine so I had to retool all my scripts to use Wget instead of cURL so they worked on both machines.
Maybe it's a similar issue with something in the Vista config that I just never spent enough time hunting down.
You're positive the drive mapping isn't overlapping some other device such as a USB memory stick or something?
Tried rebooting? <ducks>
Only mention it because stuck software often mysteriously runs when it didn't before after a nice reboot.
[edited by: incrediBILL at 4:06 pm (utc) on July 23, 2009]
The Users or Local System
If it is System, it will not have access to the mapped drive share of the user.
I am assuming the other person who has apache running, is running it under their own login and not system.
What user account is Apache running under?
This is a very important question as well. As Ocean said, the local system user does not have access to the mapped network resources. Go into services and make sure Apache starts as your user instead of the local system account.
FWIW, ANY service will have this problem post Windows XP. This is not an apache specific issue.
Ocean--does I need to be a part of a domain for this to work, is that what you were implying?
[edited by: Brett_Tabke at 7:31 pm (utc) on July 23, 2009]