Archive for the ‘mozilla’ Category

Manually Installing Bugzilla 4.4 on Fedora 20

Saturday, January 18th, 2014

One rainy winter I tried to manually install Bugzilla 4.4 on a Fedora 20 machine by using Bugzilla’s latest stable upstream code instead of the Bugzilla package provided by Fedora. You, being one of my delighted long-term blog readers, already know that one of my favorite hobbies is to run into issues. Generally. Hence allow me to share them with you here, to some extend.

General hint to the reader: RTFM: installation guide. Also ignore /etc/bugzilla/localconfig as it is only used by the Bugzilla package provided by Fedora.

  • cd /usr/share/
  • Download Bugzilla 4.4 via Bazaar (which will get replaced by Git soon): bzr co bzr://bzr.mozilla.org/bugzilla/4.4 bugzilla44
  • cd /usr/share/bugzilla44/
  • Run checksetup.pl to see that I should install numerous packages for functionality. In my case this meant yum install perl-Template-Toolkit perl-Template-GD perl-GDGraph perl-GDGraph3d perl-GDTextUtil perl-MIME-tools perl-HTML-Scrubber perl-TheSchwartz (you can find a nice list of package names on Fedora here).
  • Create a symlink so your Apache web server will find your Bugzilla: ln -s /usr/share/bugzilla44/ /var/www/html/bugzilla44
  • ./checksetup.pl --check-modules – if all packages are sorted out it should now complain about the database.
  • Start the web server and database services: systemctl start httpd.service and systemctl start mysqld.service
  • Database setup
    • Reset the MariaDB/MySQL password in case you forgot: mysqladmin -u root password
    • mysql -u root -p (then enter the password)
    • mysql$> CREATE DATABASE bugs;
    • mysql$> GRANT ALL PRIVILEGES ON bugs.* TO andre@localhost IDENTIFIED BY ‘password123′;
    • Edit /usr/share/bugzilla44/localconfig and insert the previously defined database information:
      db_host = 'localhost';
      db_user = 'bugs';
      db_user = 'andre';
      db_pass = 'password123';
  • Giving /usr/share/bugzilla44/testserver.pl http://localhost/bugzilla44 a try cannot hurt either to find further problems.

Problems

Now let’s finally start running into problems with Apache and SELinux (manuals FTW?).

  • Problem: CGI content displayed as plain raw text in the browser:
    • Remove the preceding # of the line #AddHandler cgi-script .cgi in /etc/httpd/conf/httpd.conf
  • Problem: 403 Forbidden error
    • Check that $webservergroup in /usr/share/bugzilla44/localconfig is set to apache
    • chown -R 751 /usr/share/bugzilla44
    • chown root:apache -R /usr/share/bugzilla44
    • Check /var/log/httpd/error_log and see the line
    • Options ExecCGI is off in this directory: /var/www/html/bugzilla44/index.cgi. So edit /etc/httpd/conf/httpd.conf and add:
      <Directory "/var/www/html/bugzilla44">
      AddHandler cgi-script .cgi
      Options +ExecCGI +FollowSymLinks
      DirectoryIndex index.cgi
      AllowOverride Limit FileInfo Indexes Options
      Order allow,deny
      Allow from all
      Require all granted
      </Directory>

      (I run Bugzilla on a test machine and don’t need to care about a secure setup, so my settings might not be good settings for you, obviously.)

  • Problem: 500 Internal Server Error
    • Check /var/log/httpd/error_log and see the line /var/www/html/bugzilla44/.htaccess: Options not allowed here
    • Instead of commenting out lines, double-check that $create_htaccess = 0; is set in /usr/share/bugzilla44/localconfig and delete /usr/share/bugzilla44/.htaccess before it complains about every damn single line in there. Run checksetup.pl, as usual.
  • Problem: Try to set up any parameter on the Bugzilla admin page and fail
    • Software error: Error in tempfile() using template data/params.XXXXX: Could not create temp file data/params.abcDE: Permission denied at Bugzilla/Config.pm line 270.
    • Wait, obscure and cryptic permission issues even after running chmod a+rwx /usr/share/bugzilla44/data/? That sounds like the main area of expertise of SELinux! But random stuff I found on the interwebs like setsebool -P httpd_enable_homedirs on and setsebool -P httpd_read_user_content on did not help. echo 0 >/selinux/enforce neither (that command likely changed over the last years, see next sentence).
    • Following a blogpost about Nagios vs SELinux, running setenforce 0 to change SELinux’ mode from “enforcing” to “permissive” (you can check via sestatus) finally makes Bugzilla work as expected. Obviously looking at the SELinux context of a specific file via ls -Z and adjusting it via chcon is less pervasive, but I don’t care much about SELinux.

