Bugzilla: Difference between revisions

From wikinotes
 
No edit summary
Line 1: Line 1:
= Notes =
<blockquote>
{|
|-
| [[bugzilla install]]
|-
| [[bugzilla configuration]]
|-
|}
</blockquote><!-- Notes -->
= Install =
= Install =
<blockquote>
<blockquote>


{{  
{{
TODO |
TODO |
need to extend the size of mysql tables so that they can receive attachments
need to extend the size of mysql tables so that they can receive attachments
Line 54: Line 65:
## Create user bugs, used by bugzilla
## Create user bugs, used by bugzilla
## to update the tables
## to update the tables
GRANT  SELECT,  
GRANT  SELECT,
         INSERT,
         INSERT,
         UPDATE,  
         UPDATE,
  DELETE,  
  DELETE,
  INDEX,  
  INDEX,
  ALTER,  
  ALTER,
  CREATE,  
  CREATE,
  LOCK TABLES,
  LOCK TABLES,
         CREATE TEMPORARY TABLES,  
         CREATE TEMPORARY TABLES,
  DROP,  
  DROP,
  REFERENCES  
  REFERENCES


ON      bugs.*
ON      bugs.*
Line 154: Line 165:
recipient_delimiter = +;
recipient_delimiter = +;


####  
####
</syntaxhighlight>
</syntaxhighlight>


Line 174: Line 185:
cd /usr/local/www/bugzilla
cd /usr/local/www/bugzilla


perl  installmodule.pl  MIME::Parser  
perl  installmodule.pl  MIME::Parser
perl  installmodule.pl  LWP::UserAgent
perl  installmodule.pl  LWP::UserAgent
perl  installmodule.pl  XML::Twig  
perl  installmodule.pl  XML::Twig
perl  installmodule.pl  Net::LDAP                                                                                                                                                                                                |  3 #!TODO: kind of a major oversight. Currently the way tha this is working
perl  installmodule.pl  Net::LDAP                                                                                                                                                                                                |  3 #!TODO: kind of a major oversight. Currently the way tha this is working
perl  installmodule.pl  Authen::Radius                                                                                                                                                                                            |  2 #!      it is going to strip all comments from the output file. This should
perl  installmodule.pl  Authen::Radius                                                                                                                                                                                            |  2 #!      it is going to strip all comments from the output file. This should
Line 220: Line 231:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Administration > Bugzilla  
Administration > Bugzilla


Required Settings:
Required Settings:

Revision as of 19:50, 19 September 2021

Notes

bugzilla install
bugzilla configuration

Install

TODO:

need to extend the size of mysql tables so that they can receive attachments


System

sudo pkg install mysql56-server bugzilla50 nginx perl5 fcgiwrap postfix

adduser www				## for nginx
adduser backup			## to backup fs, and database


#### /etc/rc.conf
sshd_enable="YES"
mysql_enable="YES"
nginx_enable="YES"
postfix_enable="YES"
fastcgi_enable="YES"
fastcgi_user="www"

####


## Set timezone
cp /usr/share/zoneinfo/America/Toronto /etc/localtime

MySQL

## Create the bugs database
CREATE DATABASE bugs;



## Create user backup for automated mysqldumps
GRANT   SELECT, LOCK TABLES, SHOW VIEW
ON      *.*
TO      'bugs'@'%'
IDENTIFIED BY <password>;


## Create user bugs, used by bugzilla
## to update the tables
GRANT   SELECT,
        INSERT,
        UPDATE,
		  DELETE,
		  INDEX,
		  ALTER,
		  CREATE,
		  LOCK TABLES,
        CREATE TEMPORARY TABLES,
		  DROP,
		  REFERENCES

ON      bugs.*
TO      bugs@localhost IDENTIFIED BY <password>;



## Flush privileges so that new settings take effect
FLUSH PRIVILEGES;


fastcgiwrap

cgi scripts are written in Perl, nginx does not parse fcgi so you need something else nginx can use to render them. All configuration is done in /etc/rc.conf.



Nginx

## /usr/local/etc/nginx/nginx.conf                                                                                                                                                                                                     |1

                                                                                                                                                                                                                                       |
user www www;                                                                                                                                                                                                                          |
worker_processes 1;                                                                                                                                                                                                                    |
                                                                                                                                                                                                                                       |
events {                                                                                                                                                                                                                               |
   worker_connections 1024;                                                                                                                                                                                                            |
}                                                                                                                                                                                                                                      |
                                                                                                                                                                                                                                       |
                                                                                                                                                                                                                                       |
http {                                                                                                                                                                                                                                 |
                                                                                                                                                                                                                                       |
   ## Default page type is HTML with CSS                                                                                                                                                                                               |
   include       /usr/local/etc/nginx/mime.types;                                                                                                                                                                                      |
   default_type  application/octet-stream;                                                                                                                                                                                             |
                                                                                                                                                                                                                                       |
                                                                                                                                                                                                                                       |
   ## HTTP                                                                                                                                                                                                                             |
   server {                                                                                                                                                                                                                            |
      listen         80;                                                                                                                                                                                                               |
      server_name    localhost;                                                                                                                                                                                                        |
                                                                                                                                                                                                                                       |
      charset utf-8;                                                                                                                                                                                                                   |
      root       /usr/local/www/bugzilla;                                                                                                                                                                                              |
      index      index.cgi;                                                                                                                                                                                                            |
                                                                                                                                                                                                                                       |
                                                                                                                                                                                                                                       |
      location ~ ^.*\.cgi$ {                                                                                                                                                                                                           |
         fastcgi_pass    unix:/var/run/fcgiwrap/fcgiwrap.sock;                                                                                                                                                                         |
         fastcgi_index index.cgi;                                                                                                                                                                                                      |
         fastcgi_param SCRIPT_FILENAME /usr/local/www/bugzilla/$fastcgi_script_name;                                                                                                                                                   |
         include fastcgi_params;                                                                                                                                                                                                       |
                                                                                                                                                                                                                                       |
         ## Prevent 502 Bad Gateway                                                                                                                                                                                                    |
         #fastcgi_connect_timeout 60;                                                                                                                                                                                                  |
         #fastcgi_send_timeout 180;                                                                                                                                                                                                    |
         #fastcgi_read_timeout 180;                                                                                                                                                                                                    |
         #fastcgi_buffer_size 128k;                                                                                                                                                                                                    |
         #fastcgi_buffers 4 256k;                                                                                                                                                                                                      |
         #fastcgi_busy_buffers_size 256k;                                                                                                                                                                                              |
      }                                                                                                                                                                                                                                |
   }                                                                                                                                                                                                                                   |
}


postfix

http://bugzilla.readthedocs.io/en/latest/installing/essential-post-install-config.html

We don't need a full postfix install, we only need the sendmail (SMTP) portion of it. For the most part, the default config just works:

See postfix.

#### /usr/local/etc/postfix/main.cf
recipient_delimiter = +;

####
service postfix start
echo "Email Body" | mail -s "Test Subject" willjpittman@gmail.com		## check in spam

Bugzilla


## Bugzilla needs an assortment of PERL modules in order
## to start.

sudo -i
cd /usr/local/www/bugzilla

perl   installmodule.pl   MIME::Parser
perl   installmodule.pl   LWP::UserAgent
perl   installmodule.pl   XML::Twig
perl   installmodule.pl   Net::LDAP                                                                                                                                                                                                 |  3 #!TODO: kind of a major oversight. Currently the way tha this is working
perl   installmodule.pl   Authen::Radius                                                                                                                                                                                            |  2 #!      it is going to strip all comments from the output file. This should
perl   installmodule.pl   SOAP::Lite                                                                                                                                                                                                |  1 #!      be fixed...
perl   installmodule.pl   XMLRPC::Lite                                                                                                                                                                                              |30
perl   installmodule.pl   JSON::RPC                                                                                                                                                                                                 |  1
perl   installmodule.pl   Test::Taint                                                                                                                                                                                               |  2 class ModifyKeyVals( object ):
perl   installmodule.pl   Email::Reply                                                                                                                                                                                              |  3 +-- 87 lines: #@ __init__                                                                            --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   HTML::FormatText::WithLinks                                                                                                                                                                               |  4 +-- 10 lines: #@ main                                                                                --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   TheSchwartz                                                                                                                                                                                               |  5 +-- 13 lines: #@ _validate_args                                                                      --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   Daemon::Generic                                                                                                                                                                                           |  6
perl   installmodule.pl   Apache2::SizeLimit                                                                                                                                                                                        |  7 +-- 17 lines: #@ strip_comments                                                                      --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   File::MimeInfo::Magic                                                                                                                                                                                     |  8 +--109 lines: #@ _strip_multiline_comments                                                           --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   IO::Scalar                                                                                                                                                                                                |  9 +-- 21 lines: #@ _strip_line_comments                                                                --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   Cache::Memcached                                                                                                                                                                                          | 10
perl   installmodule.pl   File::Copy::Recursive                                                                                                                                                                                     | 11 +-- 32 lines: #@ write_tempfile                                                                      --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   File::Which                                                                                                                                                                                               | 12 +-- 39 lines: #@ replace_keyvals                                                                     --------------------------------------------------------------------------------------------------------------------
perl   installmodule.pl   DBD::mysql                                                                                                                                                                                                | 13 +-- 17 lines: #@ write_to_config                                                                     --------------------------------------------------------------------------------------------------------------------
## Run Bugzilla Installer
sudo -i
cd    /usr/local/www/bugzilla
perl  checksetup.pl


Usage

Configuration

Administration > Bugzilla

	Required Settings:
		- urlbase

	Maintainer:
		- user@domain.com

	User Authentication:
		- remember login: yes

	Bug Fields:
		- Default Priority: normal
		- Default Severity: normal

	Email:
		- mail_delivery_method: sendmail
		- mailfrom:             bugzilla@domain.com		## domain doesn't exist
																		#  that is alright. must match hostname's fake domain.