TEXT   33
Some Linux distributions include Bugzilla and its dependencies in their package management systems
Guest on 19th March 2023 11:25:09 AM


  1. Linux
  2. *****
  3.  
  4. Some Linux distributions include Bugzilla and its dependencies in
  5. their package management systems. If you have root access, installing
  6. Bugzilla on any Linux system could be as simple as finding the
  7. Bugzilla package in the package management application and installing
  8. it. There may be a small bit of additional configuration required.
  9.  
  10. If you are installing your machine from scratch, Quick Start (Ubuntu
  11. Linux 14.04) may be the best instructions for you.
  12.  
  13.  
  14. Install Packages
  15. ================
  16.  
  17. Use your distribution's package manager to install Perl, your
  18. preferred database engine (MySQL if in doubt), and a webserver (Apache
  19. if in doubt). Some distributions even have a Bugzilla package,
  20. although that will vary in age.
  21.  
  22. The commands below will install those things and some of Bugzilla's
  23. other prerequisites as well. If you find a package doesn't install or
  24. the name is not found, just remove it from the list and reissue the
  25. command. If you want to use a different database or webserver,
  26. substitute the package names as appropriate.
  27.  
  28.  
  29. Fedora and Red Hat
  30. ------------------
  31.  
  32. The following command will install Red Hat's packaged version of
  33. Bugzilla:
  34.  
  35. **yum install bugzilla httpd mysql-server**
  36.  
  37. Then, you can skip to configuring your database. It may be useful to
  38. know that Fedora stores the Bugzilla files in "/usr/share/bugzilla",
  39. so that's where you'll run "checksetup.pl".
  40.  
  41. If you want to install a version of Bugzilla from the Bugzilla
  42. project, you will instead need:
  43.  
  44. **yum install httpd mysql-server mod_perl mod_perl-devel httpd-devel
  45. gd-devel mysql-devel graphviz patchutils gcc
  46. 'perl(Apache2::SizeLimit)' 'perl(Authen::Radius)' 'perl(Authen::SASL)'
  47. 'perl(Cache::Memcached)' 'perl(CGI)' 'perl(Chart::Lines)'
  48. 'perl(Daemon::Generic)' 'perl(Date::Format)' 'perl(DateTime)'
  49. 'perl(DateTime::TimeZone)' 'perl(DBI)' 'perl(Digest::SHA)'
  50. 'perl(Email::MIME)' 'perl(Email::Reply)' 'perl(Email::Sender)'
  51. 'perl(Encode)' 'perl(Encode::Detect)' 'perl(File::MimeInfo::Magic)'
  52. 'perl(GD)' 'perl(GD::Graph)' 'perl(GD::Text)'
  53. 'perl(HTML::FormatText::WithLinks)' 'perl(HTML::Parser)'
  54. 'perl(HTML::Scrubber)' 'perl(IO::Scalar)' 'perl(JSON::RPC)'
  55. 'perl(JSON::XS)' 'perl(List::MoreUtils)' 'perl(LWP::UserAgent)'
  56. 'perl(Math::Random::ISAAC)' 'perl(MIME::Parser)' 'perl(mod_perl2)'
  57. 'perl(Net::LDAP)' 'perl(Net::SMTP::SSL)' 'perl(PatchReader)'
  58. 'perl(SOAP::Lite)' 'perl(Template)'
  59. 'perl(Template::Plugin::GD::Image)' 'perl(Test::Taint)'
  60. 'perl(TheSchwartz)' 'perl(URI)' 'perl(XMLRPC::Lite)'
  61. 'perl(XML::Twig)'**
  62.  
  63. If you are running RHEL6, you will have to enable the "RHEL Server
  64. Optional" channel in RHN to get some of those packages.
  65.  
  66. If you plan to use a database other than MySQL, you will need to also
  67. install the appropriate packages for that.
  68.  
  69.  
  70. Ubuntu and Debian
  71. -----------------
  72.  
  73. **apt-get install git nano**
  74.  
  75. **apt-get install apache2 mysql-server libappconfig-perl libdate-calc-
  76. perl libtemplate-perl libmime-perl build-essential libdatetime-
  77. timezone-perl libdatetime-perl libemail-sender-perl libemail-mime-perl
  78. libemail-mime-modifier-perl libdbi-perl libdbd-mysql-perl libcgi-pm-
  79. perl libmath-random-isaac-perl libmath-random-isaac-xs-perl apache2
  80. -mpm-prefork libapache2-mod-perl2 libapache2-mod-perl2-dev libchart-
  81. perl libxml-perl libxml-twig-perl perlmagick libgd-graph-perl
  82. libtemplate-plugin-gd-perl libsoap-lite-perl libhtml-scrubber-perl
  83. libjson-rpc-perl libdaemon-generic-perl libtheschwartz-perl libtest-
  84. taint-perl libauthen-radius-perl libfile-slurp-perl libencode-detect-
  85. perl libmodule-build-perl libnet-ldap-perl libauthen-sasl-perl
  86. libtemplate-perl-doc libfile-mimeinfo-perl libhtml-formattext-
  87. withlinks-perl libgd-dev libmysqlclient-dev lynx-cur graphviz python-
  88. sphinx**
  89.  
  90. If you plan to use a database other than MySQL, you will need to also
  91. install the appropriate packages for that.
  92.  
  93.  
  94. Gentoo
  95. ------
  96.  
  97. **emerge -av bugzilla**
  98.  
  99. will install Bugzilla and all its dependencies. If you don't have the
  100. vhosts USE flag enabled, Bugzilla will end up in
  101. "/var/www/localhost/bugzilla".
  102.  
  103. Then, you can skip to configuring your database.
  104.  
  105.  
  106. Perl
  107. ====
  108.  
  109. Test which version of Perl you have installed with:
  110.  
  111.    $ perl -v
  112.  
  113. Bugzilla requires at least Perl 5.10.1.
  114.  
  115.  
  116. Bugzilla
  117. ========
  118.  
  119. The best way to get Bugzilla is to check it out from git:
  120.  
  121. **git clone --branch release-X.X-stable
  122. https://github.com/bugzilla/bugzilla**
  123.  
  124. Run the above command in your home directory, replacing "X.X" with the
  125. 2-digit version number of the stable release of Bugzilla that you want
  126. - e.g. "4.4".
  127.  
  128. If that's not possible, you can download a tarball of Bugzilla.
  129.  
  130. Place Bugzilla in a suitable directory, accessible by the default web
  131. server user (probably "apache" or "www-data"). Good locations are
  132. either directly in the web server's document directory (often
  133. "/var/www/html") or in "/usr/local", either with a symbolic link to
  134. the web server's document directory or an alias in the web server's
  135. configuration.
  136.  
  137. Warning: The default Bugzilla distribution is NOT designed to be
  138.   placed in a "cgi-bin" directory. This includes any directory which
  139.   is configured using the "ScriptAlias" directive of Apache.
  140.  
  141.  
  142. Perl Modules
  143. ============
  144.  
  145. Bugzilla requires a number of Perl modules. You can install these
  146. globally using your system's package manager, or install Bugzilla-only
  147. copies. At times, Bugzilla may require a version of a Perl module
  148. newer than the one your distribution packages, in which case you will
  149. need to install a Bugzilla-only copy of the newer version.
  150.  
  151. At this point you probably need to become "root", e.g. by using
  152. **su**. You should remain as root until the end of the install. This
  153. can be avoided in some circumstances if you are a member of your
  154. webserver's group, but being root is easier and will always work.
  155.  
  156. To check whether you have all the required modules, run:
  157.  
  158. **./checksetup.pl --check-modules**
  159.  
  160. You can run this command as many times as necessary.
  161.  
  162. If you have not already installed the necessary modules, and want to
  163. do it system-wide, invoke your package manager appropriately at this
  164. point. Alternatively, you can install all missing modules locally
  165. (i.e. just for Bugzilla) like this:
  166.  
  167. **./install-module.pl --all**
  168.  
  169. Or, you can pass an individual module name:
  170.  
  171. **./install-module.pl <modulename>**
  172.  
  173.  
  174. Web Server
  175. ==========
  176.  
  177. Any web server that is capable of running CGI scripts can be made to
  178. work. We have specific configuration instructions for the following:
  179.  
  180. * Apache
  181.  
  182.  
  183. Database Engine
  184. ===============
  185.  
  186. Bugzilla supports MySQL, PostgreSQL, Oracle and SQLite as database
  187. servers. You only require one of these systems to make use of
  188. Bugzilla. MySQL is most commonly used. SQLite is good for trial
  189. installations as it requires no setup. Configure your server according
  190. to the instructions below:
  191.  
  192. * MySQL
  193.  
  194. * PostgreSQL
  195.  
  196. * Oracle
  197.  
  198. * SQLite
  199.  
  200.  
  201. localconfig
  202. ===========
  203.  
  204. You should now change into the Bugzilla directory and run
  205. "checksetup.pl", without any parameters:
  206.  
  207. **./checksetup.pl**
  208.  
  209. "checksetup.pl" will write out a file called "localconfig". This file
  210. contains the default settings for a number of Bugzilla parameters, the
  211. most important of which are the group your web server runs as, and
  212. information on how to connect to your database.
  213.  
  214. Load this file in your editor. You will need to check/change
  215. "$db_driver" and "$db_pass", which are respectively the type of the
  216. database you are using and the password for the "bugs" database user
  217. you have created. "$db_driver" can be either "mysql", "Pg"
  218. (PostgreSQL), "Oracle" or "Sqlite". All values are case sensitive.
  219.  
  220. Set the value of "$webservergroup" to the group your web server runs
  221. as.
  222.  
  223. * Fedora/Red Hat: "apache"
  224.  
  225. * Debian/Ubuntu: "www-data"
  226.  
  227. * Mac OS X: "_www"
  228.  
  229. * Windows: ignore this setting; it does nothing
  230.  
  231. The other options in the "localconfig" file are documented by their
  232. accompanying comments. If you have a non-standard database setup, you
  233. may need to change one or more of the other "$db_*" parameters.
  234.  
  235. Note: If you are using Oracle, "$db_name" should be set to the SID
  236.   name of your database (e.g. "XE" if you are using Oracle XE).
  237.  
  238.  
  239. checksetup.pl
  240. =============
  241.  
  242. Next, run "checksetup.pl" an additional time:
  243.  
  244. **./checksetup.pl**
  245.  
  246. It reconfirms that all the modules are present, and notices the
  247. altered localconfig file, which it assumes you have edited to your
  248. satisfaction. It compiles the UI templates, connects to the database
  249. using the "bugs" user you created and the password you defined, and
  250. creates the "bugs" database and the tables therein.
  251.  
  252. After that, it asks for details of an administrator account. Bugzilla
  253. can have multiple administrators - you can create more later - but it
  254. needs one to start off with. Enter the email address of an
  255. administrator, his or her full name, and a suitable Bugzilla password.
  256.  
  257. "checksetup.pl" will then finish. You may rerun "checksetup.pl" at any
  258. time if you wish.
  259.  
  260.  
  261. Success
  262. =======
  263.  
  264. Your Bugzilla should now be working. Check by running:
  265.  
  266. **./testserver.pl http://<your-bugzilla-server>/**
  267.  
  268. If that passes, access "http://<your-bugzilla-server>/" in your
  269. browser - you should see the Bugzilla front page. Of course, if you
  270. installed Bugzilla in a subdirectory, make sure that's in the URL.
  271.  
  272. Next, do the Essential Post-Installation Configuration.
  273.  
  274. ======================================================================
  275.  
  276. This documentation undoubtedly has bugs; if you find some, please file
  277. them here.

Raw Paste

Login or Register to edit or fork this paste. It's free.