Comment installer Redmin sur Rhel 8 / Centos 8 Linux

Comment installer Redmin sur Rhel 8 / Centos 8 Linux

Redmine est une application Web populaire de gestion de projet open source. Il prend en charge les bases de données des maires comme MySQL et PostgreSQL comme backend, et vous pouvez également changer le frontend en Apache à partir du serveur WebServer WeBrick (recommandé pour la production) expédié avec l'installation. Dans cet article, nous installerons le dernier Redmin sur RHEL 8 / CentOS 8, en utilisant PostgreSQL comme backend, mais nous laisserons le Webrick par défaut comme frontend, qui servira parfaitement nos tests.

Ne vous attendez pas à ce que ce processus soit facile, ni sans erreur. Même en suivant ces étapes vers la lettre, certaines erreurs se produiront sûrement, la configuration semble gérer Sudo étapes quelque peu incohérentes - mais les solutions sont également incluses, ce qui guidera ces erreurs.

Dans ce tutoriel, vous apprendrez:

  • Comment installer les packages du système d'exploitation requis
  • Comment configurer la base de données
  • Comment installer l'application Redmine
  • Comment démarrer et se connecter à l'application
Page de configuration de Redmin sur Rhel 8.

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système RHEL 8 / CENTOS 8
Logiciel Rouge 4.0.3, postgresql 10.5
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Comment installer Redmin sur Redhat 8 instructions étape par étape

