📄 bugzilla-guide.txt
字号:
This can be done by adding the following command as a daily crontab entry, in the same manner as explained above for bug graphs. This example runs it at 12.55am. 55 0 * * * cd <your-bugzilla-directory> ; ./whineatnews.pl Note Windows does not have 'cron', but it does have the Task Scheduler, which performs the same duties. There are also third-party tools that can be used to implement cron, such as nncron. _________________________________________________________________2.3.4. Patch Viewer Patch Viewer is the engine behind Bugzilla's graphical display of code patches. You can integrate this with copies of the cvs, lxr and bonsai tools if you have them, by giving the locations of your installation of these tools in editparams.cgi. Patch Viewer also optionally will use the cvs, diff and interdiff command-line utilities if they exist on the system. Interdiff can be obtained from http://cyberelk.net/tim/patchutils/. If these programs are not in the system path, you can configure their locations in localconfig. _________________________________________________________________2.3.5. LDAP Authentication LDAP authentication is a module for Bugzilla's plugin authentication architecture. The existing authentication scheme for Bugzilla uses email addresses as the primary user ID, and a password to authenticate that user. All places within Bugzilla where you need to deal with user ID (e.g assigning a bug) use the email address. The LDAP authentication builds on top of this scheme, rather than replacing it. The initial log in is done with a username and password for the LDAP directory. This then fetches the email address from LDAP and authenticates seamlessly in the standard Bugzilla authentication scheme using this email address. If an account for this address already exists in your Bugzilla system, it will log in to that account. If no account for that email address exists, one is created at the time of login. (In this case, Bugzilla will attempt to use the "displayName" or "cn" attribute to determine the user's full name.) After authentication, all other user-related tasks are still handled by email address, not LDAP username. You still assign bugs by email address, query on users by email address, etc. Caution Because the Bugzilla account is not created until the first time a user logs in, a user who has not yet logged is unknown to Bugzilla. This means they cannot be used as an assignee or QA contact (default or otherwise), added to any cc list, or any other such operation. One possible workaround is the bugzilla_ldapsync.rb script in the contrib directory. Another possible solution is fixing bug 201069. Parameters required to use LDAP Authentication: loginmethod This parameter should be set to "LDAP" only if you will be using an LDAP directory for authentication. If you set this param to "LDAP" but fail to set up the other parameters listed below you will not be able to log back in to Bugzilla one you log out. If this happens to you, you will need to manually edit data/params and set loginmethod to "DB". LDAPserver This parameter should be set to the name (and optionally the port) of your LDAP server. If no port is specified, it assumes the default LDAP port of 389. Ex. "ldap.company.com" or "ldap.company.com:3268" LDAPbinddn [Optional] Some LDAP servers will not allow an anonymous bind to search the directory. If this is the case with your configuration you should set the LDAPbinddn parameter to the user account Bugzilla should use instead of the anonymous bind. Ex. "cn=default,cn=user:password" LDAPBaseDN The LDAPBaseDN parameter should be set to the location in your LDAP tree that you would like to search for email addresses. Your uids should be unique under the DN specified here. Ex. "ou=People,o=Company" LDAPuidattribute The LDAPuidattribute parameter should be set to the attribute which contains the unique UID of your users. The value retrieved from this attribute will be used when attempting to bind as the user to confirm their password. Ex. "uid" LDAPmailattribute The LDAPmailattribute parameter should be the name of the attribute which contains the email address your users will enter into the Bugzilla login boxes. Ex. "mail" _________________________________________________________________2.3.6. Serving Alternate Formats with the right MIME type Some Bugzilla pages have alternate formats, other than just plain HTML. In particular, a few Bugzilla pages can output their contents as either XUL (a special Mozilla format, that looks like a program GUI) or RDF (a type of structured XML that can be read by various programs). In order for your users to see these pages correctly, Apache must send them with the right MIME type. To do this, add the following lines to your Apache configuration, either in the <VirtualHost> section for your Bugzilla, or in the <Directory> section for your Bugzilla:AddType application/vnd.mozilla.xul+xml .xulAddType application/rdf+xml .rdf _________________________________________________________________2.4. OS-Specific Installation Notes Many aspects of the Bugzilla installation can be affected by the the operating system you choose to install it on. Sometimes it can be made easier and others more difficult. This section will attempt to help you understand both the difficulties of running on specific operating systems and the utilities available to make it easier. If you have anything to add or notes for an operating system not covered, please file a bug in Bugzilla Documentation. _________________________________________________________________2.4.1. Microsoft Windows Making Bugzilla work on Windows is more difficult than making it work on Unix. For that reason, we still recommend doing so on a Unix based system such as GNU/Linux. That said, if you do want to get Bugzilla running on Windows, you will need to make the following adjustments. _________________________________________________________________2.4.1.1. Win32 Perl Perl for Windows can be obtained from ActiveState. You should be able to find a compiled binary at http://aspn.activestate.com/ASPN/Downloads/ActivePerl/. The following instructions assume that you are using version 5.8.1 of ActiveState. _________________________________________________________________2.4.1.2. Perl Modules on Win32 Bugzilla on Windows requires the same perl modules found in Section 2.1.5. The main difference is that windows uses PPM instead of CPAN.C:\perl> ppm install <module name> The best source for the Windows PPM modules needed for Bugzilla is probably the the Bugzilla Test Server (aka 'Landfill'), so you should add the Landfill package repository as follows:ppm repository add landfill http://www.landfill.bugzilla.org/ppm/ Note The PPM repository stores modules in 'packages' that may have a slightly different name than the module. If retrieving these modules from there, you will need to pay attention to the information provided when you run checksetup.pl as it will tell you what package you'll need to install. Tip If you are behind a corporate firewall, you will need to let the ActiveState PPM utility know how to get through it to acccess the repositories by setting the HTTP_proxy system environmental variable. For more information on setting that variable, see the ActiveState documentation. _________________________________________________________________2.4.1.3. Code changes required to run on Win32 Bugzilla on Win32 is mostly supported out of the box; one remaining issue is related to bug email. To make bug email work on Win32 (until bug 49893 lands), the simplest way is to have the Net::SMTP Perl module installed and change these lines in the file Bugzilla/Bugmail.pm:open(SENDMAIL, "|/usr/lib/sendmail $sendmailparam -t -i") || die "Can't open sendmail";print SENDMAIL trim($msg) . "\n";close SENDMAIL; touse Net::SMTP;my $smtp_server = 'smtp.mycompany.com'; # change this($enableSendMail && $rcpt_to) || return;# Use die on error, so that the mail will be in the 'unsent mails' and# can be sent from the sanity check page.my $smtp = Net::SMTP->new($smtp_server) || die 'Cannot connect to server \'$smtp_server\'';$smtp->mail('bugzilla-daemon@mycompany.com'); # change this$smtp->to($rcpt_to);$smtp->data();$smtp->datasend($msg);$smtp->dataend();$smtp->quit; Don't forget to change the name of your SMTP server and the domain of the sending email address (after the '@') in the above lines of code. Please be aware that flag email will continue not to work. _________________________________________________________________2.4.1.4. Serving the web pages As is the case on Unix based systems, any web server should be able to handle Bugzilla; however, the Bugzilla Team still recommends Apache whenever asked. No matter what web server you choose, be sure to pay attention to the security notes in Section 4.3.1. More information on configuring specific web servers can be found in Section 2.2.4. Note If using Apache on windows, you can set the ScriptInterpreterSource directive in your Apache config to avoid having to modify the first line of every script to contain your path to perl perl instead of /usr/bin/perl. _________________________________________________________________2.4.2. Mac OS X Apple did not include the GD library with Mac OS X. Bugzilla needs this for bug graphs. You can install it using a program called Fink, which is similar in nature to the CPAN installer, but installs common GNU utilities. Fink is available from http://sourceforge.net/projects/fink/. Follow the instructions for setting up Fink. Once it's installed, you'll want to use it to install the gd2 package. It will prompt you for a number of dependencies, type 'y' and hit enter to install all of the dependencies and then watch it work. You will then be able to use CPAN to install the GD Perl module. Note To prevent creating conflicts with the software that Apple installs by default, Fink creates its own directory tree at /sw where it installs most of the software that it installs. This means your libraries and headers will be at /sw/lib and /sw/include instead of /usr/lib and /usr/include. When the Perl module config script asks where your libgd is, be sure to tell it /sw/lib. Also available via Fink is expat. After using fink to install the expat package you will be able to install XML::Parser using CPAN. There is one caveat. Unlike recent versions of the GD module, XML::Parser doesn't prompt for the location of the required libraries. When using CPAN, you will need to use the following command sequence:# perl -MCPAN -e'look XML::Parser' (1)# perl Makefile.PL EXPATLIBPATH=/sw/lib EXPATINCPATH=/sw/include# make; make test; make install (2)# exit (3) (1) (3) The look command will download the module and spawn a new shell with the extracted files as the current working directory. The exit command will return you to your original shell. (2) You should watch the output from these make commands, especially "make test" as errors may prevent XML::Parser from functioning correctly with Bugzilla. _________________________________________________________________2.4.3. Linux-Mandrake 8.0 Linux-Mandrake 8.0 includes every required and optional library for Bugzilla. The easiest way to install them is by using the urpmi utility. If you follow these commands, you should have everything you need for Bugzilla, and ./checksetup.pl should not complain about any missing libraries. You may already have some of these installed.bash# urpmi perl-mysqlbash# urpmi perl-chartbash# urpmi perl-gdbash# urpmi perl-MailTools (1)bash# urpmi apache-modules (1) for Bugzilla email integration _________________________________________________________________2.5. UNIX (non-root) Installation Notes2.5.1. Introduction If you are running a *NIX OS as non-root, either due to lack of access (web hosts, for example) or for security reasons, this will detail how to install Bugzilla on such a setup. It is recommended that you read through the Section 2.1 first to get an idea on the installation steps required. (These notes will reference to steps in that guide.) _________________________________________________________________2.5.2. MySQL You may have MySQL installed as root. If you're setting up an account with a web host, a MySQL account needs to be set up for you. From there, you can create the bugs account, or use the account given to you. Warning You may have problems trying to set up GRANT permissions to the database. If you're using a web host, chances are that you have a separate database which is already locked down (or one big database with limited/no access to the other areas), but you may want to ask your system adminstrator what the security settings are set to, and/or run the GRANT command for you. Also, you will probably not be able to change the MySQL root user password (for obvious reasons), so skip that step.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -