「redmine3.2」タグアーカイブ

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)

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))を参照ください。