This isn't anything supplied by Bugzilla by default, so a separate install is needed, including a couple of patches to Bugzilla itself.
My setup is currently a default Bugzilla 3.6.2 installation on Ubuntu 10.04.
First off, get dependencies:
sudo apt-get install build-essential libcatalyst-perl libcatalyst-modules-perl libmoose-perl apache2 \ libapache2-mod-fastcgi libfcgi-perl libfcgi-procmanager-perl mercurial liblog-handler-perl libarray-diff-perl \ libcatalyst-action-rest-perl libdata-walk-perl libdatetime-format-iso8601-perl libmodule-install-perl -y PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install BZ::Client" PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Moose" PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Test::More" PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Catalyst::Controller::REST" #(inc. optional modules) PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Catalyst::Plugin::Log::Handler" PERL_MM_USE_DEFAULT=1 perl -MCPAN -e "install Slurp"
Patch Bugzilla using the patches from: https://wiki.mozilla.org/Bugzilla:REST_API *DEPRECATED*
cd /var/www/bugzilla
wget https://bugzilla.mozilla.org/attachment.cgi?id=408495 -O JSON_template_for_config.cgi.diff
patch < JSON_template_for_config.cgi.diff
wget https://bugzilla.mozilla.org/attachment.cgi?id=475044 -O template/en/default/config.json.tmpl
chown root:www-data template/en/default/config.json.tmpl
Get the bzapi files:
cd /var/www hg clone http://hg.mozilla.org/webtools/bzapi bzapiCopy extension into place and set up config file:
cd /var/www/bzapi cp -r extension/BzAPI ../bugzilla/extension/ cp bugzilla_api.conf.sample bugzilla_api.conf nano bugzilla_api.confCheck that all dependencies are met, by trying to start the fastcgi server:
cd /var/www/bzapi ./script/bugzilla_api_server.plSet up apache:
a2enmod ssl nano /etc/apache2/sites-enabled/bzapiExample config for apache (I simply added these lines to my bugzilla installation):
# Config for port 80 without ssl (will redirect) FastCgiServer /var/www/bzapi/script/bugzilla_api_fastcgi.pl -processes 10 -idle-timeout 180 Alias /bzapi /var/www/bzapi/script/bugzilla_api_fastcgi.pl/ # Config for port 443 with ssl Alias /bzapi /var/www/bzapi-1.0/script/bugzilla_api_fastcgi.pl/Restart apache to enable config:
apache2ctl restartAt this point I hit a problem with: Can't locate Bugzilla/API.pm in @INC (@INC contains: .. /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/local/share/perl/5.10.1/Module/Runtime.pm line 317. I solved it by adding the following to line 2 in /var/www/bzapi/script/bugzilla_api_fastcgi.pl:
use lib "/var/www/bzapi/lib";And then restart apache again.