Saying that installing Bugzilla was painful would be the understatement of the year. From what I’ve been able to piece together through this nightmare, it probably took me 9 hours to get the whole thing done – 3 hours on 3 separate days. And if it wasn’t for @mkanat suggesting that I give it another try, I probably would’ve walked away a LONG TIME ago.
I mean, I believe that everyone who works on large computer projects like myself should have some kind of issue tracker setup and while I’ve been using Mantis very happily – It doesn’t look very attractive (which is important when opening this up to clients and associates). So I began searching for something that it looked a bit better which is when I found Bugzilla. *shaking head*
First Things First
If you’re thinking about installing this on your server, know that it’s not for the feint of heart. There are A LOT of “moving parts” with this thing (Perl, CGI, db stuff) and many of them are things that I don’t have intimate experience with. Aside from that, the install guide that comes up Bugzilla is very vanilla in that seemingly ALL the issues that came up for me were not addressed in the guide either in notes next to the instructions or in the troubleshooting section. Even Google searches weren’t yielding me the help I really needed. @mkanat suggested that I use the Bugzilla newsgroup which I tried, but look – I’ve never used a newsgroup before and at 11:30pm at night well into hour 7 or something… I just wanted to get this done, not learn yet another thing.
So hey, I finally got things going last night so I wanted to put something out there that might help others who are going through the same pain. This isn’t an install guide but just the problems that I had that I didn’t see answered anywhere else. Oh and keep in mind that I don’t fancy myself a Unix Administrator either so if I get things wrong or sound stupid – It IS what it IS.
First you’ll need to probably shell into your server using the username for the website you’re installing it into. That’s to say, even if you think you can only or SHOULD shell in as “root”, you should instead shell in as the group/owner of the website where you’re installing Bugzilla… This will probably fix problems for you later. After you download the Bugzailla tar file and untar it, you have to run this script called checksetup.pl. (You run it by typing “./checksetup.pl” at the command line. When you first run it, you’ll be told about all the Perl modules you need to have installed to get things going. It will also say that to install all the modules, do “./install_modules.pl –all”. When I did that, everything went fine until it prompted me for “pg_config” which is when the first big headache started.
Installing the Modules – Oh and “pg_config” or “pg_path” is the Devil
I found out later that the “pg_config” prompt was for a PostgreSQL module. Here’s the thing, I have MySQL. You can think that you can just skip this by pressing [enter] but when you do, the script quits out and then I was getting an error when re-running it saying “Can’t locate Constant.pm in @INC” blah blah blah. At this point, I couldn’t go forward in my installation. The only way I found to deal with this was re-installing Perl (if you use CPanel, you can follow the instructions to do so here: >http://docs.cpanel.net/twiki/bin/view/11_24/AllFAQ/PerlFAQ#How_do_I_upgrade_Perl After doing this 2 or three times, I think I stumbled onto something through Google searches saying that you may NOT want to install ALL the modules. This was a big turning point. Instead, (after I was able to run checksetup.pl again), I ONLY installed the modules that were required (I think there was about 3). After that, I got past this HUGE hiccup. And again – Why this information isn’t included as a note in the install guide is beyond me.
And Then There Was the Group Owner Permission Problems
After all this, I finally got to the point where I could try and run things again (./checksetup.pl and the like) and I was still getting problems. Turns out now that I had group/owner permission problems… Remember before when I said you should make sure to shell in using the group/owner account of the website where you’re installing this? Well see, I’m using something that I found out is called SuExec… From what I understand, it makes individual websites on your server run scripts by that website’s group name… If you let them run as “nobody” or “root”, it’s a big security thang. So anyway, when I installed all of this Bugzilla stuff as “root”, my owner and group permissions for all these files were all over the place (which is obviously bad). Using the commands “chown” and “chgrp”, I ended up fixed things and I made sure to update the “localconfig” file with the right group name.
At about this time in the process, you can run “testserver.pl” to try and see what’s wrong and even though things were a little broken, it was saying that the group name on the “localconfig” file was different than the name being used by the webserver. Even though it says “this MAY not be a problem”, when nothing is working you tend to second guess yourself so obviously I spent hours changing my Apache httpd.conf file, restarting Apache and then changing Bugzilla’s “localconfig” file and hoping it all worked. Bleh. Let me sum up things for you if you’re a bit confused:
I’ve been looking at this screen a lot lately.
Let’s say that I’m on my Linux box running Apache with Cpanel installed. I’m going to install Bugzilla onto hockeyrules.com – A domain that I own (for conversation’s sake anyway). When I FTP or or login to the CPanel for this domain, I know my username is “hockey”. Chances are, this is what SuExec is using for your group name when running scripts. So this is what you’re going to use in your “localconfig” file’s $webservergroup variable. Got it?
403 Forbidden My A$$
At this point, “checksetup.pl” was lookin’ good but I still was having problems with “testserver.pl” saying that it couldn’t retrieve some PNG file or something. When I checked out the site through my browser, I saw that I was getting a 403 Forbidden error. I mean seriously, could this thing just work!?!? After a little while searching and a little while investigating, I found out that my Bugzilla directory that was supposed to be serving files didn’t have the right permissions. What tripped a flag was when I saw that “Other” didn’t have read permissions which is when I think I chmodded it to 755 to get it to serve…
And that my friends is when it FINALLY worked.
So now I have a working version of Mantis AND a working version of Bugzilla. Oh, and I tried to get into Bugzilla a little while earlier today, but I found myself bamboozled. There’s a lot in there and it’s going to take a while to suss out I think. And don’t worry – I still plan on comparing the two so check back in a little while and you may see a FANtastic (or mediocre) review!