- Linux
- *****
- Some Linux distributions include Bugzilla and its dependencies in
- their package management systems. If you have root access, installing
- Bugzilla on any Linux system could be as simple as finding the
- Bugzilla package in the package management application and installing
- it. There may be a small bit of additional configuration required.
- If you are installing your machine from scratch, Quick Start (Ubuntu
- Linux 14.04) may be the best instructions for you.
- Install Packages
- ================
- Use your distribution's package manager to install Perl, your
- preferred database engine (MySQL if in doubt), and a webserver (Apache
- if in doubt). Some distributions even have a Bugzilla package,
- although that will vary in age.
- The commands below will install those things and some of Bugzilla's
- other prerequisites as well. If you find a package doesn't install or
- the name is not found, just remove it from the list and reissue the
- command. If you want to use a different database or webserver,
- substitute the package names as appropriate.
- Fedora and Red Hat
- ------------------
- The following command will install Red Hat's packaged version of
- Bugzilla:
- **yum install bugzilla httpd mysql-server**
- Then, you can skip to configuring your database. It may be useful to
- know that Fedora stores the Bugzilla files in "/usr/share/bugzilla",
- so that's where you'll run "checksetup.pl".
- If you want to install a version of Bugzilla from the Bugzilla
- project, you will instead need:
- **yum install httpd mysql-server mod_perl mod_perl-devel httpd-devel
- gd-devel mysql-devel graphviz patchutils gcc
- 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)'
- 'perl(Cache::Memcached)' 'perl(CGI)' 'perl(Chart::Lines)'
- 'perl(Daemon::Generic)' 'perl(Date::Format)' 'perl(DateTime)'
- 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(Digest::SHA)'
- 'perl(Email::MIME)' 'perl(Email::Reply)' 'perl(Email::Sender)'
- 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::MimeInfo::Magic)'
- 'perl(GD)' 'perl(GD::Graph)' 'perl(GD::Text)'
- 'perl(HTML::FormatText::WithLinks)' 'perl(HTML::Parser)'
- 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)'
- 'perl(JSON::XS)' 'perl(List::MoreUtils)' 'perl(LWP::UserAgent)'
- 'perl(Math::Random::ISAAC)' 'perl(MIME::Parser)' 'perl(mod_perl2)'
- 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(PatchReader)'
- 'perl(SOAP::Lite)' 'perl(Template)'
- 'perl(Template::Plugin::GD::Image)' 'perl(Test::Taint)'
- 'perl(TheSchwartz)' 'perl(URI)' 'perl(XMLRPC::Lite)'
- 'perl(XML::Twig)'**
- If you are running RHEL6, you will have to enable the "RHEL Server
- Optional" channel in RHN to get some of those packages.
- If you plan to use a database other than MySQL, you will need to also
- install the appropriate packages for that.
- Ubuntu and Debian
- -----------------
- **apt-get install git nano**
- **apt-get install apache2 mysql-server libappconfig-perl libdate-calc-
- perl libtemplate-perl libmime-perl build-essential libdatetime-
- timezone-perl libdatetime-perl libemail-sender-perl libemail-mime-perl
- libemail-mime-modifier-perl libdbi-perl libdbd-mysql-perl libcgi-pm-
- perl libmath-random-isaac-perl libmath-random-isaac-xs-perl apache2
- -mpm-prefork libapache2-mod-perl2 libapache2-mod-perl2-dev libchart-
- perl libxml-perl libxml-twig-perl perlmagick libgd-graph-perl
- libtemplate-plugin-gd-perl libsoap-lite-perl libhtml-scrubber-perl
- libjson-rpc-perl libdaemon-generic-perl libtheschwartz-perl libtest-
- taint-perl libauthen-radius-perl libfile-slurp-perl libencode-detect-
- perl libmodule-build-perl libnet-ldap-perl libauthen-sasl-perl
- libtemplate-perl-doc libfile-mimeinfo-perl libhtml-formattext-
- withlinks-perl libgd-dev libmysqlclient-dev lynx-cur graphviz python-
- sphinx**
- If you plan to use a database other than MySQL, you will need to also
- install the appropriate packages for that.
- Gentoo
- ------
- **emerge -av bugzilla**
- will install Bugzilla and all its dependencies. If you don't have the
- vhosts USE flag enabled, Bugzilla will end up in
- "/var/www/localhost/bugzilla".
- Then, you can skip to configuring your database.
- Perl
- ====
- Test which version of Perl you have installed with:
- $ perl -v
- Bugzilla requires at least Perl 5.10.1.
- Bugzilla
- ========
- The best way to get Bugzilla is to check it out from git:
- **git clone --branch release-X.X-stable
- https://github.com/bugzilla/bugzilla**
- Run the above command in your home directory, replacing "X.X" with the
- 2-digit version number of the stable release of Bugzilla that you want
- - e.g. "4.4".
- If that's not possible, you can download a tarball of Bugzilla.
- Place Bugzilla in a suitable directory, accessible by the default web
- server user (probably "apache" or "www-data"). Good locations are
- either directly in the web server's document directory (often
- "/var/www/html") or in "/usr/local", either with a symbolic link to
- the web server's document directory or an alias in the web server's
- configuration.
- Warning: The default Bugzilla distribution is NOT designed to be
- placed in a "cgi-bin" directory. This includes any directory which
- is configured using the "ScriptAlias" directive of Apache.
- Perl Modules
- ============
- Bugzilla requires a number of Perl modules. You can install these
- globally using your system's package manager, or install Bugzilla-only
- copies. At times, Bugzilla may require a version of a Perl module
- newer than the one your distribution packages, in which case you will
- need to install a Bugzilla-only copy of the newer version.
- At this point you probably need to become "root", e.g. by using
- **su**. You should remain as root until the end of the install. This
- can be avoided in some circumstances if you are a member of your
- webserver's group, but being root is easier and will always work.
- To check whether you have all the required modules, run:
- **./checksetup.pl --check-modules**
- You can run this command as many times as necessary.
- If you have not already installed the necessary modules, and want to
- do it system-wide, invoke your package manager appropriately at this
- point. Alternatively, you can install all missing modules locally
- (i.e. just for Bugzilla) like this:
- **./install-module.pl --all**
- Or, you can pass an individual module name:
- **./install-module.pl <modulename>**
- Web Server
- ==========
- Any web server that is capable of running CGI scripts can be made to
- work. We have specific configuration instructions for the following:
- * Apache
- Database Engine
- ===============
- Bugzilla supports MySQL, PostgreSQL, Oracle and SQLite as database
- servers. You only require one of these systems to make use of
- Bugzilla. MySQL is most commonly used. SQLite is good for trial
- installations as it requires no setup. Configure your server according
- to the instructions below:
- * MySQL
- * PostgreSQL
- * Oracle
- * SQLite
- localconfig
- ===========
- You should now change into the Bugzilla directory and run
- "checksetup.pl", without any parameters:
- **./checksetup.pl**
- "checksetup.pl" will write out a file called "localconfig". This file
- contains the default settings for a number of Bugzilla parameters, the
- most important of which are the group your web server runs as, and
- information on how to connect to your database.
- Load this file in your editor. You will need to check/change
- "$db_driver" and "$db_pass", which are respectively the type of the
- database you are using and the password for the "bugs" database user
- you have created. "$db_driver" can be either "mysql", "Pg"
- (PostgreSQL), "Oracle" or "Sqlite". All values are case sensitive.
- Set the value of "$webservergroup" to the group your web server runs
- as.
- * Fedora/Red Hat: "apache"
- * Debian/Ubuntu: "www-data"
- * Mac OS X: "_www"
- * Windows: ignore this setting; it does nothing
- The other options in the "localconfig" file are documented by their
- accompanying comments. If you have a non-standard database setup, you
- may need to change one or more of the other "$db_*" parameters.
- Note: If you are using Oracle, "$db_name" should be set to the SID
- name of your database (e.g. "XE" if you are using Oracle XE).
- checksetup.pl
- =============
- Next, run "checksetup.pl" an additional time:
- **./checksetup.pl**
- It reconfirms that all the modules are present, and notices the
- altered localconfig file, which it assumes you have edited to your
- satisfaction. It compiles the UI templates, connects to the database
- using the "bugs" user you created and the password you defined, and
- creates the "bugs" database and the tables therein.
- After that, it asks for details of an administrator account. Bugzilla
- can have multiple administrators - you can create more later - but it
- needs one to start off with. Enter the email address of an
- administrator, his or her full name, and a suitable Bugzilla password.
- "checksetup.pl" will then finish. You may rerun "checksetup.pl" at any
- time if you wish.
- Success
- =======
- Your Bugzilla should now be working. Check by running:
- **./testserver.pl http://<your-bugzilla-server>/**
- If that passes, access "http://<your-bugzilla-server>/" in your
- browser - you should see the Bugzilla front page. Of course, if you
- installed Bugzilla in a subdirectory, make sure that's in the URL.
- Next, do the Essential Post-Installation Configuration.
- ======================================================================
- This documentation undoubtedly has bugs; if you find some, please file
- them here.
TEXT
33
Some Linux distributions include Bugzilla and its dependencies in their package management systems
Guest on 19th March 2023 11:25:09 AM
Raw Paste