GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Bugzilla 5.0 sur CentOS 7

Sur cette page

  1. Prérequis pour CentOS
    1. Connexion Internet
    2. SELinux
      1. Désactiver SELinux
    3. Compte utilisé pour l'installation
    4. Dépôts supplémentaires
      1. Activer le référentiel Epel
  2. Installer Apache avec mod_ssl et mod_perl
    1. Activer et démarrer httpd.service
      1. Démarrer httpd.service
      2. Vérifier l'état de httpd.service
      3. Activer définitivement httpd.service
      4. Ouvrir le port 80 dans le pare-feu local pour autoriser les requêtes HTTP
      5. Tester le serveur Web Apache
  3. Installer MariaDB
    1. Faire en sorte que MariaDB démarre automatiquement au démarrage
    2. Définir le mot de passe racine de MariaDB
    3. Définir max_allowed_packets pour MariaDB
  4. Forfaits supplémentaires
  • Installer Bugzilla
    1. Créer une base de données pour Bugzilla
    2. Télécharger et extraire Bugzilla
    3. Copier le dossier Bugzilla dans le dossier du serveur Web
    4. Configuration finale à l'aide du script d'installation de Bugzilla
    5. Configurer Apache pour héberger notre installation de Bugzilla
      1. Revenir à l'utilisateur normal
      2. Testez l'installation de Bugzilla avec votre navigateur
  • Ce guide vous guidera tout au long de l'installation de Bugzilla 5.0 sur CentOS 7. Bugzilla est un système avancé de suivi des bogues, développé par la Fondation Mozilla (l'organisation qui développe le célèbre navigateur Firefox). Bugzilla vous permet de suivre les défauts et les changements de code dans vos applications, vous permet de communiquer facilement avec votre équipe de développement et de soumettre et réviser les correctifs.

    Prérequis pour CentOS

    Connexion Internet

    Vous devriez avoir une installation minimale de CentOS 7 avec les dernières mises à jour et l'adresse IP et le nom d'hôte définis. Votre machine doit pouvoir accéder à Internet. Si vous ne pouvez pas accéder directement à Internet et que vous devez utiliser un serveur proxy, vous devez configurer yum pour utiliser un proxy en modifiant /etc/yum.conf. Ajoutez les lignes suivantes (modifiez-les selon vos besoins) :

    # Le serveur proxy - proxy server:port
    proxy=http://192.168.178.1:8080
    # Les détails du compte pour les connexions yum
    # proxy_username=yum-user
    # proxy_password=qwerty


    Lorsque nous utilisons des outils de ligne de commande nécessitant un accès à Internet et que vous êtes derrière un serveur proxy, assurez-vous de toujours exécuter les deux commandes suivantes avant d'utiliser des commandes nécessitant une connexion Internet :

    exporter http_proxy=http://192.168.178.1:8080/
    exporter https_proxy=http://192.168.178.1:8080/


    Avec cette méthode, vous devriez pouvoir utiliser ce tutoriel même si vous êtes derrière un proxy.

    SELinux

    Security-Enhanced Linux (SELinux) est un mécanisme de sécurité de contrôle d'accès obligatoire (MAC) implémenté dans le noyau. C'est un excellent mécanisme de sécurité mais il cassera Bugzilla jusqu'à ce qu'un package officiel Bugzilla 5.0 rpm soit publié qui configurera également SELinux. Donc, à ce stade, nous allons régler SELinux en mode permissif. Dans ce mode, SELinux est activé mais il n'appliquera pas la politique de sécurité.

    Désactiver SELinux

    Exécutez la commande suivante pour faire passer le mode SELinux d'application à permissif.

    sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/g' /etc/selinux/config


    Le fichier devrait maintenant ressembler à ceci :

    # Ce fichier contrôle l'état de SELinux sur le système.
    # SELINUX=peut prendre l'une de ces trois valeurs :
    #     enforcing - la politique de sécurité SELinux est appliquée.
    #     permissive - SELinux affiche les avertissements au lieu de l'appliquer.
    #     désactivé :aucune stratégie SELinux n'est chargée.
    SELINUX=permissif
    # SELINUXTYPE=peut prendre l'une des trois valeurs suivantes :
    #     ciblé :les processus ciblés sont protégés ,
    #     minimum - Modification de la politique ciblée. Seuls les processus sélectionnés sont protégés.
    #     mls - Protection de sécurité à plusieurs niveaux.
    SELINUXTYPE=targeted


    Après ce changement, redémarrez votre ordinateur.

    Compte utilisé pour l'installation

    Sauf indication contraire explicite, toutes les commandes de ce guide sont exécutées en tant qu'utilisateur « installateur », qui est un utilisateur administratif sur la machine CentOS 7 et est autorisé à exécuter des commandes avec « sudo ».

    Dépôts supplémentaires

    Nous aurons besoin de beaucoup de packages qui ne se trouvent pas dans les référentiels CentOS officiels, c'est pourquoi nous activons un référentiel supplémentaire sur notre boîtier CentOS.

    Activer le référentiel Epel

    Exécutez les commandes suivantes pour activer le référentiel epel.

    sudo yum install deltarpm epel-release
    mise à jour sudo yum


    Info :Vous devez accepter la clé GPG epel lors de l'installation du premier package à partir du référentiel epel.

    Installer Apache avec mod_ssl et mod_perl

    sudo yum installer httpd httpd-devel mod_ssl mod_ssl mod_perl mod_perl-devel


    Cela installera Apache, mod_ssl, mod_perl et wget avec toutes les dépendances nécessaires.

    Activer et démarrer httpd.service

    CentOS 7 utilise systemd, nous allons donc activer et démarrer Apache de la "façon systemd".

    Démarrer httpd.service

    sudo systemctl démarrer httpd.service

    Vérifier l'état de httpd.service

    état sudo systemctl httpd.service


    Cette commande devrait vous indiquer que httpd.service est en cours d'exécution (certaines lignes supprimées)

    httpd.service - Le serveur HTTP Apache
       Chargé :chargé (/usr/lib/systemd/system/httpd.service ; désactivé)
       Actif :actif (en cours d'exécution) depuis le mar 2015-08-04 11 :18h03 CEST ; Il y a 6 s
     PID principal :11930 (/usr/sbin/httpd)
    ...

    Activer en permanence httpd.service

    Après avoir vérifié la sortie ci-dessus, nous activons httpd.service pour le démarrage automatique avec :

    sudo systemctl activer httpd.service


    Le système créera automatiquement un lien symbolique pour activer http.service pour le démarrage automatique.

    Ouvrir le port 80 dans le pare-feu local pour autoriser les requêtes HTTP

    CentOS 7 utilise FirewallD, nous devons donc utiliser firewall-cmd pour modifier le paramètre du pare-feu afin d'autoriser les connexions entrantes sur le port 80 (HTTP).

    sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
    # succès
    sudo firewall-cmd --reload
    # succès

    Tester le serveur Web Apache

    Utilisez un navigateur et ouvrez http://ip-of-your-server/ (remplacez ip-of-your-server par l'adresse IP de votre serveur). Vous devriez voir la page de test Apache. - Apache fonctionne !

    Installer MariaDB

    CentOS 7 est livré avec MariaDB au lieu de MySQL. MariaDB est un équivalent open source de MySQL. Pour installer MariaDB, exécutez les commandes suivantes :

    sudo yum installer mariadb-server mariadb mariadb-devel php-mysql

    Faire en sorte que MariaDB démarre automatiquement au démarrage

    Pour démarrer automatiquement MariaDB au démarrage, nous le configurons en tant que service de la même manière que nous l'avons fait auparavant avec httpd.service. Exécutez les trois commandes suivantes pour démarrer, vérifier l'état et activer MariaDB en tant que service permanent :

    sudo systemctl start mariadb.service
    sudo systemctl status mariadb.service
    sudo systemctl enable mariadb.service

    Définir le mot de passe racine MariaDB

    Ouvrez une invite SQL dans votre serveur MariaDB en exécutant la commande suivante :

    mysql -u racine


    Vous devriez atterrir sur l'invite MariaDB. Dans les commandes suivantes, vous devez remplacer myrootpassword par le mot de passe que vous souhaitez utiliser pour votre utilisateur root MariaDB !

    MariaDB [ (aucun) ]> SET PASSWORD FOR 'root'@'localhost' =PASSWORD('myrootpassword'); Requête OK, 0 lignes affectées (0.00 sec)MariaDB [ (aucun) ]> \qBye


    Essayez maintenant si vous pouvez vous connecter avec l'utilisateur root

    mysql -u root -p
    Entrez le mot de passe :myrootpasswordBienvenue dans le moniteur MariaDB. Les commandes se terminent par; ou \g.
    Votre identifiant de connexion MariaDB est 5
    Version du serveur :5.5.41-MariaDB MariaDB Server
    Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab et autres.
    Tapez 'aide;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.MariaDB [ (aucun) ]> \qBye

    Définir max_allowed_packets pour MariaDB

    Bugzilla a besoin d'une taille minimale de 'max_allowed_packet' configurée dans MariaDB. Modifions donc la configuration générique de MariaDB pour définir la taille de 'max_allowed_packet' à 4 Mo.
    Ouvrez '/etc/my.cnf' avec votre éditeur et ajoutez les lignes suivantes sous la section '[mysqld]' :

    # Bugzilla
    # taille maximale autorisée pour le téléchargement d'une pièce jointe
    #changez ceci si vous en avez besoin de plus !
    max_allowed_packet=4M


    Après cela, le 'my.cnf' entier ressemble à ceci :

    [mysqld]
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    # La désactivation des liens symboliques est recommandée pour éviter divers risques de sécurité
    symbolic-links=0
    # Les paramètres utilisateur et groupe sont ignorés lorsque systemd est utilisé.
    # Si vous devez exécuter mysqld sous un autre utilisateur ou groupe,
    # personnalisez votre fichier d'unité systemd pour mariadb selon les
    # instructions dans http://fedoraproject.org/wiki/Systemd

    # Bugzilla
    # taille maximale autorisée pour le téléchargement d'une pièce jointe
    # changez ceci si vous en avez besoin de plus !
    max_allowed_packet=4M

    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file =/var/run/mariadb/mariadb.pid

    #
    # inclut tous les fichiers du répertoire de configuration
    #
    !includedir /etc/my.cnf. ré


    Les modifications prendront effet après le redémarrage de MariaDB.

    sudo systemctl redémarrer mariadb.service

    Forfaits supplémentaires

    Bugzilla a besoin de beaucoup de paquets supplémentaires, principalement liés à perl, de quelques prérequis pour faire fonctionner les modules perl et d'une configuration pour pouvoir télécharger et installer des modules perl. Pour cela, nous installons toutes les dépendances nécessaires. Nous nous assurons également que nous

    N'INSTALLEZ PAS le paquet perl-homedir, car cela casserait l'installation de Bugzilla.

    ('perl-homedir' installerait des modules perl dans des dossiers utilisateur qui ne seront pas accessibles par Bugzilla donc ne l'installez absolument pas !)

    La commande suivante s'assurera que perl-homedir n'est pas installé et installera les autres packages requis :

    sudo yum install gcc gcc-c++ graphviz graphviz-devel patchutils gd gd-devel wget perl* -x perl-homedir


    Environ 1300 packages seront installés !

    Installer Bugzilla

    Maintenant que toutes les préparations sont terminées, nous sommes prêts à télécharger le dernier Bugzilla, à créer la base de données correspondante et à effectuer la configuration finale.

    Créer une base de données pour Bugzilla

    Pour créer une base de données pour Bugzilla sur notre serveur MariaDB, nous devons ouvrir à nouveau l'invite racine MariaDB :

    mysql -u root -p
    Entrez le mot de passe :myrootpassword

    Bienvenue sur le moniteur MariaDB. Les commandes se terminent par; ou \g.
    Votre identifiant de connexion MariaDB est 5
    Version du serveur :5.5.41-MariaDB MariaDB Server
    Copyright (c) 2000, 2014, Oracle, MariaDB Corporation Ab et autres.
    Tapez 'aide;' ou '\h' pour obtenir de l'aide. Tapez '\c' pour effacer l'instruction d'entrée actuelle.


    À l'invite racine de MariaDB, entrez les commandes suivantes pour créer une base de données "bugs" et permettre à l'utilisateur "bugs" d'y accéder pleinement. (Veuillez remplacer "bugsuserpassword" par votre mot de passe !)

    MariaDB [ (aucun) ]> créer des bogues de base de données ; Requête OK, 1 ligne affectée (0,00 seconde)MariaDB [ (aucun) ]> accorder tout sur les bogues.* à [email protected] identifié par 'bugsuserpassword' ; Requête OK, 0 ligne affecté (0.00 sec)MariaDB [ (aucun) ]> \qBye

    Télécharger et extraire Bugzilla

    Bien qu'il existe différentes options pour obtenir BugZilla, nous utilisons wget pour télécharger l'archive tar Nous voulons obtenir la version stable (5.0).

    cd
    wget 'https://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-5.0.tar.gz'


    Une fois le téléchargement terminé, nous extrayons l'archive :

    tar -xzvf bugzilla-5.0.tar.gz

    Copier le dossier Bugzilla dans le dossier du serveur Web

    Maintenant, copions le dossier extrait (bugzilla-5.0) vers son emplacement cible (/var/www/html/bugzilla) avec la commande suivante

    cd
    sudo cp -R ./bugzilla-5.0/ /var/www/html/bugzilla/

    Configuration finale à l'aide du script d'installation de Bugzilla

    Les commandes suivantes doivent être exécutées en tant qu'utilisateur root, nous ouvrons donc un shell root avec la commande suivante :

    sudo su
    [[email protected] installateur]#


    Notre invite a maintenant un '#' à la fin, ce qui signifie que nous sommes root. S'il vous plaît soyez prudent avec toutes les commandes maintenant! Le howto affichera désormais toujours l'invite pour vous dire que vous devez être root pour exécuter les commandes !

    Maintenant (en tant que root) nous passons au dossier du serveur Web où bugzilla réside

    [[email protected] installateur]# cd /var/www/html/bugzilla
    [[email protected] bugzilla]#


    Exécutez maintenant la commande suivante pour laisser le script d'installation de Bugzilla vérifier l'état de notre configuration

    [[email protected] bugzilla]# ./checksetup.pl


    Habituellement, la sortie de la commande ci-dessus nous indiquera que certains modules perl manquent à notre installation (optionnels et requis) et que nous devons installer au moins ceux requis pour pouvoir continuer. Vous pouvez bien sûr installer tous les modules requis (et si vous le souhaitez) les modules optionnels à la main en exécutant les commandes que le script d'installation vous montrera, mais avec cette seule commande, vous installerez tous les modules perl nécessaires à la fois (obligatoires et facultatifs). Alors exécutons-le :

    [[email protected] bugzilla]# /usr/bin/perl install-module.pl --all


    Le script d'installation va maintenant configurer une configuration CPAN temporaire et essaie d'installer tous les modules perl dont Bugzilla a besoin (obligatoires et facultatifs). Seuls quelques avertissements mineurs devraient apparaître pendant le processus.

    À la fin, vérifions à nouveau l'état de l'installation en exécutant checksetup.pl

    [[email protected] bugzilla]# ./checksetup.pl


    Toutes les dépendances devraient être correctes maintenant, à l'exception d'un module ( DBD-Oracle (v1.19) qui n'est pas trouvé. Ce n'est pas grave car ce module ne s'installera que s'il trouve une installation Oracle fonctionnelle que nous n'avons pas !

    Le script d'installation affichera maintenant le texte suivant :

    Lecture de ./localconfig...

    Cette version de Bugzilla contient certaines variables que vous voudrez peut-être
    modifier et adapter à vos paramètres locaux. Les variables suivantes sont
    nouvelles dans ./localconfig depuis la dernière exécution de checksetup.pl :

    create_htaccess, webservergroup, use_suexec, db_driver, db_host,
    db_name, db_user, db_pass, db_port , db_sock, db_check,
    db_mysql_ssl_ca_file, db_mysql_ssl_ca_path, db_mysql_ssl_client_cert,
    db_mysql_ssl_client_key, index_html, interdiffbin, diffpath,
    site_wide_secret

    Veuillez modifier le fichier ./localconfig puis re -exécutez checksetup.pl
    pour terminer votre installation.


    Donc, comme indiqué ci-dessus, nous ouvrons ./localconfig avec notre éditeur et le modifions selon nos besoins. Voici celui que j'ai utilisé (commentaires supprimés), assurez-vous de modifier les noms et les mots de passe de la base de données selon vos besoins !

    $create_htaccess =1;
    $webservergroup ='apache';
    $use_suexec =0;
    $db_driver ='mysql';
    $db_host ='localhost';
    $db_name ='bugs';
    $db_user ='bugs';
    $db_pass ='bugsuserpassword';
    $db_port =0;
    $db_sock ='';
    $db_check =1;
    $db_mysql_ssl_ca_file ='';
    $db_mysql_ssl_ca_path ='';
    $db_mysql_ssl_client_cert ='';
    $db_mysql_ssl_client_key ='';
    $index_html =0;
    $interdiffbin ='/bin/interdiff';
    $diffpath ='/bin';
    $site_wide_secret ='ifKuihguW8nlxLcxeNU4whHzFbxDIGWSvtR6S7Ul38cFQn004YDcVzuBJfnF8M9X';


    Maintenant, exécutons à nouveau le script de configuration. Il devrait maintenant détecter la configuration correcte de la base de données et commencer à accéder au serveur MariaDB pour une configuration finale.

    [[email protected] bugzilla]# ./checksetup.pl


    Sortie (certaines lignes supprimées)

    ...
    ...
    Ajout d'une nouvelle table bz_schema...
    Initialisation de bz_schema...
    Création de tables...
    Conversion de la taille maximale de attach_data à 100G. ..
    Configuration des choix pour les champs déroulants standard :
       priorité bug_status rep_platform résolution bug_severity op_sys
    Création du répertoire ./data...
    ...
    . ..
    Précompilation des modèles... terminé.
    Correction des autorisations de fichiers...
    Initialisation des "Modifications de l'arborescence des dépendances" email_setting ...
    Initialisation des "Modifications des produits/composants" email_setting . ..
    Marquage des statuts de bogues fermés comme tels...
    Création de la classification par défaut 'Non classé'...
    Configuration des clés étrangères...
    Configuration du workflow de statut par défaut. ..
    Création de groupes par défaut...
    Configuration des préférences utilisateur...

    Il semble que nous n'ayons pas encore configuré d'administrateur. Soit c'est
    la première fois que vous utilisez Bugzilla, soit les privilèges de votre administrateur
    ont peut-être été accidentellement supprimés.

    Entrez l'adresse e-mail de l'administrateur :


    Suivez maintenant les invites et finalisez votre configuration (utilisez vos valeurs pour les réponses ici !) :

    Entrez l'adresse e-mail de l'administrateur :[email protected]
    Entrez le vrai nom de l'administrateur :Der PCFreak
    Entrez un mot de passe pour le compte administrateur :adminpassword
    Veuillez retaper le mot de passe pour vérifiez :adminpassword
    [email protected] est maintenant configuré en tant qu'administrateur.


    Quand tout s'est bien passé, vous devriez voir :

    Création du produit factice initial 'TestProduct'...

    Maintenant que vous avez installé Bugzilla, vous devriez visiter la page 'Paramètres'
    (liée dans le pied de page du compte Administrateur) pour vous assurer qu'il
    est configuré comme vous le souhaitez - cela inclut la définition de l'option 'urlbase' sur
    l'URL correcte.
    checksetup.pl terminé.


    À ce stade, nous avons presque terminé. Exécutez la ligne suivante pour commenter une ligne dans le fichier .htaccess créé par le script d'installation de Bugzilla :

    [[email protected] bugzilla]# sed -i 's/^Options -Indexes$/#Options -Indexes/g' ./.htaccess

    Configurer Apache pour héberger notre installation Bugzilla

    Apache ne sait toujours rien de Bugzilla. Créons donc le fichier /etc/httpd/conf.d/bugzilla.conf avec le contenu suivant pour présenter notre site Web Bugzilla au httpd.service.

    #/etc/httpd/conf.d/bugzilla.conf
    <VirtualHost *:80>

    DocumentRoot /var/www/html/bugzilla/
    </VirtualHost>
    <Directory /var/www/html/bugzilla>
    AddHandler cgi-script .cgi
    Options +Indexes +ExecCGI
    DirectoryIndex index.cgi
    AllowOverride Limit FileInfo Indexes
    </Directory>


    Une fois le fichier créé, nous redémarrons Apache pour que les modifications prennent effet :

    [[email protected] bugzilla]# systemctl redémarre httpd.service

    Revenir à l'utilisateur normal

    Travailler en tant que root n'est plus nécessaire, vous pouvez maintenant utiliser sudo si vous avez besoin des privilèges root. Exécutez donc la commande suivante pour quitter le shell root :

    [[email protected] bugzilla]# sortie
    [[email protected] ~]$

    Testez l'installation de Bugzilla avec votre navigateur

    Utilisez un navigateur et ouvrez http://ip-of-your-server/ (remplacez ip-of-your-server par l'adresse IP de votre serveur). Vous devriez maintenant voir la page Bugzilla au lieu de la page de test Apache par défaut.
    Vous pouvez maintenant vous connecter avec les informations d'identification que vous avez fournies au script d'installation de Bugzilla. Dans ce tutoriel, c'était :

    Adresse e-mail :[email protected]
    Mot de passe     :mot de passe administrateur


    Voilà ! Vous avez maintenant une installation fonctionnelle de Bugzilla 5.0 sur CentOS 7. Vous pouvez maintenant continuer à configurer les détails de Bugzilla dans l'interface Web de Bugzilla.


    Cent OS
    1. Comment installer PHP 7, 7.2 et 7.3 sur CentOS 7

    2. Comment installer Java 11 et 12 sur CentOS 7

    3. Comment installer Wine 4.0 sur CentOS 7

    4. Comment installer Vim 8.2 sur CentOS 7

    5. Comment installer Bugzilla sur CentOS 6

    Comment installer Java sur CentOS 7

    Comment installer Ruby sur CentOS 7

    Comment installer PostgreSQL sur CentOS 7

    Comment installer Go sur CentOS 7

    Comment installer R sur CentOS 7

    Comment installer R sur CentOS 8