「redmine」カテゴリーアーカイブ

Rocky Linux 8.6 へ Redmine 5.0をインストールする。

はじめに

Rocky Linux 8.6(8.5で良いのですが。。。)へRedmine 5.0をインストールしている情報が見当たらなかったので、トライしてみることにしました。
入手のし易さからすると、Redmine 4.xをインストールする感じだったのですが、Rubyの2.7は通常メンテナンスフェーズを終了している様なので、Ruby 3.0以降を導入するのがベターと考えました。
更には、Ruby 3.0以降をサポートしているのは、Redmine 5.0以降という情報もあり、やっぱりこの選択肢を選ぶことになるな・・・という感じです。

まあ、色々と問題は出てくると思いますが、取り敢えず進めて行こうと思います。

彼是5年程前にRedmineをインストールした記録があります。
https://tech.godpress.net/?p=610
インターネット上で確認出来る資料と、過去を思い起こしながらインストールを進めたいと思います。

環境確認

今回インストールを行うサーバは、既に別の作業を進めていたこともあり、以下の構成が既に構成されています。

OS:Rocky Linux 8.6
DB:Mariadb 10.3

epel-releaseリポジトリはインストール済みでした。

一応、コマンドで確認しておきます。
# mysql –version
mysql Ver 15.1 Distrib 10.3.32-MariaDB, for Linux (x86_64) using readline 5.1

他に必要そうなものは入っていなかったみたいです。

インストール

基本的なパッケージのインストール

データベースのインストール方法については割愛します。

それでは必要なパッケージ類を問答無用でインストールしてしまいます。

# dnf install epel-release
# dnf groupinstall "Development Tools"
# dnf install openssl-devel readline-devel zlib-devel curl-devel
# dnf install --enablerepo=powertools libyaml-devel
# dnf install httpd httpd-devel
# dnf install --enablerepo=powertools ImageMagick ImageMagick-devel

ここまでは順調でしたが。。。。フォントのインストールが上手く行きません!?

# dnf install --enablerepo=powertools ipa-pgothic-fonts

色々探してみて、こんな感じでインストールします。

# rpm -Uvh https://pkgs.dyn.su/el8/base/x86_64/ipa-pgothic-fonts-003.03-14.el8.noarch.rpm

Rubyインストール(自己責任で!)
#あまりここの部分は信用しないように(^^;

さて、ここからは私の勘です!間違っていたらご容赦ください。
ちなみに、私はVM上に環境構築を行っています。
自信もないので、知れっとスナップショットを作成して、Rubyインストール前の環境を保存しておきます。

何故この様なことをするかと言いますと、他のサイトで記載されている方法はrpmを直接インストールする方法が取られています。
私は、パッケージのバージョン管理を極力省くためにdnfでのインストールを行う様にしています。(好みの問題ですね)
rpmでインストールした場合でもdnfでインストールの確認などを行えることは重々承知しているのですが、リポジトリとして管理されているかというと、そうではないでしょう(想像)。
ということは、更新があったことを知る術が無い。
後々の構成管理に矛盾が生じてしまうのではないか?

ということで、出来るだけdnfでインストールを行いたいと思っています。

今回、Rubyのサポート状況などを気にしていることもあり、出来れば3.0以降を導入したい訳ですが、果たして3.0以降を素直にインストールさせてくれるでしょうか?

# dnf list | grep -i ruby
kf5-kross-ruby.x86_64                                             21.08.3-1.el8                                             epel
libselinux-ruby.x86_64                                            2.9-5.el8                                                 appstream
mlt-ruby.x86_64                                                   6.24.0-4.el8                                              epel
munin-plugins-ruby.noarch                                         2.0.66-1.el8                                              epel
remctl-ruby.x86_64                                                3.17-4.el8                                                epel
ruby.i686                                                         2.5.9-109.module+el8.5.0+740+b85cbe0d                     appstream

結論としてRubyのバージョンは2.5.9と無残にもダメでした。
何かリポジトリを追加して・・・とか探していたのですが、これです!

# dnf module list ruby
メタデータの期限切れの最終確認: 1:57:02 時間前の 2022年06月04日 16時07分16秒 に実施しました。
Rocky Linux 8 - AppStream
Name                            Stream                             Profiles                              Summary
ruby                            2.5 [d]                            common [d]                            An interpreter of object-oriented scripting language
ruby                            2.6                                common [d]                            An interpreter of object-oriented scripting language
ruby                            2.7                                common [d]                            An interpreter of object-oriented scripting language
ruby                            3.0                                common [d]                            An interpreter of object-oriented scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

インストール対象のモジュール一覧を確認出来ます。
2.5がデフォルトになっている様ですが、3.0の存在も確認出来ました!

では!

