Request Tracker (RT), Partie 2Par Amy Rich Partie 1 : Présentation de Request Tracker Dans l'article précédent, je vous ai présenté Request Tracker (RT) et j'ai installé RT et toutes ses dépendances à partir d'une simple installation du système d'exploitation Solaris 9. À ce stade, l'installation de RT ne fonctionnait toujours pas, étant donné que je n'avais procédé à aucune opération de configuration. Cet article explique les concepts et les options de configuration de RT et fournit un exemple simple. Configuration initiale de RTJ'ai utilisé la disposition de RT et installé RT sous /usr/local/rt3. Mes fichiers de configuration se trouvaient donc dans le répertoire /usr/local/rt3/etc/. La configuration par défaut, /usr/local/rt3/etc/RT_Config.pm, contenait plusieurs variables qui devaient être définies pour pouvoir faire apparaître l'interface Web. Au lieu de modifier le fichier de configuration par défaut qui risquait d'être écrasé au cours des mises à niveau, je l'ai copié sur le fichier de configuration du site et effectué mes changements à partir de cet emplacement :cp /usr/local/rt3/etc/RT_Config.pm /usr/local/rt3/etc/RT_SiteConfig.pm vi /usr/local/rt3/etc/RT_SiteConfig.pmJ'ai conservé uniquement les lignes modifiées ainsi que la dernière ligne, ";1". Une fois l'opération effectuée, mon fichier /usr/local/rt3/etc/RT_SiteConfig.pm avait le contenu suivant : Set($rtname , "your.domain"); Set($Organization , "your.domain"); Set($OwnerEmail , 'rt-sysadmin'); Set($RTAddressRegexp , '^rt\@your.domain$'); Set($CorrespondAddress , 'rt@your.domain'); Set($CommentAddress , 'rt@your.domain'); Set($CanonicalizeEmailAddressMatch , 'subdomain.your.domain$'); Set($CanonicalizeEmailAddressReplace , 'your.domain'); Set($SendmailPath , "/usr/lib/sendmail"); Set($WebBaseURL , "https://rt.your.domain"); 1;J'ai ensuite initialisé la base de données de RT à partir de l'arborescence source de RT : make initialize-databaseDans l'article précédent, j'ai expliqué que je ne souhaitais pas définir un mot de passe d'administrateur pour MySQL au moment de l'installation de MySQL, car RT tenterait de se connecter à la base de données sans mot de passe. Maintenant que RT s'est connecté et a créé ses bases de données, je suis libre de modifier le mot de passe MySQL : /usr/local/mysql/bin/mysqladmin -u root password 'YourPasswd' Configuration d'ApacheLa configuration initiale du fichier de configuration de RT étant terminée, je devais modifier /usr/local/Apache/conf/httpd.conf. Je ne souhaitais pas utiliser de connexion non chiffrée, je souhaitais uniquement exécuter un serveur sur le port 443 de cette machine. Pour ce faire, j'ai supprimé la ligne "Listen: 80" dans la définition SSL du fichier httpd.conf :Je souhaitais également exécuter Apache en tant qu'utilisateur www et groupe www, comme le prévoit l'installation par défaut de RT. J'ai également défini ServerAdmin sur webmaster@your.domain : User www Group www ServerAdmin webmaster@your.domainLe seul service que je souhaitais exécuter sous Apache était RT. J'ai donc modifié l'hôte virtuel _default_:443 et défini le répertoire html de RT comme docroot. De plus, je devais ajouter un gestionnaire pour fastcgi, définir le serveur fastcgi et ajouter un alias de script, afin de tout faire passer via mason fastcgi : Après avoir enregistré ces modifications, j'ai exécuté un test de configuration afin de vérifier que le fichier de configuration ne contenait aucune erreur : /usr/local/apache/bin/apachectl configtestLe test ayant réussi, j'ai démarré le serveur Web : /usr/local/apache/bin/apachectl startsslVeuillez noter que sans script de démarrage et d'arrêt, Apache ne se fermera pas correctement en cas d'arrêt du système ou ne se lancera pas au cours de la réinitialisation. Habituellement, je supprime les blocs <IfDefine SSL> de httpd.conf, copie le script apachectl de /usr/local/apache/bin vers /etc/init.d et crée un lien vers celui-ci à partir de fichiers nommés correctement dans les répertoires rc.
Request Tracker : conceptsAvant de vous expliquer comment configurer RT par le biais de l'interface Web, voici quelques explications sur les entités de base de RT. Les éléments internes de RT consistent en un certain nombre de scripts Perl conçus selon les principes suivants :
Configuration de RT via le WebMaintenant que j'ai présenté les blocs de construction de base de la configuration de RT, voici la configuration simple que j'ai effectuée : La première étape a été de me rendre sur la page https://rt.your.domain/ par le biais de mon navigateur Web. Une fenêtre de connexion s'est affichée, me demandant mon nom d'utilisateur et mon mot de passe. Je me suis connectée à l'aide du nom d'utilisateur root et du mot de passe défini lors de la configuration.
J'ai alors découvert l'interface utilisateur de RT. Étant donné que RT n'avait encore reçu aucun ticket, la plupart des colonnes de droite étaient vides. Il n'existait aucun ticket créé par l'utilisateur root ou placé sous sa responsabilité, et aucun ticket n'apparaissait dans la file d'attente générale par défaut. À ce stade, ce qui m'intéressait était l'option de configuration de la barre de menu gauche.
J'ai commencé par créer un utilisateur de façon à ne plus avoir à me connecter avec l'utilisateur root. Voici les étapes que j'ai suivies :
Ensuite, j'ai créé un groupe personnalisé afin de pouvoir attribuer ultérieurement des autorisations à un certain nombre d'utilisateurs en une seule fois.
J'ai ensuite ajouté le nouvel utilisateur au nouveau groupe.
Après avoir rempli mon groupe RT Administrators (Administrateurs RT), je souhaitais attribuer globalement tous les droits possibles aux utilisateurs de ce groupe.
En fonction de la configuration de mon compte dans RT, je peux également décider d'assigner divers droits pour les groupes système prédéfinis dans cet écran. Par exemple, si je configure un système de tickets où les personnes sans compte RT peuvent également soumettre des tickets (ce qui constitue un scénario relativement commun), je dois attribuer au groupe Everyone (Tous) l'autorisation de créer des tickets. Création de files d'attenteJe souhaitais créer une file d'attente personnalisée pour l'administration de RT.
Je souhaitais que tous les utilisateurs du groupe RT Administrators surveillent les nouveaux tickets dans la file d'attente rt admin. J'ai donc ajouté ce groupe en tant qu'observateurs AdminCc. J'ai choisi AdminCc car l'un des scrips par défaut utilisés dans RT envoie un e-mail aux utilisateurs AdminCc à la création d'un ticket.
Configuration de la passerelle pour le courrierUne fois ma configuration Web très basique de RT terminée, j'étais prête à passer à la passerelle pour le courrier. Cela implique que la machine puisse recevoir des e-mails. Étant donné que sendmail est déjà installé par défaut sur le système d'exploitation Solaris 9, j'ai procédé comme pour mon agent de transfert de messages. J'ai lancé le démon de façon à ce qu'il accepte les connexions locales et distantes, ajouté deux alias au fichier /etc/mail/aliases et exécuté les nouveaux alias :
rt-admin: "|/usr/local/rt3/bin/rt-mailgate \
--queue 'rt admin' --action correspond \
--url https://rt.your.domain/"
rt-admin-comment: "/usr/local/rt3/bin/rt-mailgate \
--queue 'rt admin' \
--action comment \
--url https://rt.your.domain/"
Ces deux alias transfèrent l'e-mail au script Perl rt-mailgate. Des informations supplémentaires sur ce programme sont disponibles dans la source ou via perldoc :
perldoc /usr/local/rt3/bin/rt-mailgateLe premier alias informe RT que l'e-mail s'applique à la file d'attente rt admin et que l'action est correspond. Cela signifie que les scrips qui s'appliquent à correspond pour la file d'attente rt admin seront déclenchés par un message entrant. Par défaut, ces scrips sont les suivants :
Étant donné que j'ai utilisé un espace dans le nom de la file d'attente lorsque je l'ai créée, je dois placer le nom entre guillemets simples dans le fichier d'alias. Si j'avais nommé la file d'attente rt-admin, je n'aurais pas besoin des guillemets. Création de ticketsÀ ce stade, RT a été installé et configuré avec un nouvel utilisateur, un nouveau groupe et une nouvelle file d'attente. J'étais alors prête à créer quelques tickets de test pour vérifier que tout fonctionnait correctement. Tout d'abord, j'ai créé un ticket par le biais de l'interface Web.
Cette opération m'a permis de créer le ticket dans la file d'attente rt admin et d'ouvrir la page du ticket. Dans la barre de menu gauche, il existe un certain nombre d'autres choix sous le numéro du ticket. Lorsque j'ai cliqué de nouveau sur Home, un ticket était répertorié sous 10 highest priority tickets I own (Les 10 tickets les plus urgents dont je suis responsable) et 10 highest priority tickets I requested (Les 10 tickets les plus urgents que j'ai créés). Un ticket s'affichait également sous la colonne New (Nouveau) à droite de la file d'attente rt admin. L'interface Web fonctionnant correctement, j'ai testé l'interface e-mail en envoyant un e-mail à rt-admin@rt.your.domain. Lorsque j'ai actualisé la vue Home, un autre ticket est apparu dans la file d'attente rt admin, comme prévu. Mon installation était complètement opérationnelle. Planification de la préinstallationMaintenant que j'ai présenté l'installation et la configuration de RT, je vais parler brièvement de la préparation de la préconfiguration. Avant de configurer RT, réfléchissez bien à la planification de la mise en page et à la façon dont vous souhaitez utiliser RT pour un site. L'organisation des groupes, files d'attente et autorisations détermine fréquemment l'efficacité d'un système de tickets. Une installation aléatoire qui ne fonctionne pas conformément au flux de travail de l'entreprise finira par poser des problèmes. Lors de la création de files d'attente et de groupes, prenez en compte la façon dont le personnel et les systèmes travaillent ensemble.Si une file d'attente est dédiée aux systèmes de messagerie et une autre est dédiée aux sauvegardes, à quelle file d'attente un ticket appartient-il s'il concerne des sauvegardes provoquant des échecs sur les systèmes de messagerie ? Qui doit résoudre le problème ? Le site est-il suffisamment petit pour pouvoir fusionner ces deux files d'attente ou existe-t-il deux équipes différentes pour gérer les sauvegardes et la santé générale du système ? Si deux équipes existent, bénéficient-elles d'une autorisation pour consulter la file d'attente de l'autre équipe ? Si les équipes ne communiquent pas bien, il arrive parfois que deux tickets concernant le même problème soient créés dans deux files d'attente différentes. Prenez également le temps de réfléchir à quels droits doivent bénéficier les utilisateurs de chaque file d'attente. Les administrateurs système peuvent avoir besoin de droits complets sur plusieurs files d'attente, alors que le personnel de l'équipe d'assistance et de support de première ligne n'a besoin que d'un accès minimal (afficher les tickets sans pouvoir les modifier, par exemple). Lors de la création de groupes et d'observateurs, demandez-vous s'il est utile de mettre tous les employés en copie à chaque mise à jour du ticket ou s'il suffit de mettre uniquement le responsable et le demandeur en copie. Les scrips et les modèles personnalisés peuvent permettre de simplifier l'automatisation afin que les personnes adéquates puissent consulter toutes les actions effectuées sur le ticket ou uniquement les actions sélectionnées. Vous rencontrez un problème ?N'oubliez pas de lire le fichier README, HOWTO et les fichiers doc fournis avec l'archive tar de RT. Certains documents et la liste des bogues connus actuelle sont disponibles sur le site Web de RT. Il existe également un Guide du hacker qui traite principalement de RT 2 et qui peut vous être utile.De plus, il existe quatre listes de diffusion relatives à RT et ses archives. Les questions directes concernant l'installation ou la configuration de RT doivent être adressées à la liste de diffusion rt-users, tandis que les questions et les discussions relatives au développement de RT doivent être envoyées à la liste de diffusion rt-devel. Pour les sites qui préfèrent opter pour un contrat de support payant, Best Practical Solutions, LLC propose quatre niveaux de service. De plus, la société offre également un service de support pour l'installation et des services de développement personnalisés. Ressources
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License. |
BigAdmin SubscriptionsBigAdmin Areas
BigAdmin Sun Center
BigAdmin Topics |