Bugzilla now works for me.

(General hint for people from the future who found this blogpost after searching for how to fix their Bugzilla problem: If you need Bugzilla support, send an email to Bugzilla support instead of using the comment function on somebody’s blog. Cheers.)

Mozilla Summit 2013

Tuesday, October 8th, 2013

mozsummit2013

I had the pleasure to attend the European edition of Mozilla Summit 2013 last weekend. It also took place in Santa Clara (USA) and Toronto (Canada), hosting nearly 2000 Mozillians in total.

The session which interested me the most was discussing bugzilla.mozilla.org (bmo) and the relation to upstream Bugzilla development (especially getting more great stuff from bmo into upstream so other Bugzilla instances could use it). I try to follow bmo development (glob’s “push day” posts and the planning page are the most useful resources) and especially the recent bmo experiments with product dashboards, user dashboards and user pages, but getting an overview of all plans “in a nutshell” is always helpful, especially as there aren’t many upstream meetings.

FYI, further plans for the bmo instance include

  • Native REST API
  • moving the code repository from bzr to git
  • UI improvements, more AJAX
  • upstreaming the new bmo skin
  • moving flags to its own database table for performance reasons (flags are heavily used for release management and hence frequently added in bmo)
  • Investigating the use of memcached
  • Integration with ReviewBoard to replace Splinter

Having spent a few years with Maemo and MeeGo, I also loved the discussion and analysis of the mobile market and its players (competitors and potential allies of Firefox OS).

All in all the conference was extremely well organized and very welcoming – lots of smiling faces. I enjoyed discussing best bug management practices with other triagers, but also offtopic stuff like middle east politics or the times of surveillance that we’re living in. And my hotel roommate awoke my interest in profiling the JavaScript of my triage helper tools so they now run way faster.

Know more, do more, do better.

I would like to express my gratitude to Mozilla for inviting me to this event.

MozCamp Europe 2011

Tuesday, November 15th, 2011

MozCamp 2011

Last weekend I attended MozCamp Europe in Berlin. I was mostly interested in discussing and learning about QA, Support/Documentation and Localization.

Most interesting talk for me was Robert Kaiser’s “Crash Investigation 101″ covering the infrastructure behind crash-stats.mozilla.org, interaction with Mozilla’s bugtracker, some statistical data (2-3 million received reports per day for Firefox, processing 10-15% provides a relevant data sample), and crash reasons (more than 50% of reported issues have nothing to do with the codebase but instead with Flash, Add-Ons, or Malware).

I was also impressed by the infrastructure on support.mozilla.org: Page access statistics for each article (issues that are popular might imply required UI improvements), combined with a “Was this article helpful? [Yes] [No]” at the end of every article: if the “Yes” percentage suddenly drops it implies that the article is not correct anymore and needs an overhaul.

Small nitpicking: Next time I would not recommend scheduling about 13 BOFs / Work Sprints for one 90min slot on a Sunday evening (people leaving for flights) – I was not the only BoF host who had only one attendee. Maybe have at least two slots and find a better time?

I’d like to thank Mozilla for the invitation and the interesting conversations that I had with community members.