Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion de projets / Installer Bugzilla sur Debian

Installer Bugzilla sur Debian

Par Pierre-Yves Landuré Dernière modification 02/11/2012 17:34

Bugzilla est le système de gestion des bugs de la fondation Mozilla. Il a beaucoup d'avantages et est assez répandu dans la communauté du logiciel libre. Cet article vous explique comment installer Bugzilla 3 depuis les sources (et non pas depuis un paquet) sur Debian 4.0 Etch.

Ce guide est testé sur:

  • Debian 6.0 Squeeze

Pré-requis

Ce guide nécessite un serveur MySQL disposant du script mysql-tools disponible dans le guide Installer et configurer MySQL sur Debian.

Ce guide nécessite un serveur HTTP avec support du PHP disposant du script suivant:

Paramètres

Renseignez le nom de domaine où sera disponible l'application:

DOMAIN="bugs.domaine-exemple.fr"

Renseignez le nom d'hôte de votre serveur MySQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur):

MYSQL_HOST="localhost"

Si votre serveur MySQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.

Installation

Déterminez le chemin d'installation:

INSTALL_PATH="/opt/${DOMAIN}"

Installez les logiciels nécessaires à l'outil:

command apt-get install apache2 apache2-threaded-dev libapache2-mod-perl2 libtemplate-perl libmime-perl \
libappconfig-perl libdbd-mysql-perl libtimedate-perl \
libgd-gd2-perl libgd-text-perl libxml-twig-perl perlmagick \
libchart-perl libtest-taint-perl libtheschwartz-perl \
libgd-graph-perl libhtml-scrubber-perl make libdatetime-perl \
libdatetime-timezone-perl liblist-moreutils-perl \
libtemplate-plugin-gd-perl libnet-ldap-perl libsoap-lite-perl \
libauthen-sasl-perl libauthen-radius-perl libjson-xs-perl libjson-rpc-perl \
libyaml-perl

Activez les modules Apache 2 nécessaires à l'outil:

command a2enmod headers expires

Récupérez le lien de téléchargement de la dernière version de l'outil:

SOURCE_URL=$(command wget "http://www.bugzilla.org/download/" \
   --quiet --output-document=- \
| command grep --max-count=1 "webtools/bugzilla" \
  | command sed -e 's/^.*"\([^"]*\)".*$/\1/')

Récupérez le numéro de version:

VERSION=$(command echo ${SOURCE_URL} | command sed -e 's/.*-\(.*\).tar.gz/\1/')

Téléchargez les sources de l'outil:

command wget --quiet "${SOURCE_URL}" \
  --output-document="/tmp/bugzilla-${VERSION}.tar.gz"

Décompressez l'archive:

command tar --directory "/tmp" -xzf "/tmp/bugzilla-${VERSION}.tar.gz"

Nous renommons le dossier ainsi créé:

command mv "/tmp/bugzilla-${VERSION}" "${INSTALL_PATH}"

Placez-vous dans le dossier de l'application:

command pushd "${INSTALL_PATH}"

Installez les modules Perl manquants:

command perl 'install-module.pl' 'cpan'
command perl 'install-module.pl' 'PatchReader'
command perl 'install-module.pl' 'Email::Send'
command perl 'install-module.pl' 'Email::MessageID'
command perl 'install-module.pl' 'Email::MIME'
command perl 'install-module.pl' 'Email::MIME::ContentType'
command perl 'install-module.pl' 'Email::MIME::Encodings'
command perl 'install-module.pl' 'Email::MIME::Attachment::Stripper'
command perl 'install-module.pl' 'Email::Abstract'
command perl 'install-module.pl' 'Email::Reply'
command perl 'install-module.pl' 'Daemon::Generic'
command perl 'install-module.pl' 'Apache2::SizeLimit'
command perl 'install-module.pl' 'Math::Random::Secure'

Lancez le script de vérification de l'environnement:

command perl 'checksetup.pl'

Traduction française

Par défaut, l'outil n'est disponible qu'en langue anglaise. Il faut ajouter les fichiers nécessaires à la traduction en Français de l'interface.

Téléchargez l'archive contenant la traduction française de l'interface:

command wget "http://switch.dl.sourceforge.net/sourceforge/frenchmozilla/bugzilla-${VERSION}.fr.tar.gz" \
--output-document="/tmp/bugzilla-${VERSION}.fr.tar.gz"

Décompressez l'archive dans le dossier d'installation de l'outil:

command tar --directory "${INSTALL_PATH}" -xzf "/tmp/bugzilla-${VERSION}.fr.tar.gz"

Téléchargez et décompressez la document en français:

command wget "http://switch.dl.sourceforge.net/sourceforge/frenchmozilla/bugzilla-docs-${VERSION}.fr.tar.gz" \
--output-document="/tmp/bugzilla-docs-${VERSION}.fr.tar.gz"
command tar --directory "${INSTALL_PATH}" -xzf "/tmp/bugzilla-docs-${VERSION}.fr.tar.gz"

Configuration

Créez la base de données:

if [ "${MYSQL_HOST}" = "localhost" ]; then
  MYSQL_PARAMS=$(command mysql-tools create-domain-db "${DOMAIN}")
else
  command echo "Saisissez le mot de passe de l'utilisateur root MySQL :"
  command read PASSWORD
  MYSQL_PARAMS=$(command ssh "root@${MYSQL_HOST}" "command mysql-tools create-domain-db '${DOMAIN}' '$(command cat /etc/mailname)' '${PASSWORD}'")
fi

Récupérez les paramètres de la nouvelle base de données:

MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \
    | cut --delimiter="=" --fields="2-")"
MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \
    | cut --delimiter="=" --fields="2-")"
MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \
    | cut --delimiter="=" --fields="2-")"
echo "${MYSQL_PARAMS}"

Configurez l'outil pour qu'il utilise cette base de données:

command sed -i \
-e "s/^\$db_host = '.*';/\$db_host = '${MYSQL_HOST}';/" \
-e "s/^\$db_name = '.*';/\$db_name = '${MYSQL_DB}';/" \
-e "s/^\$db_user = '.*';/\$db_user = '${MYSQL_USER}';/" \
-e "s/^\$db_pass = '.*';/\$db_pass = '${MYSQL_PASSWORD}';/" \
"${INSTALL_PATH}/localconfig"

Renseignez le groupe du serveur Apache:

command sed -i -e "s/^\$webservergroup = '.*';/\$webservergroup = 'www-data';/" \
"${INSTALL_PATH}/localconfig"

Lancez le script de configuration de l'outil qui va créer les tables de la base et le compte administrateur:

command perl 'checksetup.pl'

Créez la configuration Apache 2 de l'outil:

command a2tools add-custom "${DOMAIN}" "DocumentRoot \"${INSTALL_PATH}\"

<Directory \"${INSTALL_PATH}\">
AddHandler cgi-script .cgi
Options +Indexes +ExecCGI
DirectoryIndex index.cgi
AllowOverride Limit FileInfo Indexes
</Directory>"

Vous pouvez maintenant accéder à l'outil via l'URL fournie par la commande:

echo "http://${DOMAIN}/"

Identifiez-vous avez votre identifiant d'administrateur (votre email), et visitez la page "Administration -> Parameters" en bas de la page pour finir votre configuration.

Remerciements