Redmin est une application Ruby. Pour l'installation, nous devrons utiliser rubygems et bundler, et compiler beaucoup de dépendances, donc cela prendra un certain temps. Nous utiliserons les référentiels Red Hat disponibles après avoir permis à la gestion de l'abonnement pour résoudre les dépendances du système d'exploitation. Vous pouvez vous référer au Guide d'installation de PostgreSQL sur RHEL8 pour la configuration détaillée de la base de données en général, dans cet article, nous ne couvrirons que les étapes nécessaires pour Redmin. Si la configuration de la base de données est nouvelle, n'oubliez pas de compléter le initdb Étape dans le guide mentionné, ou le démarrage de la base de données échouera.

  1. Nous allons créer un utilisateur qui sera le propriétaire de la demande, et nous le donnerons temporaire Sudo accès. Nous pouvons révoquer cet accès une fois l'installation terminée.
    # userAdd Redmine

    Nous devons définir un mot de passe pour le nouvel utilisateur, que nous utiliserons lors de l'utilisation Sudo:

    # Passwd Redmine

    Sur les distributions basées sur RHEL, il y a un roue Groupe d'utilisateurs, qui est autorisé à utiliser Sudo Pour exécuter les commandes privilégiées. Pour vérifier que ce groupe est configuré comme Sudoer, nous pouvons grep le / etc / sudoers déposer:

    # grep "% roue" / etc / sudoers% roue tout = (tout) tout #% roue all = (tout) nopasswd: tout

    La deuxième ligne avec l'option NOPASSWD est commentée, ce qui répondra à nos besoins. Avec la configuration ci-dessus en place, tout ce que nous devons faire est d'ajouter le rouge Utilisateur au roue groupe:

    # usermod -a -g roue rouge
  2. Pour installer les packages que le système d'exploitation fournira, nous utiliserons DNF:
    # DNF Installez les t-t-t-t-thers de niveau de noyau gcc postgresql devembres ruby ​​rubygems rubis-devel


  3. Pour obtenir la demande, visitez le site de téléchargement officiel (qui s'exécute sur Redmine). De là, nous pouvons télécharger le compressé tarball avec wget au système cible:
    # wget https: // www.rouge.org / releases / redmine-4.0.3.le goudron.gz -o / opt / redmine-4.0.3.le goudron.gz

    Comme la commande ci-dessus le suggère, nous allons installer l'application sous le /opter annuaire. Nous allons passer à ce répertoire et extraire les archives:

    # CD / OPT # TAR -XZF REDMINE-4.0.3.le goudron.gz

    Éventuellement, nous pouvons également créer un liaissement Pour un accès plus facile - de cette façon, nous n'avons pas besoin de nous souvenir de la version exacte:

    # ln -s / opt / redmine-4.0.3 / Opt / Redmin

    Maintenant, nous pouvons définir le rouge Utilisateur en tant que propriétaire de la hiérarchie du répertoire extrait, récursivement:

    # Chown -r Redmine: Redmine / Opt / Redmine *
  4. Pour configurer la base de données pour la connexion de l'application, nous devons le démarrer s'il ne s'exécute pas déjà:
    # SystemCTL Start PostgreSQL
  5. Nous devrons créer une base de données vide où l'application stockera ses données. Pour ce faire, nous allons passer au postgres Utilisateur du système d'exploitation créé par défaut lors de l'installation de la base de données:
    # su - Postgres

    Nous nous connecterons à PSQL En tant que superutilisateur de la base de données:

    $ psql psql (10.5) Tapez "Aide" pour obtenir de l'aide. postgres = #

    Nous allons créer un rôle qui sera utilisé par l'application (notez le nom d'utilisateur et le mot de passe):

    Postgres = # Créer un rôle Redmine Login Mot Mot de passe crypté 'R3DM1N3' NOINHERIT VALIDAUX jusqu'à 'Infinity';

    Nous créons également une nouvelle base de données avec le propriétaire créé ci-dessus:

    Postgres = # Créer une base de données RMDB avec Encoding = "UTF8" propriétaire = redmine;

    Nous aurons besoin du nom d'utilisateur, du mot de passe, du codage et du nom de la base de données à une étape ultérieure.

  6. Maintenant que l'utilisateur est configuré, nous devons autoriser la connexion sur le serveur de base de données. L'utilisateur de Redmin se connectera localement, nous ajoutons donc la ligne suivante au pg_hba.confli fichier, situé par défaut à / var / lib / pgsql / data Par défaut sur les distributions basées sur RHEL:
    hôte rmdb redmine 127.0.0.1/32 MD5

    Vérifiez votre fichier de configuration pour les éléments suivants:

    # IPv4 Connexions locales: hébergez tous tous 127.0.0.1/32 identifier

    Si vous avez une telle ligne, commentez-le, il entrera en conflit avec la connexion que nous prévoyons de configurer.

  7. Avec cela en place, nous devons redémarrer la base de données pour que les paramètres prennent effet:
    # SystemCTL Redémarrer PostgreSQL
  8. Nous avons maintenant toutes les informations nécessaires pour indiquer à l'application où et comment trouveront-ils la base de données. Il existe un exemple du fichier de configuration de la connexion de la base de données avec toutes les bases de données prises en charge dans le configurer sous-répertoire des archives extraites. Nous pouvons faire une copie de ce fichier (en utilisant le rouge utilisateur):
    $ CP Config / Database.YML.Exemple de configuration / base de données.YML

    Nous pouvons supprimer ou commenter tous les paramètres d'exemples en plus de ceux liés à PostgreSQL, ou simplement créer un fichier vide avec la configuration nécessaire (moins de la jonque restera dans le fichier de cette façon). À la fin, le / Opt / Redmine / Config / Database.YML devrait contenir ce qui suit:

    # Production de configuration de PostgreSQL: Adaptateur: Base de données PostgreSQL: Hôte RMDB: 127.0.0.1 Nom d'utilisateur: Mot de passe Redmine: "R3DM1N3"
    Copie

    Notez que nous avons utilisé les informations de connexion de la base de données que nous avons configurées dans les deux dernières étapes.



  9. Pour réduire le nombre de problèmes possibles, nous allons tester que nous pouvons nous connecter au rmdb base de données avec les informations d'identification fournies dans le fichier de configuration. Il est plus facile de déboguer les problèmes de connexion avec le jeu d'outils PostgreSQL que tout autre:
    $ PSQL -D RMDB -U Mot de passe Redmine -W pour l'utilisateur Redmine: PSQL (10.5) Tapez "Aide" pour obtenir de l'aide. rmdb =>
  10. C'est là que la partie facile se termine. Maintenant, nous allons installer divers packages Ruby Redmin dépend de. Certains d'entre eux ont besoin racine accès, certains seront installés au nom du rouge utilisateur, et plus tard certains auront probablement besoin d'une réparation. Sans blague. Tout d'abord, nous aurons besoin bundler:
    # gem install bundler fetching: bundler-2.0.1.GEM (100%) a installé avec succès Bundler-2.0.1 1 gemme installé

    Nous utiliserons bundler avec le rouge utilisateur, mais nous aurons également besoin racine Pour installer ou réparer Ruby Gemmes, Je suggère donc d'ouvrir un autre terminal, passez à rouge utilisateur et accédez à / opt / redmine répertoire, tout en gardant la console racine ouverte.

  11. Comme rouge utilisateur, nous commençons l'installation dans le / opt / redmine annuaire:
    $ Installation du bundle - sans test de développement rmagick

    De nombreuses dépendances seront installées et pour certains l'installateur demande le Sudo Mot de passe - qui est le mot de passe du rouge utilisateur. Il semble que cette fonctionnalité sudo soit en quelque sorte un peu cassée et peut gérer certaines des installations de package privilégiées racine et ne peut pas continuer avec d'autres. Ceux qui échouent peuvent être installés sur la console racine, et ce qui précède empaqueter La commande peut être exécutée à nouveau sur la console de l'utilisateur de Redmin. Ce qui devait être installé dans mon cas avec racine sont les suivants:

    # gem install nokogiri -v '1.dix.2 '--SOURCE' https: // rubygems.org / '# gem install pg -v' 1.1.4 '--Source' https: // rubygems.org / '

    Il y a aussi certains packages qui peuvent être cassés lors de l'installation. Ceux-ci peuvent également être réparés sur la console racine. Comme avec les étapes d'installation de package échouées ci-dessus, la sortie du bundler La commande indique quel package a eu des problèmes et comment le résoudre. Dans mon cas, les forfaits suivants devaient être réparés:

    # gemb vierge Nio4r - Version 2.3.1 # gemm immaculé Redcarpet - Version 3.4.0 # Gem Websocket-Driver - Version 0.7.0

    Veuillez noter que si vous installez une autre version de Redmin, les numéros de version des packages diffèrent probablement. Après avoir fixé tous les packages cassés et manquants, le empaqueter La commande doit se terminer sans erreurs, avec l'extrémité suivante de la sortie:

    […] Installation de Roadie-Rails 1.3.0 récupérer le rouge 3.3.0 Installation de Rouge 3.3.0 faisceau complet! 26 dépendances de gemfile, 57 gemmes désormais installées. Les gemmes dans le développement des groupes, le test et le rmagick n'ont pas été installés. Utilisez 'Bundle Info [Gemname]' pour voir où un joyau groupé est installé.
  12. Avec la partie délicate terminée, nous devons générer un jeton qui sera utilisé pour coder les cookies de session:
    $ bundle exec rake generate_secret_token
  13. Ensuite, nous générons les objets de base de données nécessaires à l'application:
    $ RAILS_ENV = Production Bundle Exec Rake DB: Migrer

    En plus de créer les objets de base de données nécessaires, cette étape générera beaucoup de sortie en enregistrant toutes les étapes de la console. Nous verrons que de nombreuses entrées apparaissent similaires à ce qui suit:

    […] == 20180913072918 AddverifypeerToAuthSources: Migration ===================== - Change_Table (: AUTH_SOURCES) -> 0.0082S == 20180913072918 AddverifypeerToAuthSources: Migré (0.0083S) ============== == 20180923082945 Modifications (0.0000S) =============

    Ce processus devrait se terminer en quelques secondes.

  14. Nous pouvons vérifier la base de données peuplée avec PSQL:
    RMDB => \ DT LISTE DES RELATIONS SCHEMA | Nom | Type | Propriétaire -------- + ------------------------------------- + - ----- + --------- public | ar_internal_metadata | Tableau | Redmin Public | Attachements | Tableau | Redmin Public | auth_sources | Tableau | Redmin Public | Boards | Tableau | Redmin Public | Modifications | Tableau | Redmin […]


  15. La dernière étape de l'installation consiste à charger les données par défaut dans la base de données. En fournissant le Redmine_lang paramètre, nous pouvons nous sauver de toutes les questions pendant le chargement initial.
    $ Rails_env = production redmine_lang = en bundle exec rake redmine: load_default_data les données de configuration par défaut chargées.
  16. L'installation est terminée. Nous pouvons démarrer l'application:
    $ bundle exec rails serveur webrick -e production => booting webrick => rails 5.2.2.1 application commençant en production sur http: // 0.0.0.0: 3000 => Run 'Rails Server -H' pour plus d'options de démarrage [2019-04-14 18:39:12] Info webrick 1.4.2 [2019-04-14 18:39:12] Info Ruby 2.5.1 (2018-03-29) [x86_64-linux] [2019-04-14 18:39:12] info webrick :: httpServer # start: pid = 30062 port = 3000
  17. L'application est actuellement en cours d'exécution et est accessible avec un navigateur. À partir de la sortie ci-dessus, nous pouvons deviner qu'il est accessible sur le port 3000, Donc, si nous avons un pare-feu fonctionnant sur la machine cible, nous devons ouvrir ce port pour accéder à la distance au service:
    # Firewall-Cmd --zone = public --add-port = 3000 / tcp --permanent # Firewall-CMD - Reload
  18. En ouvrant un navigateur et en le pointant vers l'adresse de la machine et le port 3000 (http: // 192.168.1.14: 3000 sur la capture d'écran ci-dessous), nous pouvons accéder à l'interface Web de notre nouvelle installation de Redmin Fresh. Page de connexion de Redmine.

    Les informations d'identification par défaut sont administrer pour le nom d'utilisateur, et aussi pour le mot de passe. Lors de la première connexion, l'application bien réconfortante provoquera un changement de mot de passe pour ce compte privilégié. De là, le service est à nous de remplir, de configurer et de profiter.

  19. À l'installation terminée, nous pouvons supprimer le rouge Utilisateur du roue groupe, éliminant le trou de sécurité nécessaire pendant le processus:
    # GPASSWD -D REDMINE RETIR REPLIR UTILISATEUR User Redmine de Group Wheel # Id Redmine UID = 1008 (Redmine) GID = 1008 (Redmine) Group = 1008 (Redmine)

Tutoriels Linux connexes:

  • Ubuntu 20.04 Installation de PostgreSQL
  • Ubuntu 22.04 Installation de PostgreSQL
  • Installez MySQL sur Ubuntu 20.04 LTS Linux
  • Ubuntu 20.04 WordPress avec installation Apache
  • Comment installer MySQL sur Almalinux
  • Comment configurer le serveur Linux Apache MySQL Python
  • Choses à installer sur Ubuntu 20.04
  • Applications d'interface utilisateur graphique (GUI) pour la gestion…
  • Comment persister les données à PostgreSQL à Java
  • Choses à installer sur Ubuntu 22.04