Installer l'outil de gestion de projet "Redmine" sur CentOS8 (la base de données est Postgre)

version

CentOS Linux release 8.2.2004 (Core)

Qu'est-ce que Redmine?

Un outil de gestion de projet open source. Une application web qui s'exécute sur le framework appelé "Ruby on Rails" du langage de programmation "Ruby".

Vous pouvez trouver diverses informations sur la version japonaise de Redmine. https://redmine.jp/overview/

etc.

Manuel d'installation d'origine

~~ Ici http://blog.redmine.jp/articles/3_4/install/centos/ Dans cet article, je vais juste selon le manuel, mais le manuel est basé sur CentOS 7.3. ~~

~~ Peut-être avez-vous besoin de paramètres spéciaux uniquement pour la version 8 ... J'ai l'impression de faire ce genre de vérification. ~~

Quand j'ai essayé de l'installer sur CentOS 8 par la méthode de CentOS 7.3, cela a échoué brillamment ... (´ ・ ω ・ `) Pour recommencer depuis le début ... Il y en a 8 pour 8 et 7 pour 7.

Site de référence

J'ai retracé cette procédure. https://serverbuild.net/2020/03/12/centos8-redmine-howtoinstall/

Installation des logiciels nécessaires

Je me demande si la transition de yum à dnf est différente de CentOS7 ...

dnf -y update
dnf -y groupinstall "Development Tools"
dnf -y install openssl-devel readline-devel zlib-devel curl-devel libffi-devel subversion
dnf -y install postgresql-server postgresql-devel
dnf -y install httpd httpd-devel

Installation de rubis

Téléchargez, décompressez, installez à partir du code source.

cd /opt/
wget https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.gz
tar zxvf ruby-2.6.5.tar.gz
cd ruby-2.6.5/
./configure --disable-install-doc
make
make install

ruby -Après avoir vérifié la version Ruby avec v, 2.6.Ce n'était pas 5 ...


 Est-ce un vestige de l'échec de l'installation de Redmine? Hmm ... je ne sais pas ... (´ ・ ω ・ `)

 C'est donc un petit détour.
 ** rbenv ≒ Préparez un gars qui peut installer Ruby en spécifiant la version **.

 Site de référence
https://qiita.com/lenore/items/259556172e62a0ae8e50

 Tout d'abord, préparez les outils nécessaires à l'installation de rbenv.

yum -y install git bzip2 gcc gcc-c++ openssl-devel readline-devel zlib-devel yum -y install epel-release yum -y install nodejs


 Clonez le code rbenv avec Git.

git clone https://github.com/rbenv/rbenv.git /usr/local/rbenv git clone https://github.com/rbenv/ruby-build.git /usr/local/rbenv/plugins/ruby-build


 Créez un nouveau fichier appelé /etc/profile.d/rbenv.sh.
 Le contenu est le suivant.

export RBENV_ROOT=/usr/local/rbenv export PATH={RBENV_ROOT}/bin:PATH eval "$(rbenv init --no-rehash -)"


 Exécutez le sh créé.

source /etc/profile.d/rbenv.sh


 Après cela, modifiez le paramètre d'autorisation sudo avec la commande `` `` visudo```.

 Ajoutez la ligne suivante.

Defaults env_keep += "RBENV_ROOT"


 Modification de ce qui suit (par défaut secure_path).

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/rbenv/bin:/usr/local/rbenv/shims



 Maintenant, vérifiez si rbenv a été installé avec `` `` rbenv --version```.


 Si vous pouvez installer rbenv ... Spécifiez la version et Ruby insco. La commande suivante.

rbenv install 2.6.5


 Installez jusqu'à ce que 2.6.5 soit appliqué. La commande suivante.

rbenv global 2.6.5 rbenv rehash


 Vérifiez à nouveau si la version Ruby est 2.6.5 avec `` `` ruby -v```!


# installation du bundler
 Installez avec la commande suivante.

gem install bundler



# Initialisation Postgre

 Tout d'abord, la commande d'initialisation.

