220 lines
7.6 KiB
ReStructuredText
220 lines
7.6 KiB
ReStructuredText
.. _quick-start:
|
|
|
|
Quick Start (Ubuntu Linux 14.04)
|
|
################################
|
|
|
|
This quick start guide makes installing Bugzilla as simple as possible for
|
|
those who are able to choose their environment. It creates a system using
|
|
Ubuntu Linux 14.04 LTS, Apache and MySQL, and installs Bugzilla as the default
|
|
home page. It requires a little familiarity with Linux and the command line.
|
|
|
|
Obtain Your Hardware
|
|
====================
|
|
|
|
Ubuntu 14.04 LTS Server requires a 64-bit processor.
|
|
Bugzilla itself has no prerequisites beyond that, although you should pick
|
|
reliable hardware. You can also probably use any 64-bit virtual machine
|
|
or cloud instance that you have root access on.
|
|
|
|
Install the OS
|
|
==============
|
|
|
|
Get `Ubuntu Server 14.04 LTS <http://www.ubuntu.com/download/server>`_
|
|
and follow the `installation instructions <http://www.ubuntu.com/download/server/install-ubuntu-server>`_.
|
|
Here are some tips:
|
|
|
|
* Choose any server name you like.
|
|
* When creating the initial Linux user, call it ``bugzilla``, give it a
|
|
strong password, and write that password down.
|
|
* You do not need an encrypted home directory.
|
|
* Choose all the defaults for the "partitioning" part (excepting of course
|
|
where the default is "No" and you need to press "Yes" to continue).
|
|
* Choose "install security updates automatically" unless you want to do
|
|
them manually.
|
|
* From the install options, choose "OpenSSH Server" and "LAMP Server".
|
|
* Set the password for the MySQL root user to a strong password, and write
|
|
that password down.
|
|
* Install the Grub boot loader to the Master Boot Record.
|
|
|
|
Reboot when the installer finishes.
|
|
|
|
Become root
|
|
===========
|
|
|
|
ssh to the machine as the 'bugzilla' user, or start a console. Then:
|
|
|
|
:command:`sudo su`
|
|
|
|
Install Prerequisites
|
|
=====================
|
|
|
|
:command:`apt-get install git nano`
|
|
|
|
:command:`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 lynx-cur python-sphinx`
|
|
|
|
This will take a little while. It's split into two commands so you can do
|
|
the next steps (up to step 7) in another terminal while you wait for the
|
|
second command to finish. If you start another terminal, you will need to
|
|
:command:`sudo su` again.
|
|
|
|
Download Bugzilla
|
|
=================
|
|
|
|
Get it from our Git repository:
|
|
|
|
:command:`cd /var/www`
|
|
|
|
:command:`rm -rf html`
|
|
|
|
:command:`git clone --branch bugzilla-X.X-stable https://git.mozilla.org/bugzilla/bugzilla html`
|
|
|
|
(where "X.X" is the 2-digit version number of the stable release of Bugzilla
|
|
that you want - e.g. 4.4)
|
|
|
|
:command:`cd html`
|
|
|
|
Configure MySQL
|
|
===============
|
|
|
|
The following instructions use the simple :file:`nano` editor, but feel
|
|
free to use any text editor you are comfortable with.
|
|
|
|
:command:`nano /etc/mysql/my.cnf`
|
|
|
|
Set the following values, which increase the maximum attachment size and
|
|
make it possible to search for short words and terms:
|
|
|
|
* Alter on Line 52: ``max_allowed_packet=100M``
|
|
* Add as new line 31, in the ``[mysqld]`` section: ``ft_min_word_len=2``
|
|
|
|
Save and exit.
|
|
|
|
Then, add a user to MySQL for Bugzilla to use:
|
|
|
|
:command:`mysql -u root -p -e "GRANT ALL PRIVILEGES ON bugs.* TO bugs@localhost IDENTIFIED BY '$db_pass'"`
|
|
|
|
Replace ``$db_pass`` with a strong password you have generated. Write it down.
|
|
When you run the above command, it will prompt you for the MySQL root password
|
|
that you configured when you installed Ubuntu. You should make ``$db_pass``
|
|
different to that password.
|
|
|
|
Restart MySQL:
|
|
|
|
:command:`service mysql restart`
|
|
|
|
Configure Apache
|
|
================
|
|
|
|
:command:`nano /etc/apache2/sites-available/bugzilla.conf`
|
|
|
|
Paste in the following and save:
|
|
|
|
.. code-block:: apache
|
|
|
|
ServerName localhost
|
|
|
|
<Directory /var/www/html>
|
|
AddHandler cgi-script .cgi
|
|
Options +ExecCGI
|
|
DirectoryIndex index.cgi index.html
|
|
AllowOverride Limit FileInfo Indexes Options
|
|
</Directory>
|
|
|
|
:command:`a2ensite bugzilla`
|
|
|
|
:command:`a2enmod cgi headers expires`
|
|
|
|
:command:`service apache2 restart`
|
|
|
|
Check Setup
|
|
===========
|
|
|
|
Bugzilla comes with a :file:`checksetup.pl` script which helps with the
|
|
installation process. It will need to be run twice. The first time, it
|
|
generates a config file (called :file:`localconfig`) for the database
|
|
access information, and the second time (step 10)
|
|
it uses the info you put in the config file to set up the database.
|
|
|
|
:command:`cd /var/www/html`
|
|
|
|
:command:`./checksetup.pl`
|
|
|
|
Edit :file:`localconfig`
|
|
========================
|
|
|
|
:command:`nano localconfig`
|
|
|
|
You will need to set the following values:
|
|
|
|
* Line 29: set ``$webservergroup`` to ``www-data``
|
|
* Line 67: set ``$db_pass`` to the password for the ``bugs`` user you created
|
|
in MySQL a few steps ago
|
|
|
|
Check Setup (again)
|
|
===================
|
|
|
|
Run the :file:`checksetup.pl` script again to set up the database.
|
|
|
|
:command:`./checksetup.pl`
|
|
|
|
It will ask you to give an email address, real name and password for the
|
|
first Bugzilla account to be created, which will be an administrator.
|
|
Write down the email address and password you set.
|
|
|
|
Test Server
|
|
===========
|
|
|
|
:command:`./testserver.pl http://localhost/`
|
|
|
|
All the tests should pass. You may get warnings about deprecation from
|
|
the ``Chart::Base`` Perl module; if so, just ignore them.
|
|
|
|
Access Via Web Browser
|
|
======================
|
|
|
|
Access the front page:
|
|
|
|
:command:`lynx http://localhost/`
|
|
|
|
It's not really possible to use Bugzilla for real through Lynx, but you
|
|
can view the front page to validate visually that it's up and running.
|
|
|
|
You might well need to configure your DNS such that the server has, and
|
|
is reachable by, a name rather than IP address. Doing so is out of scope
|
|
of this document. In the mean time, it is available on your local network
|
|
at ``http://<ip address>/``, where ``<ip address>`` is (unless you have
|
|
a complex network setup) the "inet addr" value displayed when you run
|
|
:command:`ifconfig eth0`.
|
|
|
|
Configure Bugzilla
|
|
==================
|
|
|
|
Once you have worked out how to access your Bugzilla in a graphical
|
|
web browser, bring up the front page, click :guilabel:`Log In` in the
|
|
header, and log in as the admin user you defined in step 10.
|
|
|
|
Click the :guilabel:`Parameters` link on the page it gives you, and set
|
|
the following parameters in the :guilabel:`Required Settings` section:
|
|
|
|
* :param:`urlbase`:
|
|
:paramval:`http://<servername>/` or :paramval:`http://<ip address>/`
|
|
|
|
Click :guilabel:`Save Changes` at the bottom of the page.
|
|
|
|
There are several ways to get Bugzilla to send email. The easiest is to
|
|
use Gmail, so we do that here so you have it working. Visit
|
|
https://gmail.com and create a new Gmail account for your Bugzilla to use.
|
|
Then, open the :guilabel:`Email` section of the Parameters using the link
|
|
in the left column, and set the following parameter values:
|
|
|
|
* :param:`mail_delivery_method`: :paramval:`SMTP`
|
|
* :param:`mailfrom`: :paramval:`new_gmail_address@gmail.com`
|
|
* :param:`smtpserver`: :paramval:`smtp.gmail.com:465`
|
|
* :param:`smtp_username`: :paramval:`new_gmail_address@gmail.com`
|
|
* :param:`smtp_password`: :paramval:`new_gmail_password`
|
|
* :param:`smtp_ssl`: :paramval:`On`
|
|
|
|
Click :guilabel:`Save Changes` at the bottom of the page.
|
|
|
|
And you're all ready to go. :-)
|