Installer Bugzilla sur Debian
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:
- Le script a2tools disponible dans le guide Installer Apache 2 sur Debian.
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
- Merci aux développeurs de Bugzilla.
- Merci aux personnes assurant la traduction française de Bugzilla.