# dnf module enable ruby:3.0
メタデータの期限切れの最終確認: 2:01:26 時間前の 2022年06月04日 16時07分16秒 に実施しました。
依存関係が解決しました。
=======================================================================================================================================================================================
 パッケージ                                  アーキテクチャー                           バージョン                                   リポジトリー                                サイズ
=======================================================================================================================================================================================
モジュールストリームの有効化中:
 ruby                                                                                   3.0

トランザクションの概要
=======================================================================================================================================================================================

これでよろしいですか? [y/N]: y
完了しました!

再度確認してみると。。。

# dnf module list ruby
メタデータの期限切れの最終確認: 2:01:37 時間前の 2022年06月04日 16時07分16秒 に実施しました。
Rocky Linux 8 - AppStream
Name                            Stream                             Profiles                              Summary
ruby                            2.5 [d]                            common [d]                            An interpreter of object-oriented scripting language
ruby                            2.6                                common [d]                            An interpreter of object-oriented scripting language
ruby                            2.7                                common [d]                            An interpreter of object-oriented scripting language
ruby                            3.0 [e]                            common [d]                            An interpreter of object-oriented scripting language

ヒント: [d]efault, [e]nabled, [x]disabled, [i]nstalled

ということで、3.0がenableになりましたね。
これで通常と同じようにインストールを行うと3.0をインストールすることが出来ます。

# dnf install ruby
メタデータの期限切れの最終確認: 2:01:50 時間前の 2022年06月04日 16時07分16秒 に実施しました。
依存関係が解決しました。
=======================================================================================================================================================================================
 パッケージ                                  アーキテクチャー                バージョン                                                       リポジトリー                       サイズ
=======================================================================================================================================================================================
インストール:
 ruby                                        x86_64                          3.0.2-140.module+el8.5.0+668+665814fa                            appstream                           88 k
依存関係のインストール:
 ruby-libs                                   x86_64                          3.0.2-140.module+el8.5.0+668+665814fa                            appstream                          3.2 M
 rubygem-json                                x86_64                          2.5.1-140.module+el8.5.0+668+665814fa                            appstream                           99 k
 rubygem-psych                               x86_64                          3.3.0-140.module+el8.5.0+668+665814fa                            appstream                           98 k
弱い依存関係のインストール:
 ruby-default-gems                           noarch                          3.0.2-140.module+el8.5.0+668+665814fa                            appstream                           79 k
 rubygem-bigdecimal                          x86_64                          3.0.0-140.module+el8.5.0+668+665814fa                            appstream                          101 k
 rubygem-bundler                             noarch                          2.2.22-140.module+el8.5.0+668+665814fa                           appstream                          443 k
 rubygem-io-console                          x86_64                          0.5.7-140.module+el8.5.0+668+665814fa                            appstream                           72 k
 rubygem-rdoc                                noarch                          6.3.1-140.module+el8.5.0+668+665814fa                            appstream                          458 k
 rubygems                                    noarch                          3.2.22-140.module+el8.5.0+668+665814fa                           appstream                          318 k

トランザクションの概要
=======================================================================================================================================================================================
インストール  10 パッケージ

ダウンロードサイズの合計: 5.0 M
インストール後のサイズ: 16 M
これでよろしいですか? [y/N]: y