postgresql-setup initdb


 Puis éditez /var/lib/pgsql/data/pg_hba.conf.
 Ajoutez ce qui suit sous `` `` paramètre de configuration, ou via les commutateurs de ligne de commande -i ou -h.``` dans le fichier conf.

host redmine redmine 127.0.0.1/32 md5 host redmine redmine ::1/128 md5


 Configuré pour démarrer automatiquement lorsque Postgre démarre et redémarre.

systemctl start postgresql systemctl enable postgresql


 Créez un utilisateur pour Redmine dans Postgre.

-u postgres createuser -P redmine

 "Quel est le mot de passe pour le nom d'utilisateur = redmine?" ], Définissez donc un mot de passe arbitraire.
 Évidemment, notez votre mot de passe. (Parce que je l'écris dans le fichier de paramètres Redmine)


 Créez une base de données pour Redmine dans Postgre.

-u postgres createdb -E UTF-8 -O redmine -T template0 redmine



# Remine l'installation
 Tout d'abord, téléchargez le code source de Redmine.

cd /opt/ wget https://www.redmine.org/releases/redmine-4.0.6.tar.gz


 Cependant, j'obtiens une erreur indiquant que le certificat a été révoqué.
 Il est possible de ne pas valider le certificat avec l'option --no-check-certificate ...
 Juste au cas où, j'ai téléchargé le fichier compressé par une autre méthode et je l'ai mis dans / opt /.

 Dégivrer. Et bouge.

tar zxvf redmine-4.0.6.tar.gz mv /opt/redmine-4.0.6 /var/lib/redmine

 Notez que si le dossier / var / lib / redmine existe, il sera déplacé vers /var/lib/redmine/redmine-4.0.6! Le déploiement décrit ci-dessous échouera.
 (Il y a des moments où Redmine Insco échoue et recommence)


 Créez un nouveau /var/lib/redmine/config/database.yml.
 Le contenu est le suivant.

production: adapter: postgresql database: redmine host: localhost username: redmine password: "Nom d'utilisateur Postgre=mot de passe redmine" encode: utf8


 Déployez avec la commande suivante.

cd /var/lib/redmine bundle install --without development test rmagick --path vendor/bundle bundle exec rake generate_secret_token RAILS_ENV=production bundle exec rake db:migrate RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data gem install passenger -v 5.1.12 --no-doc passenger-install-apache2-module --auto --languages ruby


# paramètres httpd
 DocumentRoot modifié dans /etc/httpd/conf/httpd.conf.

DocumentRoot "/var/lib/redmine/public"

 Être ...

 Et la commande suivante.

passenger-install-apache2-module --snippet


 Ensuite, créez un nouveau /etc/httpd/conf.d/redmine.conf.
 Le contenu est le suivant.

<Directory "/var/lib/redmine/public"> Require all granted

LoadModule passenger_module /usr/local/rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/passenger-5.1.12 PassengerDefaultRuby /usr/local/rbenv/versions/2.6.5/bin/ruby

 Cependant, LoadModule passager_module ... Ce qui suit est la valeur de retour lorsque `` `` passager-install-apache2-module --snippet``` est exécuté.


 Redémarrez Apache. Et configurez Apache pour qu'il démarre automatiquement lorsque le système d'exploitation est redémarré.

systemctl restart httpd systemctl enable httpd


 Tapez l'adresse IP de CentOS avec un navigateur, et si la figure ci-dessous est affichée, c'est OK.
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/52f89593-0188-90d8-d961-2ac378c2811f.png)
 Pour le moment, j'ai pu ** afficher l'écran d'accueil **, alors merci pour votre travail acharné.
 Comme l'article est devenu long, je vais laisser les paramètres initiaux dans Redmine tels que "Créer un compte" dans un article séparé.



# Si la communication http n'est pas possible ... Partie 1
 Il peut être bloqué par le pare-feu.
 Donc, je vais laisser la méthode de réglage des autorisations du pare-feu.

 Activez avec la commande suivante.

firewall-cmd --zone=public --add-service=http --permanent


```success```Ne vous inquiétez pas de la réponse!
 Il est défini jusqu'à ce que le pare-feu soit rechargé et réfléchi. La commande suivante.

