Need a web server and a database engine to run bugzilla, here I choose apache and mysql. Install apache: $ pacman -S apache
Refer this wiki page for detailed information about apache installation and configuration. Install mysql: $ pacman -S mysql
The above LAMP wiki page also mentions something about mysql installation and configuration, for standalone installation, please refer this wiki page. Then install bugzilla using: $ pacman -S bugzilla
It requires a bunch of perl modules to be installed too, but some required modules still need to be installed manually (a little weird, why not include all required perl modules into dependencies?) Make a module check first: $ cd /srv/http/bugzilla $ ./checksetup.pl --check-modules
Check the screen output, you will learn which module is required and which is optional, for missing modules, it will also show you the shell command to install them. Install all required and optional modules using: $ perl install-module.pl -all
To make module GD and PerlMagick works, make sure you have gd and imagemagick installed: $ pacman -S gd imagemagick
Make the module check again, make sure all the required and optional modules are found: $ ./checksetup.pl --check-modules
(Note: For perl DBD modules, only DBD-mysql is needed in this case, it’s ok if it complains about not found DBD-pg or DBD-Oracle modules) Next, some more configuration to let bugzilla know how to connect mysql and create initial tables in it. Run checksetup.pl again, this time without the –check-modules switch: $ ./checksetup.pl
A file called “localconfig” is generated if everything is ok. Then edit it, modify some parameters there: $webservergroup = 'http'; $db_driver = 'mysql'; $db_name = 'bugs'; $db_user = 'bugs'; $db_pass = 'YOUR_PASSWORD_HERE';
Create the $db_user with password $db_pass in mysql: $ mysql -u root -p mysql> GRANT SELECT, INSERT, UPDATE, DELETE, INDEX, ALTER, CREATE, LOCK TABLES, CREATE TEMPORARY TABLES, DROP, REFERENCES ON bugs.* TO bugs@localhost IDENTIFIED BY 'YOUR_PASSWORD_HERE';
mysql> FLUSH PRIVILEGES; Run checksetup.pl again to create tables and an administrator user: $ ./checksetup.pl
Tweak mysql to make bugzilla more scalable and usable, refer bugzilla official doc for details: Allow large attachments and many comments: [mysqld] # Allow packets up to 4MB max_allowed_packet=4M
Allow small words in full-text indexes: [mysqld] # Allow small words in full-text indexes ft_min_word_len=2
Permit attachments table to grow beyond 4GB: mysql> use bugs; mysql> ALTER TABLE attachments AVG_ROW_LENGTH=1000000, MAX_ROWS=20000;
Finally, configure apache to run bugzilla using mod_cgi (also can be configured using mod_perl, refer this for details) Add following lines to /etc/httpd/conf/httpd.conf: <Directory /srv/http/bugzilla> AddHandler cgi-script .cgi Options +Indexes +ExecCGI DirectoryIndex index.cgi AllowOverride Limit </Directory>
That’s it, restart mysql and apache: $ /etc/rc.d/mysqld restart $ /etc/rc.d/httpd restart
Access http://server-domain-or-ip/bugzilla/ using your favorite browser to see your work result:) Attach some screen shots of mine below: Home page: Admin page:
Bugzilla on ArchLinux
Buy me a coffee