Search: For:
Browsing Single Category
www.dbatoolz.com ORACLE DBA Forums Solutions › Topic Id: 2811 | Permalink

mod_plsql: Cache directory is not valid in cache.conf

Topic ID: 2811
Created By: 2007-DEC-17 18:57:14 [Vitaliy]
Updated By: 2007-DEC-17 18:59:22 [Vitaliy]
Status: Open
Severity: Normal
Read Only: No
8617
2007-DEC-17 18:57:14
Moderator
 
 
Registered On: Mar 2006
Total Posts: 233
Issue
You've just switched to nobody:nobody for your OHS (Oracle HTTP Server) by 
setting the following parameters in httpd.conf:

   User nobody
   Group nobody

After OHS is restarted using:

   opmnctl stopall
   opmnctl startall

the following errors are reported in the:

   $ORACLE_HOME/Apache/Apache/logs/error_log.<timestamp>

[Mon Dec 17 15:15:56 2007] [crit] (13)Permission denied: mod_plsql: Cache 
directory is not valid in cache.conf
[Mon Dec 17 15:15:56 2007] [error] (13)Permission denied: mod_plsql: Please 
check your enviroment.\nORACLE_HOME is 
[/u01/app/applmgr/product/10.1.3/OracleAS_1]\nLD_LIBRARY_PATH is 
[/u01/app/applmgr/product/10.1.3/OracleAS_1/opmn/lib:
/u01/app/applmgr/product/10.1.3/OracleAS_1/lib:
/u01/app/applmgr/product/10.1.3/OracleAS_1/opmn/lib:
/u01/app/applmgr/product/10.1.3/OracleAS_1/lib]\nNLS_LANG is 
[AMERICAN_AMERICA.WE8MSWIN1252]

Setting chmod 777 on the modplsql/cache directory does not solve this issue.  
Following steps in "Note:417861.1 How To Configure the Http Server To Run As a 
low privileged User" does not solve the problem.
Research
Try to su - nobody

   [root@dbaconsole bin]# su - nobody
   This account is currently not available.

This is a Oracle Linux ES install and nobody is disabled by default:

   [root@dbaconsole bin]# grep "nobody" /etc/passwd
   nobody:x:99:99:Nobody:/:/sbin/nologin
   nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

Temporary remove /sbin/nologin to enable su - nobody

   [root@dbaconsole bin]# egrep "nobody|oracle" /etc/passwd
   ##nobody:x:99:99:Nobody:/:/sbin/nologin
   nobody:x:99:99:Nobody:/:
   nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

su - nobody and try to navigate OHS directories

   -sh-3.00$ cd /u01/app/applmgr/product/10.1.3/OracleAS_1/Apache
   -sh: cd: /u01/app/applmgr/product/10.1.3/OracleAS_1/Apache: Not a directory
   -sh-3.00$ pwd
   /u01/app/applmgr
   -sh-3.00$ cd product
   -sh: cd: product: Permission denied

as you can see I can't even go into "product" directory due to it's setting:

   -sh-3.00$ ls -l
   total 2996
   drwxrwx---   9 applmgr oinstall    4096 Dec 14 16:35 oraInventory
   drwxrwx---   3 applmgr oinstall    4096 Dec 14 15:45 product
SOLUTION
Although "modplsql/cache" directory was changed to allow writes by nobody, 
permissions on the top level directory of ORACLE_HOME and product were setup in 
a way that prevented user nobody getting to "modplsql/cache":

   [root@dbaconsole logs]# ls -l /u01/app/applmgr/
   total 2996
   drwxrwx---   9 applmgr oinstall    4096 Dec 14 16:35 oraInventory
   drwxrwx---   3 applmgr oinstall    4096 Dec 14 15:45 product

By setting permissions to:
   
   [root@dbaconsole logs]# chmod 755 /u01/app/applmgr/product
   [root@dbaconsole logs]# chmod 755 /u01/app/applmgr/product/10.1.3

and following the steps in Note:417861.1 the issue was solved.
[edited by: Vitaliy at 18:59 (CST) on Dec. 17, 2007]