Error log of "File does not exist" .

Error log of "File does not exist" .

Post by Miyoung Ki » Wed, 25 Aug 1999 04:00:00



Hi,
I run apache 1.3.4 on Solaris 2.6 system.
And I have about 100,000 entry on /etc/passwd file and about 800 httpd
run simultaneously in busy time.

"/home0/docs" is our Document Root and "/home0/root/user0/***" is User's
home directory.

Sometimes I get the message as follows.
==============
httpd: [Tue Aug 24 13:48:03 1999] [error] [client 164.124.92.148] File
does not exist: /home0/docs/~username/picture.html
===============

But this happened when I request
"http://web server's name/~username/picture.html" and this docuement
EXISTS!!!!!!

And if I reload the same docuement with my web browser I get
successfully.

Of course if I request the unexisted docuement I get the message in
error log file as follows.
==============
httpd: [Tue Aug 24 10:43:59 1999] [error] [client 207.172.45.180] File
does not exist: /home0/root/user0/e/u/r/euroup/wwwhome/latest.html
===============

Why does this thing happen ?

Thanks in advance,
-isabelle

 
 
 

Error log of "File does not exist" .

Post by Joshua Sliv » Wed, 25 Aug 1999 04:00:00



> Hi,
> I run apache 1.3.4 on Solaris 2.6 system.
> And I have about 100,000 entry on /etc/passwd file and about 800 httpd
> run simultaneously in busy time.
> "/home0/docs" is our Document Root and "/home0/root/user0/***" is User's
> home directory.
> Sometimes I get the message as follows.
> ==============
> httpd: [Tue Aug 24 13:48:03 1999] [error] [client 164.124.92.148] File
> does not exist: /home0/docs/~username/picture.html
> ===============
> But this happened when I request
> "http://web server's name/~username/picture.html" and this docuement
> EXISTS!!!!!!
> And if I reload the same docuement with my web browser I get
> successfully.
> Of course if I request the unexisted docuement I get the message in
> error log file as follows.
> ==============
> httpd: [Tue Aug 24 10:43:59 1999] [error] [client 207.172.45.180] File
> does not exist: /home0/root/user0/e/u/r/euroup/wwwhome/latest.html
> ===============

It looks to me like Apache is sometimes failing to do the UserDir
translation.  It is possible that Apache's syscall to get the user's
home directory is failing.  If this is the problem (and that is only a
guess), then one possible solution is to get rid of the syscall by
having mod_rewrite map your home directories without using mod_userdir
and the Userdir directive, and without reference to the passwd file.
An example of how to do this is at
http://www.engelschall.com/pw/apache/rewriteguide/#ToC10

--
Joshua Slive

http://finance.commerce.ubc.ca/~slive/

 
 
 

Error log of "File does not exist" .

Post by Miyoung Ki » Thu, 26 Aug 1999 04:00:00



> It looks to me like Apache is sometimes failing to do the UserDir
> translation.  It is possible that Apache's syscall to get the user's
> home directory is failing.  If this is the problem (and that is only a
> guess), then one possible solution is to get rid of the syscall by
> having mod_rewrite map your home directories without using mod_userdir
> and the Userdir directive, and without reference to the passwd file.
> An example of how to do this is at
> http://www.veryComputer.com/#ToC10

> --
> Joshua Slive

> http://www.veryComputer.com/~slive/

Thank you.
I've tested "mod_rewrite" with other machine.
I compiled mod_rewrite and I can see "mod_rewrite.c" when I hit "httpd -l"
also I still have mod_userdir.c there.
And I appended three lines at the end of "httpd.conf" as follows.
===========
AddModule modules/standard/mod_rewrite.o
Rewri*gine on
RewriteRule ^/~([a-z][a-z0-9]+)(.*)  /usr2/homedir/$1/wwwhome$3
============
By the way if I hit "apachectl start" I got the message as follows.
==========
Syntax error on line 860 of /usr2/local/apache/conf/httpd.conf:
Cannot add module via name 'modules/standard/mod_rewrite.o': not in list of
loaded modules
../bin/apachectl start: httpd could not be started
===========

You told me "get rid of syscall",
Is it only thing for me to take out "mod_userdir" and add "mod_rewrite" for
user homedirectory mapping ? OR shoud I modify apache source at some part ?

Thanks!

Isabelle

--
*************************
Miyoung Kim

ICQ#) 42105958
Tel)82-2-2220-7286
Fax)82-2-2220-0761
*************************

 
 
 

Error log of "File does not exist" .

Post by Joshua Sliv » Thu, 26 Aug 1999 04:00:00




> I've tested "mod_rewrite" with other machine.
> I compiled mod_rewrite and I can see "mod_rewrite.c" when I hit "httpd -l"
> also I still have mod_userdir.c there.
> And I appended three lines at the end of "httpd.conf" as follows.
> ===========
> AddModule modules/standard/mod_rewrite.o
> Rewri*gine on
> RewriteRule ^/~([a-z][a-z0-9]+)(.*)  /usr2/homedir/$1/wwwhome$3
> ============
> By the way if I hit "apachectl start" I got the message as follows.
> ==========
> Syntax error on line 860 of /usr2/local/apache/conf/httpd.conf:
> Cannot add module via name 'modules/standard/mod_rewrite.o': not in list of
> loaded modules
> ../bin/apachectl start: httpd could not be started
> ===========
> You told me "get rid of syscall",
> Is it only thing for me to take out "mod_userdir" and add "mod_rewrite" for
> user homedirectory mapping ? OR shoud I modify apache source at some part ?

Ummm... I don't really understand what you are doing here.  I think
you need to look a little more into the documentation.  In particular,
the documentation on how to compile apache (the INSTALL file).  You
probably want to remove mod_userdir and add mod_rewrite, but the
instructions for doing this change depending on whether you are using
dynamic or statically loaded modules.  Also, you probably need to
change the RewriteRule to work in your specific situation.  Ask again
if you have specific questions not answered by the docs.

--
Joshua Slive

http://www.veryComputer.com/~slive/