diff options
Diffstat (limited to 'docs/en/rst/installing/quick-start.rst')
-rw-r--r-- | docs/en/rst/installing/quick-start.rst | 223 |
1 files changed, 223 insertions, 0 deletions
diff --git a/docs/en/rst/installing/quick-start.rst b/docs/en/rst/installing/quick-start.rst new file mode 100644 index 000000000..220421bce --- /dev/null +++ b/docs/en/rst/installing/quick-start.rst @@ -0,0 +1,223 @@ +.. _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` + +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 will get warnings about deprecation from +the ``Chart::Base`` Perl module; just ignore those. + +.. todo:: Chart::Base gives confusing deprecation warnings :-| + https://rt.cpan.org/Public/Bug/Display.html?id=79658 , unfixed for + 2 years. :bug:`1070117`. + +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. :-) |