firewall-cmd --reload


```success```Si est renvoyé, le paramètre est correct.

 Est-ce vrai? Est-ce vraiment le cas?
 C'est pourquoi la commande de confirmation.

firewall-cmd --zone=public --list-services


 OK si la réponse contient `` http ''.


# Si la communication http n'est pas possible ... Partie 2
 Peut être bloqué par SELinux.
 Donc, je vais laisser la méthode d'invalidation SELinux.


 Je pense qu'il vaut mieux activer SELinux, mais cet article vise à ** le rendre utilisable quand même **, alors désactivez-le.

 Alors, tout d'abord, SELinux est-il maintenant ** activé? ** ** Est-il désactivé? ** Tu dois savoir.
 Tapez la commande suivante.

getenforce


```disabled```Si tel est le cas, il a été invalidé, ce processus est donc terminé.

 S'il est activé, il sera désactivé. Modifiez le fichier de paramètres SELinux suivant avec un éditeur.

/etc/sysconfig/selinux

 Enregistrez sous `` SELinux = désactivé '' comme indiqué ci-dessous. Ensuite, redémarrez CentOS pour refléter les paramètres!
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/f7803484-f1ef-4b74-346b-a86c93630fc5.png)


# Serpentin
 Je pense que Postgre est meilleur que MySQL pour la base de données de Redmine.
 La lecture de la documentation officielle donne l'impression que Postgre est le standard de facto de Redmine.
 Le standard de facto signifie ... Avec Postgre, il y a de fortes chances qu '«il soit optimisé et fonctionne sans problème» et «il y ait beaucoup de savoir-faire en matière de résolution de problèmes»!

 Depuis que j'ai répété des essais et des erreurs, divers fichiers ont été foirés ... (´ ・ ω ・ `)
 Je veux pouvoir gérer Docker.


 Les défis restants.

 * Écrivons un article sur l'utilisation minimale de vi.
 * J'ai une bonne compréhension de ce qu'est SELinux. (Différence entre activer ou désactiver)
 * Activez SELinux avant d'utiliser Redmine.
 * Ne vous contentez pas de copier et coller des commandes, comprenez simplement à quoi elles servent.


# Article suivant
 [Faisons une configuration initiale minimale et un projet de test pour Redmine immédiatement après l'installation en Jamaïque](https://qiita.com/waokitsune/items/f214ad783c7dd073aaaf)


Recommended Posts

Installer l'outil de gestion de projet "Redmine" sur CentOS8 (la base de données est Postgre)
Installez Redmine 4.1.1 sur CentOS 7
Installez le client de messagerie Web Rainloop sur CentOS 8
Installez Golang sur CentOS 8
Installez Vertica 10.0 sur CentOS 6.10
Installez le dernier pilote matériel d'ELRepo sur CentOS
Installez PostgreSQL 12 sur Centos8
Installez Python 3 sur CentOS 7
Installez kuromoji sur CentOS7
Installez PostGIS 2.5.5 sur CentOS7
Installez jpndistrict sur CentOS 7
Installez MySQL 5.6 sur CentOS6 [Comment spécifier la version]
Installez ag (le chercheur d'argent) [sur CentOS / Ubuntu / Mac]
Installation de Smokeping sur CentOS7
Installez PostgreSQL 13 sur CentOS 7.5
Installez OpenFOAM v2006 sur CentOS
Installez Jenkins sur CentOS de Docker
Installez Apache sur CentOS sur VirtualBox
Installez Ruby 2.7 sur CentOS 7 (SCL)
Comment installer et configurer l'outil de surveillance "Graphite" sur Ubuntu
Installation de Java Open JDK 8 sur CentOS 7
Comment installer MariaDB 10.4 sur CentOS 8
Vérifiez la base de données H2 sur le Web
Installez apache 2.4.46 à partir des sources sur CentOS 7
Utilisez la commande iostat sur CentOS 8
Étapes pour installer devtoolset-6 sur CentOS 7
Installez Java 9 sur Windows 10 et CentOS 7