Bugzilla

From LQWiki
Jump to: navigation, search

Quick Start

SUSE

This article describes how to set up bugzilla on SUSE Linux with apache2.

    Configure mysql

  1. Configure mysql like this. This tutorial assumes the password P3 (not shown).
  2. scorpio:~/bugzilla-2.18rc3 # mysql_secure_installation
    
    
    
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    
    In order to log into MySQL to secure it, we'll need the current
    password for the root user.  If you've just installed MySQL, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none):
    OK, successfully used password, moving on...
    
    Setting the root password ensures that nobody can log into the MySQL
    root user without the proper authorisation.
    
    Set root password? [Y/n] Y
    New password:
    Re-enter new password:
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    
    By default, a MySQL installation has an anonymous user, allowing anyone
    to log into MySQL without having to have a user account created for
    them.  This is intended only for testing, and to make the installation
    go a bit smoother.  You should remove them before moving into a
    production environment.
    
    Remove anonymous users? [Y/n] Y
     ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n] Y
     ... Success!
    
    By default, MySQL comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n] Y
     - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n] Y
     ... Success!
    
    Cleaning up...
    
    
    
    All done!  If you've completed all of the above steps, your MySQL
    installation should now be secure.
    
    Thanks for using MySQL!
    
    
    scorpio:~/bugzilla-2.18rc3 #             
    
  3. priviledge the bugzilla-mysql-user like this:
  4. scorpio:~/bugzilla-2.18rc3 # mysql --password=P3
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 21 to server version: 4.0.21-Max 
    
    Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
    
    mysql> GRANT ALL PRIVILEGES ON bugs.* TO bugs@localhost IDENTIFIED BY 'P6';
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.04 sec) 
    
    mysql> exit
    Bye
    scorpio:~/bugzilla-2.18rc3 #
    

    Setup bugzilla

  5. Download the latest bugzilla from http://www.bugzilla.org/, this tutorial assumes it is version 2.18rc2.
  6. install the software in your server path
  7. cd /srv/www/htdocs
    tar xvfz bugzilla-2.18rc2.tar.gz
    mv bugzilla-2.18rc2 bugzilla
    chgrp www /srv/www/htdocs/bugzilla
    chmod g+x /srv/www/htdocs/bugzilla
    ./checksetup.pl
    
  8. checksetup.pl will most probably complain that some perl modules are missing, like that:
  9. Bugzilla requires some Perl modules which are either missing from
    your system, or the version on your system is too old.
    They can be installed by running (as root) the following:
       /usr/bin/perl -MCPAN -e 'install "MIME::Parser"'
    

    In this case, do what checksetup.pl says. If you have never run CPAN, have a look at its article: CPAN.

  10. change localconfig, replace $webservergroup="apache" by $webservergroup="www" and $db_pass= by $db_pass='P6'
  11. Let the software check itself:
  12. ./checksetup.pl
    
    Looks like we don't have an administrator set up yet.  Either this is your
    first time using Bugzilla, or your administrator's privileges might have    
    accidently been deleted. 
    Enter the e-mail address of the administrator: me@home.de
    You entered 'me@home.de'.  Is this correct? [Y/n] Y
    Enter the real name of the administrator: Tim Thaler
    Enter a password for the administrator account:
    Please retype the password to verify:
    'me@home.de' is now set up as an administrator account.
    scorpio:~/bugzilla-2.18rc3 #           
    
  13. in /etc/apache2/httpd.conf" have the line "DirectoryIndex index.php index.html index.html.var index.cgi". Within <Directory /> and </ Directory>, outcomment Options None and set AllowOverride All.
  14. in /etc/apache2/default-server.conf, have "AllowOverride All", outcomment "Options None". Place the following line directly after DocumentRoot: "AddHandler cgi-script .cgi".
  15. Restart apache
  16. /etc/init.d/apache2 restart
    
  17. try it out: http://127.0.0.1/bugzilla
  18. Configure your bugzilla

  19. Configuration steps:
    1. log in
    2. click onto Parameters
    3. set Maintainer, urlbase (e.g. www.mysite.de/bugzilla), createemailregexp, requirelogin.
    4. click onto submit
  20. make your bugzilla writing statistics:
  21.       crontab -e, insert
    
    5 0 * * * cd /srv/www/htdocs/bugzilla ; ./collectstats.pl
    
  22. /etc/init.d/cron restart
  23. Issue cd /srv/www/htdocs/bugzilla/ && ./collectstats.pl && echo success. Expected result: The command outputs "success".
  24. You may want to configure your sendmail:
    1. sendmail -t me@home.de
    2. mailq
    3. postqueue -f
    4. cat /etc/postfix/main.cf|grep recipient_restriction
    5. have your own name in /etc/postfix/main.cf, then it looks like
    6. scorpio:/etc # mailq
      -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
      B66CD5497*      271 Sat Jan 15 23:45:03  root@site.site
                                               you@domain.de
      
      -- 0 Kbytes in 1 Request.
      scorpio:/etc # 
      

Uninstall mysql

In very special cases (e.g. your hoster set a mysql password that you do not know) you may want to delete all your mysql including databases and start from scratch. Here is how:

/etc/init.d/mysql stop
killall -9 mysqld # to be quite sure
rpm -e mysql
rm -rf /var/lib/mysql
yast -i mysql
     www.usegroup.de