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
|
||||
|
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]