いや~知らんかった(^^ゞ
まだまだ修行が足りませんねw

実はここで悩みました。
他のサイトでインストールしている手順と異なるので、どこまで進んだのか解らなくなってしまいました(^^ゞ
取り敢えず、Rubyがインストールされたことを確認します。

# ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]

おぉ~Ruby 3.0.2がインストールされています!
多分、この辺りから再開かな?ということで、bundlerをインストールしてみます。

# gem install bundler
Fetching bundler-2.3.15.gem
Successfully installed bundler-2.3.15
Parsing documentation for bundler-2.3.15
Installing ri documentation for bundler-2.3.15
Done installing documentation for bundler after 0 seconds
1 gem installed

なんだろう。。。もやもやする。。。

でも、取り敢えず進めます。

データベースの設定

データベース(Mariadb)にRedmine用のユーザとデータベースを作成します。

# mysql -u root -p
MariaDB [(none)]> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'XXXX';
MariaDB [(none)]> GRANT ALL ON *.* TO 'redmine'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> CREATE DATABASE redmine CHARACTER SET utf8mb4;
MariaDB [(none)]> exit
Bye

リアルタイムOS上でmsやμs単位でプログラムを組んできた人間にとって、データベースなんてプログラムの足を引っ張る近寄るべからずな存在であり、使えたら良いのにな~という夢の存在でもありましたが、やはり苦手ですw

Redmine本体のインストール

ここまでは全て準備作業でした。
やっとここからRedmineの本体をインストールします。
なんかお手軽インストールの方法もあるようなのですが、最新版ではまだサポートされている気配が無かったので、地道にインストール作業を続けています。
大抵、こういう時は何かの罠に嵌るんですよねぇ~
Linuxのインストールでは毎度のことですが、予定が狂う(TT)

泣き言はやってから!ということで進めます。
以前はSVNを使ってインストールを行いましたが、それも良いのですが、良かったのかどうなのか?というところもありますので、今回はダウンロードで素直に挑んでみたいと思います。

適当なディレクトリへ移動して、パッケージをダウンロードします。
本家からダウロードします。
こちらで対象を確認します。

# cd /home/pkg/redmine
# curl -O https://www.redmine.org/releases/redmine-5.0.1.tar.gz
# tar zxvf redmine-5.0.1.tar.gz
# cd /var/lib
# ln -s /home/pkg/redmine/redmine-5.0.1 redmine
# cd redmine
# bundle install --without development test

ここでエラーが発生しました。
どうも幾つかのパッケージがインストールされていなかったようです。

# dnf install ruby-devel
# dnf list | grep mariadb-devel

多分、これで実行できるはずですが、もしそれでも上手く行かない場合は以下も試してみてください。(多分、関係ないと思いますが・・・)

# dnf install rubygem-mysql2.x86_64

再度実行します。

# bundle install --without development test
<省略>
undle complete! 42 Gemfile dependencies, 73 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/bundle`
#

こんな感じで上手くインストール出来た様です。

セッションストア秘密鍵の生成を行います。

# bundle exec rake generate_secret_token

データベースへ接続するための設定を行います。

config/database.example.ymlをコピーしてconfig/database.ymlを作成します。
以下の示す様に、必要な項目を変更します。

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "my_password"

以下のコマンドを実行すると、データベース上にテーブルを作成してくれます。

RAILS_ENV=production bundle exec rake db:migrate

更に以下のコマンドを実行してデフォルトデータをデータベースへ登録します。

# RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data


Default configuration data loaded.

次に、passengerをインストールします。

# gem install passenger
# passenger-install-apache2-module –auto –languages ruby

しばらく時間が掛かります。
10分以上掛かったと思います。
次に、このコマンドで設定内容を確認します。

passenger-install-apache2-module –snippet

ここで表示される内容を記録しておきます。
その上で、Apacheの設定を追加します。

# vi /etc/httpd.conf/conf.d/redmine.conf
<Directory "/var/lib/redmine/public">
 Require all granted 
</Directory> 
# Passengerの基本設定。 
# passenger-install-apache2-module --snippet で表示された設定を記述。 
# 環境によって設定値が異なるため以下の3行はそのまま転記せず、必ず 
# passenger-install-apache2-module --snippet で表示されたものを使用すること。 
# 

LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.1.2/ buildout/apache2/mod_passenger.so 
<IfModule mod_passenger.c>
 PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.1.2
 PassengerDefaultRuby /usr/local/bin/ruby 
</IfModule> 
# Passengerが追加するHTTPヘッダを削除するための設定(任意)。 
# Header always unset "X-Powered-By" Header always unset "X-Runtime" 
# 必要に応じてPassengerのチューニングのための設定を追加(任意)。 
# 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library /config/apache/reference/)参照。 
PassengerMaxPoolSize 20 
PassengerMaxInstancesPerApp 4 
PassengerPoolIdleTime 864000 
PassengerHighPerformance on 
PassengerStatThrottleRate 10 
PassengerSpawnMethod smart 
PassengerFriendlyErrorPages off
# Passengerのログを別で出力する時はこんな感じです。記載しなくてもOKです。
# PassengerLogFile /var/log/httpd/passenger_error.log

RackBaseURI /redmine      <== これは後で追加の理由が解ります。

概ねこんな感じでOKですが、サイトによって記載が異なるので参考までに留めてください。

ディレクトリの権限を変更します。

chown -R apache:apache /var/lib/redmine

ここで、Aapcheを再起動?起動させればOKです。
念のために、フルセットで行っておきますね。

# systemctl stop httpd
# systemctl start httpd
# systemctl enable httpd

これだけやっておけばApacheの起動についてはOKでしょう!

ここで、このシステムをRedmineだけに使おうと思っていないので、少し変更してしまいます。

# cd /var/www/html
# ln -s /var/lib/redmine/public redmine

上記で既に記載していますが、/etc/httpd/conf.d/redmine.confに以下の設定を追加します。これでアクセス可能となります。

RackBaseURI /redmine
http://MyDomain/redmineへアクセスするとRedmineの画面が表示されるはず。。。だったのですが(^^ゞ
エラーが出たり色々ダメですw

他の環境ではここまでで行けるはずなのですが、私の環境では上手く行きませんでした。
こんな感じでエラーが出力されていました。

# tail -f passenger_error.log
[ N 2022-06-05 23:14:33.6804 10996/T8 Ser/Server.h:558 ]: [ServerThr.1] Shutdown finished
[ N 2022-06-05 23:14:33.6805 10996/Td Ser/Server.h:902 ]: [ApiServer] Freed 0 spare client objects
[ N 2022-06-05 23:14:33.6805 10996/Td Ser/Server.h:558 ]: [ApiServer] Shutdown finished
[ N 2022-06-05 23:14:33.7380 11018/T1 age/Wat/WatchdogMain.cpp:1373 ]: Starting Passenger watchdog...
[ N 2022-06-05 23:14:33.7587 11021/T1 age/Cor/CoreMain.cpp:1340 ]: Starting Passenger core...
[ N 2022-06-05 23:14:33.7588 11021/T1 age/Cor/CoreMain.cpp:256 ]: Passenger core running in multi-application mode.
[ N 2022-06-05 23:14:33.7662 11021/T1 age/Cor/CoreMain.cpp:1015 ]: Passenger core online, PID 11021
[ N 2022-06-05 23:14:34.7755 10996/T1 age/Cor/TelemetryCollector.h:531 ]: Message from Phusion: End time can not be before or equal to begin time
[ N 2022-06-05 23:14:34.8075 10996/T1 age/Cor/CoreMain.cpp:1325 ]: Passenger core shutdown finished
[ N 2022-06-05 23:14:36.8751 11021/T5 age/Cor/SecurityUpdateChecker.h:519 ]: Security update check: no update found (next check in 24 hours)

回避方法を記載しておきます。

# gem update strscan

どうもstrscanが古い様です。
新規にインストールしているところなのに不自然ではありますが、アップデートすることで問題の解決に至りました。不思議です。

再度アクセスすると画面が表示出来る様になりました。

このアップデートをする前は以下のコマンドを実行してブラウザでアクセスすると動作を確認出来ました。

bundle exec rails server -e production

こちらも、他のサイトでは以下の様になっていましたが、上記で動作を確認することが出来ました。

bundle exec rails server webrick -e production

自動でwebrickを認識する様で、必要ないみたいです。

サイトにアクセスしてからのID/パスワードはデフォルトで以下になります。

ID:admin
パスワード:admin

結構嵌りました。
もうしばらくすれば、安定したインストールを方法を記載したサイトが出てくると思います。
こちらのサイトは参考までに留めるのが良いかも知れませんね。

RedmineへBacklogs pluginを使ったかんばん機能を追加する。~その2

前回に引き続き、RedmineへBacklogs pluginをインストール手順を記します。

前回、必要なモジュール類をインストールしたのですが、いきなり以下の警告が表示されていました。

バックログが設定されていません。設定画面 管理 >プラグイン,からリンク設定をクリックして設定してください。フィールドを設定後、このページへ戻りツールを利用してください。

トップ画面からログインして、「管理」→「プラグイン」と進みます。
プラグインの画面にはRedmine Backlogsの項目が確認できるはずです。

「設定」をクリックしてこんな感じで指定します。

トラッカーが足りない場合は、トラッカーを事前に準備します。

タスクとして利用するトラッカーについても指定します。

ちなみに、既にお気づきかも知れませんが、メニューに「スクラム統計」の項目が追加されているのが解るのではないでしょうか?

新たにプロジェクトを作成します。

注意するべきポイントは、トラッカーの設定を行います。

忘れてしまいそうになるのですが。タスクとストーリは追加してください。

モジュールタブのBacklogsの先頭にあるチェックボックスをチェックしてください。
これで、モジュールは有効化されます。

作ったプロジェクトのタブに「バックログ」が表示されていれば、使う準備が完了した感じになると思います。

では早速「バックログ」タブを開いてみます。

何も登録されておらず、どうやって使うのか悩みますよね。

こんな感じでメニューが表示されますので、まずは新しいストーリーを作成します。

2つほど作ってみました。
今度は、新しいスプリントを作成します。

スプリントの内容と開始日と終了日を設定します。
そこに右のストーリーをドラッグ&ドロップで追加していきます。

あれ?ドラッグ&ドロップが出来ない・・・・(;゚Д゚)

バックログのタブを再度クリックして、画面の更新を行って下さい。
バグらしいです(~_~メ)

これで、ストーリーをドラッグ&ドロップしてスプリントに追加できます。

こんな感じになりますw

と、ここでタブに注目してください!
そう!!バックログのとなりに!おとなりさんに!!「かんばん」タブが追加されました\(^o^)/

長かった~(T_T)

というところで、かんばんタブを開いてみると・・・・

えぇ~~~~~~!?

続きはその内解決したら記載します。

 

RedmineへBacklogs pluginを使ったかんばん機能を追加する。~その1

やっと辿り着いたRedmineへのかんばん機能追加作業。

途中、AlminiumでRedmineのインストールを試みようとして、Alminiumが数年前から更新されておらずダメだったとか・・・深夜に気が付いて寝落ちしてしまったり・・・(´Д`)

先に書いておきます。
Redmineのインストールは本家が紹介している下記のページが最も参考になります。
私も記載しましたが、こちらを参考にしています。

https://blog.redmine.jp/articles/3_2/install/centos/

ちなみに本家のインストール説明ページはこちらです。

https://redmine.jp/install/

新しいRedmineをインストールする際には、本家のインストール説明ページから進むのが最も適していると思います。

私の書いたインストールに関するページは以下になります。

Redmineをインストールする(1/3)

Redmineをインストールする(2/3)

Redmineをインストールする(3/3)

ほとんど同じです(^^ゞ

さて、今回はBacklogs Pluginを用いたかんばん機能をインストールする手順について説明します。

ServersMan@VPSをご利用の方は、以下のページをまずは確認して下さい。
serversman@vpsでgithub使おうと思ったらエラーが( ゚Д゚)

標準でDNSの設定が行われていないがために、上手くインストールすることが出来ない可能性があり、上記のページにありますように/etc/resolv.confに以下の一行を追加してあげる必要があります。

nameserver 202.216.224.30

この設定は、githubを使うためにも必要ですが、インターネットに接続するためには本来必要な設定の一つになります。
契約されているサーバやプロバイダによってDNSサーバが異なる場合もありますので、適宜設定を考慮してください。

backlogsのインストール

Githubからbacklogs Pluginをダウンロードするんだよなぁ。
ということで、

# cd /var/lib/redmine/plugins/
# git clone git://github.com/backlogs/redmine_backlogs.git

多分、これで/var/lib/redmine/pluginsの下にredmine_backlogsのディレクトリが作成されているはず・・・(^^ゞ
実は、これが上手くダウンロード出来ませんでした。
その理由が、先に記載しているresolv.confが原因だったのです。
resolv.confの設定に問題がなく、且つダウンロードがダメだった場合には、以下の方法を試してみてください。

# git clone https://github.com/backlogs/redmine_backlogs.git

git://をhttps://に変更しただけです。
私はこのURL指定でダウンロードを確認しています。

で、プラグイン入れたんだから動くだろうと思ってブラウザで見てみたら、動いてない。。。。。
ダメっぽいので、Redmineを再起動してしまえ!とばかりに下記を設定してみた・・・

# touch /var/lib/redmine/tmp/restart.txt

でもダメだった(^^ゞ
再度調べ直して以下のコマンドが必要ということになった。

# cd /var/lib/redmine
# RAILS_ENV=production bundle exec rake redmine:backlogs:install

心配なので。。。

# bundle update

・・・・・・エラーがなんか出てるよw

どうも、やっぱりまだおかしいのです。

backlogsプラグインのGemfileを編集する必要があるみたい。

# vi /var/lib/redmine/plugins/redmine_backlogs/Gemfile

編集ポイントは以下の2行をコメントアウト。

#gem "nokogiri"

#  gem "capybara", "~> 1"

実は、エラーに書かれている部分をコメントアウトしただけ(^^ゞ
気を取り直して、以下のコマンドを実行

# cd /var/lib/redmine
# RAILS_ENV=production bundle exec rake redmine:backlogs:install

更に以下をやっていましたが、必要かどうかは解りません。

/var/lib/redmineへ移動してから

# bundle update

もしかすると、こっちだったかも?

# bundle install

これで、大丈夫!

インストール出来たみたい(^^ゞ

すぐに使えるんだろう!?と思ったら、使えない・・・
設定が必要みたいw
次回初期設定を記録します。

とちょっと待った!

実は、redmineのページにこんなのが出ていました。

これを無くすのは少し時間が掛かりました。

 

 

Redmineをインストールする。(3/3)

前回までの流れは以下を参照してください。

Redmineをインストールする(1/3)

Redmineをインストールする(2/3)

ここまでで、やっとRedmine本体のインストール準備が整いました。

長い道のりでしたが、道半ばです(^^ゞ

どんだけ長いねん( ゚Д゚)

まずはソース一式をサブバージョンから取得します。

# svn co https://svn.redmine.org/redmine/branches/3.2-stable /var/lib/redmine

データベースの接続設定

オフィシャルサイトを参考にしながら、以下の設定を行います。
オフィシャルサイトの内容はCentOS 7.xになっておりますが、この部分はそのままCentOS 6.xでも適用できるでしょう。(やってみてOKなら。。。w)

# cd /var/lib/redmine/config
# cp -p database.yml.example database.yml

必要のないところをコメントアウトして、以下を修正加工します。
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: "********"
  encoding: utf8

同様に、configuration.yml を作成します。

# cp configuration.yml.example configuration.yml
# vi configuration.yml

production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: "localhost"
      port: 25
      domain: "example.com"

  rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

domain項目は実際のFQDNを設定することになります。

gemパッケージのインストール

redmineをインストールしたディレクトリへ移動して、gemパッケージをインストールします。

# cd /var/lib/redmine
# bundle install --without development test --path vendor/bundle

思ったより少し時間が掛かります(^^ゞ
#うぅ~疲れてきた~https://tech.godpress.net/wp-admin/post.php?post=618&action=edit

初期設定と初期データを登録

#少し間が空きました。
#流石に割込みが入って続けられませんでした(^^ゞ

さてさて、どこまで進んだか見直しをしてから初期設定を進めます。

よく解らないけど、セッションの改竄防止を行うために以下のコマンドを実行する。

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

この辺りはおまじないですね。
デフォルトのデータ登録は後でもできるそうですが。。。

ほとんど自棄になってきてます(´Д`)

Passengerのインストールとか色々やってしまう。

本体のインストールとApache用のモジュールインストールを一気に行います。

# gem install passenger --no-rdoc --no-ri

# passenger-install-apache2-module --auto

Apache用設定内容の確認をします。

passenger-install-apache2-module --snippet

ここで出力された内容を次のApacheの設定で使用します。

Apacheの設定

# vi /etc/httpd.conf/conf.d/redmine.conf

# Redmineの画像ファイル・CSSファイル等へのアクセスを許可する設定。
# Apache 2.4のデフォルトではサーバ上の全ファイルへのアクセスが禁止されている。
<Directory "/var/lib/redmine/public">
  Require all granted
</Directory>

# Passengerの基本設定。
# passenger-install-apache2-module --snippet で表示された設定を記述。
# 環境によって設定値が異なるため以下の3行はそのまま転記せず、必ず
# passenger-install-apache2-module --snippet で表示されたものを使用すること。
#
LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.1.2/
buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.1.2
  PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>

# Passengerが追加するHTTPヘッダを削除するための設定(任意)。
#
Header always unset "X-Powered-By"
Header always unset "X-Runtime"

# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(https://www.phusionpassenger.com/library/config/apache/reference/)参照。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 864000
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
PassengerFriendlyErrorPages off

ハイライトしている部分は先のコマンド結果を反映してください。
基本的にはバージョン番号が違うだけだと思います。

Apacheを再起動します。

# service httpd restart

Apacheが自動起動する設定になっていない場合は、適当に設定してください。

そんでもって、この状態ではインストールされているフォルダーが/var/lib/redmineになっている。
当然、Apacheから見えない。
Redmineだけの環境にしようとするつもりは全くないので(^^ゞ
/var/www/html/redmineでアクセスできるように設定した。

単純にシンボリックリンク追加して

# cd /var/www/html
# ln -s /var/lib/redmine/public redmine

/etc/httpd/conf.d/redmine.confに以下の設定を追加

RackBaseURI /redmine

Apacheの設定を変更したので、Apacheを再起動する。

# service httpd restart

で、https://MyDomain/redmineをブラウザで見てみると・・・出てきますw

ここまでが、Redmineのインストールです。

かんばん機能をBacklogs Pluginで実現するところまで持っていきたいので、それが出来たら次の更新を追加する予定です。

ここまでの流れを以下にリンクします。

Redmineをインストールする(1/3)

Redmineをインストールする(2/3)

Redmineをインストールする(3/3)

serversman@vpsでgithub使おうと思ったらエラーが( ゚Д゚)

ServersMan@VPSのCentOS 6.xを使っていて、githubからクローンを作ろうと思ったら何かエラーが発生してどうにもならない・・・

Initialized empty Git repository in /var/lib/redmine/plugins/redmine_backlogs/.git/
error: Couldn't resolve host 'github.com' while accessing https://github.com/backlogs/redmine_backlogs.git/info/refs

おろおろしていて、iptablesで制限掛かっているのかな?とか考えて、一度iptablesを止めてみたりしたのだが改善されない。

うーん((+_+))と悩んでいると、resolv.confの設定が何やら怪しい(~_~メ)

ふと覗いてみると、無い・・・設定が・・・

nameserverの設定が成されていないじゃないか!!

よく今まで何か取ってこれていたなぁ~とか思いながら、調べてみたがどこを設定すれば良いのか解らない。

DNSサーバあるよなぁ~とか思ったり、某社のDNSサーバを設定するか・・・とか思いながら、思い出した!
以前にもこんなことがあって、resolv.confの設定をやった記憶が・・・・

絶対忘れていると、過去に設定したマシンの/etc/resolv.confを覗いてみた。

ありましたよ\(^o^)/

nameserver 202.216.224.30

これが無いとダメなのねw

redmineでbacklogs pluginを追加しようとして悩んだ挙句、結果はこんな寂しい原因でした。

redmineのpluginsに移動して、叩いたら行けました。

#git clone https://github.com/backlogs/redmine_backlogs.git
Initialized empty Git repository in /var/lib/redmine/plugins/redmine_backlogs/.git/
remote: Counting objects: 22229, done.
remote: Total 22229 (delta 0), reused 0 (delta 0), pack-reused 22228
Receiving objects: 100% (22229/22229), 11.00 MiB | 1.67 MiB/s, done.
Resolving deltas: 100% (14057/14057), done.

良かった\(^o^)/

Redmineをインストールする。(2/3)

前回に引き続きRedmineのインストールを続けます。

前回の記事はこちら(Redmineをインストールする。(1/3))

さて続けます。

Rubyのインストール

現時点で最新のRedmine 3.2は、Ruby 2.2の最新版を適用する必要がある様です。
本ページを執筆中のRubyは2.4が提供されていますがオフィシャルサイトからRuby 2.2の最新版をダウンロードします。

Rubyのオフィシャルサイト・ダウンロードページでRuby 2.2の最新版URLを確認してください。

適当なディレクトリへ移動してから、以下のコマンドを実行するとダウンロードされます。

# curl -O https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.6.tar.gz

ダウンロードしたパッケージを解凍→コンパイルします。

# tar zxvf ruby-2.2.6.tar.gz
# cd ruby-2.2.6
# ./configure --disable-install-doc
# make
# make install
# cd ..
# ruby -v
ruby 2.2.6p396 (2016-11-15 revision 56800) [x86_64-linux]

こんな感じでruby -vでバージョン情報が出ればOK!

bundlerのインストール?をするらしいので。。。。

# gem install bundler --no-rdoc --no-ri
Fetching: bundler-1.14.4.gem (100%)
Did you know that maintaining and improving Bundler and RubyGems.org costs more than $25,000 USD every month? Help us keep the gem ecosystem free for everyone by joining the hundreds of companies and individuals who help cover these costs: https://ruby.to/support-bundler
Successfully installed bundler-1.14.4
1 gem installed

こんな感じでインストール

PostgreSQLの設定

オフィシャルサイトでは以下のコマンドを実行する様に記載されています。

# postgresql-setup initdb

私の環境では、postgresql-setupコマンドが存在しませんでしたので、以下のコマンドを実行しました。

# /etc/rc.d/init.d/postgresql initdb

/var/lib/pgsql/data/pg_hba.confファイルを開いて、こんな感じで編集します。(2行追加)

vi /var/lib/pgsql/data/pg_hba.conf

# Put your actual configuration here
# ----------------------------------
#
# If you want to allow non-local connections, you need to add more
# "host" records. In that case you will also need to make PostgreSQL listen
# on a non-local interface via the listen_addresses configuration parameter,
# or via the -i or -h command line switches.
#
host    redmine         redmine         127.0.0.1/32            md5
host    redmine         redmine         ::1/128                 md5

PostgreSQLを起動し、自動機能の設定を行います。

# service postgresql start
# chkconfig postgresql on

移動してredmineユーザがposgreSQLを使用できるようにユーザを新規に作成します。

# cd /var/lib/pgsql/
# sudo -u postgres createuser -P redmine
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) y

Redmine用データベースの作成

sudo -u postgres createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine

これで一通りRedmine本体をインストールするための下準備が完成しました。

次こそ、Redmine本体のインストール作業に入ります。
次回はこちら(Redmineをインストールする(3/3)

ここまでの流れを以下にリンクしておきます。

Redmineをインストールする(1/3)

Redmineをインストールする(2/3)

Redmineをインストールする(3/3)

 

Redmineをインストールする。(1/3)

既に記録したものと思い込んでいたが、Redmineのインストール方法を記載していなかった。

ということで、今回はRedmineをインストールしてみる。

Redmineとは

Redmineはプロジェクト管理を行うためおソフトウェアである。
プロジェクトにおける各種の文書管理やスケジュール管理などが可能である。
プロジェクトで使うからと言って、大規模なファイルを共有するためのシステムではない。
大規模なファイルの保管は別途管理方法を考えることをお勧めする。

以前に私が使用した時には、画像がたくさん含まれているドキュメントファイルを共有しようと思い、1GB以上のファイルをRedmineで保管していたのですが、運用上宜しい状態とは言えなかった。
また、アップロード/ダウンロード共にそれ程速いとは言えなかった。
多分、数十MB~最大でも2~300MB程度までのファイルを扱うに留めることが妥当ではないだろうか?
実際に多くのファイルは数MB程度のファイル・・・つまりは、メールでやり取りするファイルサイズを少し上回る程度のファイルを管理する程度が使い勝手良さそうな気がしている。

各種の機能に関しては後述するとして、まずはインストールの方法を記載する。

対象機材:

OS:CentOS 6.8

どうも利用したCentOS 7.xのクラウドサーバは安定性に欠けると判断した。
その為、已む無く今更ながら・・・・・6.xを使用する。

実際に使用したクラウドサーバのスペックは最低限の所謂ワンコインサーバで実装している。
当然、環境が充実していることに越したことはないが、それでも十分に動くんだ~と言えるくらいにはなるだろう。

DB(データベース):MySQL 5.1.73

標準でインストールされている環境もあるかと思いますが。。。
後ほど説明しますね。

Webサーバ:Apache 2.2.15

標準的ですね。
インストールされていないかったら、yum install httpd httpd-develでインストールしちゃいましょうw。ということで、こちらも後ほど説明します。

取りあえずこんなものがインストールされていると良いのですが、簡単なインストール方法は後述します。
既にインストールが完了している方は、適宜読み飛ばしてください。

インストール前準備

インストールを行う前に、SELinuxを一時的に無効化してください。
SELinxを無効化する方法としては、2つの方法があります。

1)SELinuxの一時的停止

この方法では、SELinuxを一時的に停止させることが出来ます。
システムをリブートするとSELinuxは有効状態に戻ります。

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive
#

まずは、getenforceで現在の状態を確認しています。
Enforceingとなっている場合は、SELinuxが有効になっています。

setenforce 0とすることで、一時的にSELinxを無効化しています。
設定が行われたことを確認するために、再度getenforceを行います。
Permissiveとなっていれば、SELinuxは一時的に無効化されています。

厳密には、Permissiveの状態においてSELinuxは無効化されているというよりは、監視モード(セキュリティ上ガードが掛からないが、監視は行っている状態)になっているという理解の方が正しいかと思います。
実は、この方法を取りながら、ログを確認してセキュリティの許可設定を行う情報を収集するなどの目的に使用することがあります。

今回は、単にSELinuxの一時的無効化だけの為に使用する方法を記載します。

ついでに、SELinuxをPermissive状態からEnforceingに戻す場合は、以下のコマンドを実行します。

# getenforce
Permissive
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#

2)SELinuxの恒久的無効化

SELinuxを恒久的に無効化する方法について説明します。

# vi /etc/sysconfig/selinux

以下ファイルの編集

SELINUX=enforcing <==ここを編集

SELINUX=disabled  <==変更後

サーバを再起動すると無効化(disabled)の状態になります。

リポジトリの追加

標準のリポジトリにRedmaineは含まれておりません。
その為、EPELレポジトリを使えるようにする必要があります。

yum install epel-release

一応そのまま使用します。
毎回EPELリポジトリを参照するのが邪魔になる時には、/etc/yum.repos.d/epel.repoの[epel]に記載されているenabled=1を0に変更してください。

yumを使用する際、明示的にEPELリポジトリを指定しない限り、EPELリポジトリを参照することが無くなります。

インストール作業

Redmineは幾つかのパッケージを使用して構築されています。
その為、Redmineをインストールするには関連する幾つかのパッケージをインストールしてあげる必要があります。

開発環境のインストール

まずは手始めに開発環境(コンパイラ等)をインストールすることになります。

# yum groupinstall "Development Tools"

CとC++だけ入れても良かったのですが、ひとまとめに入れてしまいました。

RubyとPassengerのビルドに必要な環境の整備

よく解りませんが、opennsslとかzlibとかの開発環境をインストールしちゃいます。

# yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel

データベース環境のインストール

データベースにはMySQLを使用します。
CentOS 7ではMariaDBですかね?

yum -y install mysql-server mysql-devel

私の環境では既にmysql-serverがインストールされていたのですが、開発用のファイルがターゲットマシンにインストールされていなかったのでmysql-develをインストールしました。

Redmineのバージョンによってオフィシャルで紹介されているデータベースの環境がことなります。

今回はPostgreSQLを使用します。

# yum -y install postgresql-server postgresql-devel

Web環境のインストール

Apacheのインストールを行います。
環境によっては既にApacheがインストールされている場合もあります。
私の環境では既にhttpdがインストールされていたのですが、開発用のhttpd-develが未インストールでした。
インストール方法は以下の通りです。

yum install httpd httpd-devel

画像編集環境とフォントのインストール

Redmineでは画像編集にImageMagickを使っています。
そして日本語フォントを準備する必要があります。

# yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts

※2022年6月現在のメモ
※ipa-pgothic-fontsをyum/dnfでインストール出来ない。Rocky Linuxで確認。
※対策は以下
※rpm -Uvh https://pkgs.dyn.su/el8/base/x86_64/ipa-pgothic-fonts-003.03-14.el8.noarch.rpm

そろそろ疲れてきました・・・・当初1000文字程度で一旦区切りを付けようと思っていたのがいつの間にか3000文字を超えています(^^ゞ

ここからのインストールでは、少し手間が掛かります。
つづきは次回に回します。

次回(Redmineをインストールする。(2/3))を参照ください。