Graham Dumpleton
graham.dumpleton at gmail.com
Thu Jan 31 23:10:43 EST 2008
On 01/02/2008, Scott Bratcher <scott at 3floors.com> wrote: > Thank you for looking in, Graham, > > DEPENDENCIES: > # ldd /etc/httpd/modules/mod_python.so > linux-gate.so.1 => (0x00b16000) > libpthread.so.0 => /lib/libpthread.so.0 (0x00f2d000) > libdl.so.2 => /lib/libdl.so.2 (0x00aa7000) > libutil.so.1 => /lib/libutil.so.1 (0x00110000) > libm.so.6 => /lib/libm.so.6 (0x00114000) > libc.so.6 => /lib/libc.so.6 (0x00453000) > /lib/ld-linux.so.2 (0x0076d000) > > SIZE: > # ls -fla /etc/httpd/modules/mod_python.so > -rwxr-xr-x 1 root root 4.1M Jan 31 01:51 /etc/httpd/modules/ > mod_python.so* > > I'm game to reinstall python, how do I check to see if there is a > libpythonX.Y.so file linked to mod_python.so? It should appear in that list above. Check out notes in: http://code.google.com/p/modwsgi/wiki/InstallationIssues This is for mod_wsgi, but it has the same issue with the Python library. Graham > On Jan 31, 2008, at 6:51 PM, Graham Dumpleton wrote: > > > How big is your: > > > > /etc/httpd/modules/mod_python.so > > > > file? If you run ldd on it, what does it output as far as dependencies > > on shared libraries? > > > > One of the problems with some Python installations is that they still > > do not provide a shared library and so a static library gets embedded > > in mod_python.so. This results in some messy adress relocations having > > to be done when mod_python.so is loaded. I am wandering whether the > > 'reloc' mentioned in: > > > > cannot restore segment prot after reloc > > > > is the module loading relocations and it is having a problem with > > that. > > > > If there is no libpythonX.Y.so linked to mod_python.so, then reinstall > > Python using --enable-shared to configure, possibly fix up missing > > libpythonX.Y.so symlink in Python installed config directory and then > > rebuild mod_python, see if that makes a difference. > > > > Probably nothing to do with this, but if nothing else works. :-) > > > > Graham > > > > On 01/02/2008, Scott Bratcher <scott at 3floors.com> wrote: > >> Thanks Eric and Tom, > >> > >> Unresolved however. I did some permissions tests based on your > >> feedback. > >> > >> > >> I'm chasing this issue as though it is a permissions issue and have > >> identified SELinux as the hold-up. I've tried all of these permission > >> sets on the modules actual folder and the modules symlinked folder. > >> I did both directories just in case the permissions trickle down to > >> the actual files being loaded by mod_python itself: > >> > >> # chcon -R -h -u system_u -r object_r -t httpd_sys_content_t /usr/ > >> lib/ > >> httpd/modules /etc/httpd/modules > >> # chcon -R -h -u user_u -r object_r -t httpd_sys_content_t /usr/lib/ > >> httpd/modules /etc/httpd/modules > >> # chcon -R -h -u user_u -r object_r -t httpd_modules_t /usr/lib/ > >> httpd/ > >> modules /etc/httpd/modules > >> # chcon -R -h -u system_u -r object_r -t httpd_modules_t /usr/lib/ > >> httpd/modules /etc/httpd/modules ((( This one is the original > >> permission of all apache modules))) > >> # chcon -R -h -u system_u -r object_r -t lib_t /usr/lib/httpd/ > >> modules /etc/httpd/modules > >> # chcon -R -h -u system_u -r object_r -t shlib_t /usr/lib/httpd/ > >> modules /etc/httpd/modules > >> # chcon -R -h -u system_u -r object_r -t textrel_shlib_t /usr/lib/ > >> httpd/modules /etc/httpd/modules > >> > >> All gave this error: > >> ---------- > >> # service httpd start > >> Starting httpd: httpd: Syntax error on line 210 of /etc/httpd/conf/ > >> httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/python.conf: > >> Cannot load /etc/httpd/modules/mod_python.so into server: /etc/httpd/ > >> modules/mod_python.so: cannot restore segment prot after reloc: > >> Permission denied > >> [FAILED] > >> ---------- > >> > >> ---> This is the only one that gave me a different error. > >> ---------- > >> # chcon -R -h -u system_u -t textrel_shlib_t /usr/lib/httpd/modules / > >> etc/httpd/modules > >> # service httpd start > >> Starting httpd: httpd: Syntax error on line 148 of /etc/httpd/conf/ > >> httpd.conf: Cannot load /etc/httpd/modules/mod_auth_basic.so into > >> server: /etc/httpd/modules/mod_auth_basic.so: cannot open shared > >> object file: Permission denied > >> [FAILED] > >> ---------- > >> > >> > >> ****AGAIN I MUST NOTE: All is solved by turning off SELinux and/or > >> All is solved by not loading mod_python. All other modules loaded > >> just fine with their original permissions which matched mod_python > >> exactly. > >> > >> > >> > >> > >> Scott > >> > >> > >> > >> On Jan 31, 2008, at 1:42 PM, Tom Stambaugh wrote: > >> > >>> The incantation that I use (for solving different problems, though) > >>> is: > >>> > >>> chcon -R -h -t httpd_sys_content_t <filename> > >>> > >>> I think the "-R" makes it recurse to all children, and I think the > >>> "httpd_sys_content_t" is more permissive (though that could be > >>> mistaken). > >>> The -h causes it to apply to sym links. > >>> > >>> Afterwords, I get: > >>> > >>> #ls -lZ adminuser > >>> -rw-rw-r-- zeetix zeetix user_u:object_r:httpd_sys_content_t > >>> <filename> > >>> > >>> I use Fedora core3/core4 linux, so YMMV. > >>> > >>> Thx, > >>> Tom > >>> > >>> ----- Original Message ----- > >>> From: "Scott Bratcher" <scott at 3floors.com> > >>> To: "Eric Brunson" <brunson at brunson.com> > >>> Cc: <mod_python at modpython.org> > >>> Sent: Thursday, January 31, 2008 1:47 PM > >>> Subject: Re: [mod_python] Apache Fails to load mod_python.so with > >>> Permissiondenied error under SELinux > >>> > >>> > >>>> Thanks Eric, > >>>> > >>>> "setenforce 0" THIS WORKED. Apache started right up > >>>> > >>>> Below are the results of my attempts as you suggested. I think > >>>> we are > >>>> onto the problem because with SELinux enforced it loads right up. > >>>> However, the chcon command failed to clear up the problem. I'm > >>>> new to > >>>> SELinux. Is there another possible SELinux related permission > >>>> that may be > >>>> the solution? It's just mod_python that is giving this problem > >>>> even > >>>> though all of the others share the same t permission httpd_module. > >>>> > >>>> # ls -Zd modules > >>>> drwxr-xr-x root root system_u:object_r:httpd_modules_t modules/ > >>>> > >>>> So I changed the permissions: > >>>> > >>>> # chcon -t texrel_shlib_t /etc/httpd/modules/mod_python.so > >>>> # service httpd start > >>>> Starting httpd: httpd: Syntax error on line 210 of /etc/httpd/conf/ > >>>> httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/ > >>>> python.conf: > >>>> Cannot load /etc/httpd/modules/mod_python.so into server: /etc/ > >>>> httpd/ > >>>> modules/mod_python.so: cannot restore segment prot after reloc: > >>>> Permission denied > >>>> [FAILED] > >>>> # ls -Z /etc/httpd/modules/mod_python.so > >>>> -rwxr-xr-x root root system_u:object_r:textrel_shlib_t /etc/httpd/ > >>>> modules/mod_python.so* > >>>> > >>>> > >>>> > >>>> I also tried changing the permissions of the 2.5 site-packages > >>>> to the > >>>> same permissions as the previously working 2.4 site-packages, > >>>> plus the > >>>> other listed below, and the still Apache Failure occurs. > >>>> > >>>> # ls -Zd /usr/local/lib/python2.5/site-packages/ /usr/lib/ > >>>> python2.4/ > >>>> site-packages/ > >>>> drwxr-xr-x root root system_u:object_r:lib_t /usr/lib/ > >>>> python2.4/site-packages/ > >>>> drwxr-xr-x root root user_u:object_r:lib_t /usr/local/ > >>>> lib/python2.5/site-packages/ > >>>> > >>>> system_u:object_r:lib_t > >>>> system_u:object_r:textrel_shlib_t > >>>> user_u:object_r:textrel_shlib_t > >>>> > >>>> > >>>> If you have other tips I'd appreciate any help you can offer. > >>>> > >>>> Scott > >>>> > >>>> > >>>> > >>>> On Jan 31, 2008, at 10:13 AM, Eric Brunson wrote: > >>>> > >>>>> Scott Bratcher wrote: > >>>>>> Hello all, > >>>>>> > >>>>>> > >>>>>> THE PROBLEM: > >>>>>> > >>>>>> Starting Apache results in this error: > >>>>>> > >>>>>> # service httpd start > >>>>>> Starting httpd: httpd: Syntax error on line 210 of /etc/httpd/ > >>>>>> conf/ > >>>>>> httpd.conf: Syntax error on line 6 of /etc/httpd/conf.d/ > >>>>>> python.conf: > >>>>>> Cannot load /etc/httpd/modules/mod_python.so into server: > >>>>>> /etc/httpd/modules/mod_python.so: cannot restore segment prot > >>>>>> after > >>>>>> reloc: Permission denied > >>>>>> > >>>>>> [FAILED] > >>>>>> > >>>>> > >>>>> This error message is often related to selinux permissions. > >>>>> > >>>>> A quick check to see if that is the problem is to disable > >>>>> selinux with > >>>>> the command (as root) "setenforce 0". If the module then loads > >>>>> correctly, it can be fixed permanently with the command: > >>>>> > >>>>> chcon -t texrel_shlib_t /etc/httpd/modules/mod_python.so > >>>>> > >>>>> Then, re-enable selinux with "setenforce 1". > >>>>> > >>>>> If disabling selinux does not fix the problem, then more > >>>>> investigation > >>>>> is required. > >>>>> > >>>>> Hope that helps, > >>>>> e. > >>>>> > >>>>>> USING: > >>>>>> > >>>>>> RHEL5 / SELinux > >>>>>> Apache 2.2 > >>>>>> Python 2.5.1 > >>>>>> mod_pythonn 3.3.1 > >>>>>> httpd.conf (not .htaccess) > >>>>>> > >>>>>> > >>>>>> TESTED THUS FAR: > >>>>>> > >>>>>> .so file exists with same permissions as other modules > >>>>>> # ls -Z /etc/httpd/modules/mod_python.so > >>>>>> -rwxr-xr-x root root system_u:object_r:httpd_modules_t /etc/ > >>>>>> httpd/ > >>>>>> modules/mod_python.so* > >>>>>> > >>>>>> If I comment out: > >>>>>> "#LoadModule python_module modules/mod_python.so" > >>>>>> and other related python lines Apache starts just fine without > >>>>>> mod_python. > >>>>>> # service httpd start > >>>>>> Starting httpd: > >>>>>> [ OK ] > >>>>>> > >>>>>> > >>>>>> > >>>>> > >>>> > >>>> _______________________________________________ > >>>> Mod_python mailing list > >>>> Mod_python at modpython.org > >>>> http://mailman.modpython.org/mailman/listinfo/mod_python > >>>> > >>> > >>> > >>> > >> > >> _______________________________________________ > >> Mod_python mailing list > >> Mod_python at modpython.org > >> http://mailman.modpython.org/mailman/listinfo/mod_python > >> > >
|