Last Comment Bug 380077 - SELinux may prevent the parameter file from being read by the web server
: SELinux may prevent the parameter file from being read by the web server
Status: RESOLVED DUPLICATE of bug 394986
:
Product: Bugzilla
Classification: Server Software
Component: Installation & Upgrading (show other bugs)
: 3.0
: x86 Linux
: -- normal (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
: default-qa
:
Mentors:
: 384134 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-05-08 11:42 PDT by Mohammed King
Modified: 2007-09-20 13:45 PDT (History)
5 users (show)
mkanat: blocking3.0.1-
See Also:
QA Whiteboard:
Iteration: ---
Points: ---


Attachments

Description Mohammed King 2007-05-08 11:42:20 PDT
User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en) AppleWebKit/418 (KHTML, like Gecko) Safari/417.9.2
Build Identifier: 3.0rc1

 downloaded bugzilla-3.0rc1 and installed it. I ran the checksetup.pl and from what I got back all required modules are installed. However I am getting the errors below when I make an attempt to run the script from the browser. Moving Bugzilla/Auth/Login to the locations specified does not solve the problem. Any ideas what the problem is here. Is there a module to install that I have missed. Any help is greatly appreciated.
Current perl version is 5.8.3



Reproducible: Always

Steps to Reproduce:
1. Go to URL bugzilla is installed and I get a Internal server error.
2.
3.
Actual Results:  
Apache error logs produces the errors below. 

[Mon May 07 09:05:26 2007] [error] [client 216.154.209.175] Use of uninitialized value in concatenation (.) or string at Bugzilla/Auth.pm line 44.
[Mon May 07 09:05:26 2007] [error] [client 216.154.209.175] Can't locate Bugzilla/Auth/Login/.pm in @INC (@INC contains: . /usr/lib/perl5/5.8.3/i386-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl/5.8.2 /usr/lib/perl5/site_perl/5.8.1 /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl/5.8.2 /usr/lib/perl5/vendor_perl/5.8.1 /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl) at Bugzilla/

Expected Results:  
Bugzilla interface to display.
Comment 1 Frédéric Buclin 2007-05-08 12:31:28 PDT
Are you sure 'user_info_class' is defined? Check this at editparams.cgi?section=auth#user_info_class
Comment 2 Max Kanat-Alexander 2007-05-08 12:39:38 PDT
When you try to run *what* script from the browser?
Comment 3 Marc Schumann [:Wurblzap] 2007-05-09 01:40:53 PDT
(In reply to comment #2)
> When you try to run *what* script from the browser?

From @support: this is about index.cgi.

(In reply to comment #1)
> Are you sure 'user_info_class' is defined? Check this at
> editparams.cgi?section=auth#user_info_class

He can't do that, I suppose, because the same error would show up.
Mohammed, you can check for user_info_class in the data/params file. Is the user_info_class variable defined there, and does it have a valid value?
Comment 4 Frédéric Buclin 2007-06-02 06:19:05 PDT
SELinux is probably enabled, preventing the web server from reading data/params.

<CGI409> Can't locate Bugzilla/Auth/Login/.pm in @INC
<LpSolit> do you use SELinux? if yes, is it enabled?
<justdave> just type 'getenforce' and hit enter
<CGI409> ok   it returned Enforcing
<justdave> yeah, selinux is on then
<justdave> chcon -R --reference=/var/www/html /path/to/bugzilla
<justdave> assuming that /var/www/html is where apache's normal docroot is
<LpSolit> justdave: couldn't checksetup.pl try to execute getenforce, and if it exists and returns Enforcing, warn the user about it?
<justdave> probably could
<LpSolit> justdave: if the way to fix the problem with SELinux is the line you pasted above, why does the FAQ says that "Unfortunately there are no step-by-step instructions"?
<LpSolit> justdave: we should at least add the command above to the installation guide. I suppose this would work in most cases
<justdave> dunno, cuz I didn't write it?


As discussed on IRC, if checksetup.pl cannot execute 'getenforce' and check the returned value, we should at least write the command justdave gave in the installation notes. Or even better, write this command in the installation notes even if checksetup.pl can run getenforce. Max, what do you think about checksetup.pl running this command?

See also bug 286768 comment 7 (probably a dupe).
Comment 5 Max Kanat-Alexander 2007-06-02 22:00:09 PDT
Not a blocker, we've had various SELinux problems before, and they're not always broadly reproducible.

Running "getenforce" is not a reliable solution--people have different SELinux settings. data/params should always have the correct context, though, so it shouldn't be a problem.

Also, I would need the reporter to verify here that disabling SELinux solves his problem. I also need to see the directory path that he has things installed in, and what particular distro (and version of that distro) he's using.
Comment 6 Frédéric Buclin 2007-06-03 02:12:17 PDT
Then that's something we should put in the documentation. Even if this doesn't work in all cases, it seems that it works in most cases, following discussions on IRC.
Comment 7 Frédéric Buclin 2007-06-12 09:11:51 PDT
*** Bug 384134 has been marked as a duplicate of this bug. ***
Comment 8 Dave Miller [:justdave] (justdave@bugzilla.org) 2007-09-17 22:48:22 PDT
other bug is newer, but better describes what needs to be done to fix the problem.

*** This bug has been marked as a duplicate of bug 394986 ***

Note You need to log in before you can comment on or make changes to this bug.