Sur cette page
- Prérequis pour CentOS
- Connexion Internet
- SELinux
- Désactiver SELinux
- Compte utilisé pour l'installation
- Dépôts supplémentaires
- Activer le référentiel Epel
- Installer Apache avec mod_ssl et mod_perl
- Activer et démarrer httpd.service
- Démarrer httpd.service
- Vérifier l'état de httpd.service
- Activer définitivement httpd.service
- Ouvrir le port 80 dans le pare-feu local pour autoriser les requêtes HTTP
- Tester le serveur Web Apache
- Activer et démarrer httpd.service
- Installer MariaDB
- Faire en sorte que MariaDB démarre automatiquement au démarrage
- Définir le mot de passe racine de MariaDB
- Définir max_allowed_packets pour MariaDB
- Forfaits supplémentaires
- Créer une base de données pour Bugzilla
- Télécharger et extraire Bugzilla
- Copier le dossier Bugzilla dans le dossier du serveur Web
- Configuration finale à l'aide du script d'installation de Bugzilla
- Configurer Apache pour héberger notre installation de Bugzilla
- Revenir à l'utilisateur normal
- 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:portproxy=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 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 :
# 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-releasemise à 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.serviceVé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)
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-mysqlFaire 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.servicesudo 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 !
Essayez maintenant si vous pouvez vous connecter avec l'utilisateur root
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]' :
# 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 :
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.
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 :
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 -pEntrez 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 !)
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] bugzilla]#
Exécutez maintenant la commande suivante pour laisser le script d'installation de Bugzilla vérifier l'état de notre configuration
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 :
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
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 :
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 !
$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.
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 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 :
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 :
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 :
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 :
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.