Redmineのインストール

課題管理ツール(ITS)、Redmineをインストールします。

基本的にRedmine.jpの情報の通りにインストールすれば大丈夫だと思います。

下準備の下準備(RubyとPostgreSQLのインストール)

Redmineの実行にはRubyとPostgreSQLが必要(&推奨)とされているので、これらをあらかじめインストールしておきます。



下準備(色々なパッケージのインストール)

RubyとPostgreSQLの準備が出来たら、RubyおよびRedmineの実行に必要なもろもろのライブラリやパッケージをまとめてインストール。

yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts

yumでインストールします。

[root@sakura ~]# yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel libffi-devel ImageMagick ImageMagick-devel ipa-pgothic-fonts
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: ftp.iij.ad.jp
 * epel: mirror.dmmlabs.jp
 * extras: ftp.iij.ad.jp
 * updates: ftp.iij.ad.jp
パッケージ 1:openssl-devel-1.0.2k-8.el7.x86_64 はインストール済みか最新バージョンです
パッケージ readline-devel-6.2-10.el7.x86_64 はインストール済みか最新バージョンです
パッケージ zlib-devel-1.2.7-17.el7.x86_64 はインストール済みか最新バージョンです
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ImageMagick.x86_64 0:6.7.8.9-15.el7_2 を インストール
--> 依存性の処理をしています: libwmflite-0.2.so.7()(64bit) のパッケージ: ImageMagick-6.7.8.9-15.el7_2.x86_64
 :
(中略)
 :
--> 依存性の処理をしています: freetype-devel のパッケージ: ImageMagick-devel-6.7.8.9-15.el7_2.x86_64
--> 依存性の処理をしています: bzip2-devel のパッケージ: ImageMagick-devel-6.7.8.9-15.el7_2.x86_64
---> パッケージ ipa-pgothic-fonts.noarch 0:003.03-5.el7 を インストール
---> パッケージ libcurl-devel.x86_64 0:7.29.0-42.el7_4.1 を インストール
base/7/x86_64/filelists_db                                                                                                                                                                                                         | 6.7 MB  00:00:00
updates/7/x86_64/filelists_db                                                                                                                                                                                                      | 4.2 MB  00:00:00
---> パッケージ libffi-devel.x86_64 0:3.0.13-18.el7 を インストール
---> パッケージ libyaml-devel.x86_64 0:0.1.4-11.el7_0 を インストール
 :
(中略)
 :
---> パッケージ libXfont.x86_64 0:1.5.2-1.el7 を インストール
---> パッケージ libfontenc.x86_64 0:1.1.3-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

==========================================================================================================================================================================================================================================================
 Package                                                             アーキテクチャー                                      バージョン                                                        リポジトリー                                            容量
==========================================================================================================================================================================================================================================================
インストール中:
 ImageMagick                                                         x86_64                                                6.7.8.9-15.el7_2                                                  base                                                   2.1 M
 :
(中略)
 :
 xorg-x11-proto-devel                                                noarch                                                7.7-20.el7                                                        base                                                   284 k

トランザクションの要約
==========================================================================================================================================================================================================================================================
インストール  6 パッケージ (+32 個の依存関係のパッケージ)

総ダウンロード容量: 22 M
インストール容量: 65 M
Downloading packages:
(1/38): ImageMagick-devel-6.7.8.9-15.el7_2.x86_64.rpm                                                                                                                                                                              | 100 kB  00:00:00
(2/38): bzip2-devel-1.0.6-13.el7.x86_64.rpm                                                                                                                                                                                        | 218 kB  00:00:00
 :
(中略)
 :
(36/38): ghostscript-9.07-28.el7_4.2.x86_64.rpm                                                                                                                                                                                    | 4.3 MB  00:00:01
(37/38): poppler-data-0.4.6-3.el7.noarch.rpm                                                                                                                                                                                       | 2.2 MB  00:00:00
(38/38): urw-fonts-2.4-16.el7.noarch.rpm                                                                                                                                                                                           | 3.0 MB  00:00:00
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計                                                                                                                                                                                                                      9.1 MB/s |  22 MB  00:00:02
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : xorg-x11-proto-devel-7.7-20.el7.noarch                                                                                                                                                                                   1/38
  インストール中          : libICE-1.0.9-9.el7.x86_64                                                                                                                                                                                                2/38
 :
(中略)
 :
  インストール中          : libcurl-devel-7.29.0-42.el7_4.1.x86_64                                                                                                                                                                                  37/38
  インストール中          : ipa-pgothic-fonts-003.03-5.el7.noarch                                                                                                                                                                                   38/38
  検証中                  : xorg-x11-proto-devel-7.7-20.el7.noarch                                                                                                                                                                                   1/38
  検証中                  : libICE-1.0.9-9.el7.x86_64                                                                                                                                                                                                2/38
 :
(中略)
 :
  検証中                  : libXau-devel-1.0.8-2.1.el7.x86_64                                                                                                                                                                                       37/38
  検証中                  : 1:xorg-x11-font-utils-7.5-20.el7.x86_64                                                                                                                                                                                 38/38

インストール:
  ImageMagick.x86_64 0:6.7.8.9-15.el7_2   ImageMagick-devel.x86_64 0:6.7.8.9-15.el7_2   ipa-pgothic-fonts.noarch 0:003.03-5.el7   libcurl-devel.x86_64 0:7.29.0-42.el7_4.1   libffi-devel.x86_64 0:3.0.13-18.el7   libyaml-devel.x86_64 0:0.1.4-11.el7_0

依存性関連をインストールしました:
  OpenEXR-libs.x86_64 0:1.7.1-7.el7        bzip2-devel.x86_64 0:1.0.6-13.el7         cups-libs.x86_64 1:1.6.3-29.el7       freetype-devel.x86_64 0:2.4.11-15.el7      ghostscript.x86_64 0:9.07-28.el7_4.2  ghostscript-devel.x86_64 0:9.07-28.el7_4.2
  ghostscript-fonts.noarch 0:5.50-32.el7   ilmbase.x86_64 0:1.0.3-7.el7              jasper-devel.x86_64 0:1.900.1-31.el7  lcms2.x86_64 0:2.6-3.el7                   libICE.x86_64 0:1.0.9-9.el7           libICE-devel.x86_64 0:1.0.9-9.el7
  libSM.x86_64 0:1.2.2-2.el7               libSM-devel.x86_64 0:1.2.2-2.el7          libX11-devel.x86_64 0:1.6.5-1.el7     libXau-devel.x86_64 0:1.0.8-2.1.el7        libXext-devel.x86_64 0:1.3.3-3.el7    libXfont.x86_64 0:1.5.2-1.el7
  libXt.x86_64 0:1.1.5-3.el7               libXt-devel.x86_64 0:1.1.5-3.el7          libfontenc.x86_64 0:1.1.3-3.el7       libjpeg-turbo-devel.x86_64 0:1.2.90-5.el7  librsvg2.x86_64 0:2.40.16-1.el7       libtiff-devel.x86_64 0:4.0.3-27.el7_3
  libtool-ltdl.x86_64 0:2.4.2-22.el7_3     libwmf-lite.x86_64 0:0.2.8.4-41.el7_1     libxcb-devel.x86_64 0:1.12-1.el7      libyaml.x86_64 0:0.1.4-11.el7_0            poppler-data.noarch 0:0.4.6-3.el7     urw-fonts.noarch 0:2.4-16.el7
  xorg-x11-font-utils.x86_64 1:7.5-20.el7  xorg-x11-proto-devel.noarch 0:7.7-20.el7

完了しました!
[root@sakura ~]#

PostgreSQLにRedmine用のユーザーとデータベースを作成

postgresユーザーでユーザーredmineを作成します。

[root@sakura ~]# su - postgres
最終ログイン: 2018/04/01 (日) 02:04:50 JST日時 pts/2
-bash-4.2$
-bash-4.2$ createuser -P redmine
新しいロールのためのパスワード: <<< redmineユーザ用のパスワード >>>
もう一度入力してください: <<< redmineユーザ要のパスワード >>>
パスワード: <<< postgres のパスワード >>>
-bash-4.2$

続いてデータベースの作成。

-bash-4.2$ createdb -E UTF-8 -l ja_JP.UTF-8 -O redmine -T template0 redmine
パスワード:
-bash-4.2$

念のため入れることを確認しときます。

-bash-4.2$ psql redmine -U redmine
ユーザ redmine のパスワード:
psql (9.2.23)
"help" でヘルプを表示します.

redmine=>
redmine=>

大丈夫そうです。

pg_hba.confにアクセス制限の設定を追加しておきます。Redmineからアクセスを行うだけなら、下記の設定は無くても良いのですが、外部(VPN)からクライアントを使ってRedmineデータベースにアクセスするときのために設定します。

/var/lib/pgsql/pg_hba.conf
host    redmine         redmine         10.8.0.1/24             md5

/var/lib/pgsql/pg_hba.confに上記の1行を追記します。

-bash-4.2$ systemctl reload postgresql
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===
-bash-4.2$

設定の再読み込みを忘れずに。上の例だとpostgresユーザーでsystemctl reloadしていますので、rootユーザーのパスワードが要求されています。あまりよろしくないので、やっぱりsudoの設定しておいたほうがいいかも。

Redmineのインストール

redmine.orgのSubversionリポジトリから、コード一式をダウンロードします。

svn接続時に証明書のエラーが発生して、承認するかどうかを求められましたが「一時的に承認」だと上手くいかず「常に承認」でダウンロードできました。「拒否」すると接続斬られます。まぁ当たり前ですね。

[root@sakura ~]# svn co https://svn.redmine.org/redmine/branches/3.4-stable /var/apps/redmine
'https://svn.redmine.org:443' のサーバ証明書の認証中にエラーが発生しました:
 - 証明書は信頼のおける機関が発行したものではありません。証明書を手動で認証
   するためにフィンガープリントを用いてください!
証明書情報:
 - ホスト名: svn.redmine.org
 - 有効範囲: Sun, 08 Jan 2017 00:00:00 GMT から Wed, 08 Jan 2020 23:59:59 GMT まで
 - 発行者: Gandi, Paris, Paris, FR
 - フィンガープリント: ab:f1:c8:b7:69:a6:99:bd:20:c1:59:a4:5f:60:9e:27:2d:81:82:b7
拒否しますか (R)、一時的に承認しますか (t)、常に承認しますか (p)? p
A    /var/apps/redmine/test
A    /var/apps/redmine/test/unit
A    /var/apps/redmine/test/unit/document_test.rb
A    /var/apps/redmine/test/unit/issue_import_test.rb
A    /var/apps/redmine/test/unit/repository_git_test.rb
 :
(中略)
 :
A    /var/apps/redmine/public/favicon.ico
A    /var/apps/redmine/public/htaccess.fcgi.example
 U   /var/apps/redmine
リビジョン 17254 をチェックアウトしました。
[root@sakura ~]#

ダウンロード先は/var/apps/redmineです。

データベース接続先の設定ファイル編集

redmineをダウンロードしたディレクトリにconfig/database.yml.exampleというファイルがあるので、これをdatabase.ymlにリネーム(コピー)してから編集します。

[root@sakura config]# cp database.yml.example database.yml
[root@sakura config]# vi database.yml

コピーしたらdatabase.ymlを編集し、productionのセクションにあるデータベース接続先をローカルのPostgreSQLにつくったredmineデータベースに変更します。

/var/apps/redmine/config/database.ymlproduction:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: redmine
  encoding: utf8

diffとってみました。

[root@sakura config]# diff database.yml.orig database.yml
6c6
<   adapter: mysql2
---
>   adapter: postgresql
9,10c9,10
<   username: root
<   password: ""
---
>   username: redmine
>   password: redmine
[root@sakura config]#

メールと日本語設定

続いて、同じくconfigディレクトリにあるconfiguration.yml.exampleをconfiguration.ymlにリネーム(コピー)し、メールの設定とPDFファイル等で日本語を使用する場合の日本語フォントの設定を行います。

[root@sakura config]# cp configuration.yml.example configuration.yml
[root@sakura config]# vi configuration.yml

まずはメールの設定。ここは環境によるところが大きいのでとりあえずsendmailにしておきます。

  email_delivery:
    delivery_method: :sendmail

日本語フォントの設定は設定ファイルに書かれた内容に従います。ipa-pgothicをインストールしたのでそのフォントを指定します。

  # Examples for Japanese:
  #   Windows:
  #     rmagick_font_path: C:\windows\fonts\msgothic.ttc
  #   Linux:
  #     rmagick_font_path: /usr/share/fonts/ipa-mincho/ipam.ttf
  #
  rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf

diffとっておきます。

[root@sakura config]# diff configuration.yml.orig configuration.yml
15a16
>     delivery_method: :sendmail
205c206
<   rmagick_font_path:
---
>   rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
[root@sakura config]#

Redmine自体の設定はとりあえずこれで終了。

必要なパッケージのインストール

ここからはRedmineの実行に必要なパッケージなどをインストールしていきます。

とりあえず色々と使うことの多い、Bundlerというパッケージ管理ツールをインストールします。

[root@sakura ~]# gem install bundler
Fetching: bundler-1.16.1.gem (100%)
Successfully installed bundler-1.16.1
Parsing documentation for bundler-1.16.1
Installing ri documentation for bundler-1.16.1
Done installing documentation for bundler after 5 seconds
1 gem installed
[root@sakura ~]#

続いて、bundleコマンドでRedmineの実行に必要なRubyのパッケージをインストールします。

[root@sakura redmine]# bundle install --without development test --path vendor/bundl
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies....
Fetching rake 12.3.1
Installing rake 12.3.1
Fetching i18n 0.7.0
 :
(中略)
 :
Fetching mimemagic 0.3.2
Installing mimemagic 0.3.2
Fetching mysql2 0.4.10
Installing mysql2 0.4.10 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /var/apps/redmine/vendor/bundl/ruby/2.5.0/gems/mysql2-0.4.10/ext/mysql2
/root/.rbenv/versions/2.5.0/bin/ruby -r ./siteconf20180403-18453-atg3yf.rb extconf.rb
checking for rb_absint_size()... yes
checking for rb_absint_singlebit_p()... yes
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for rb_thread_blocking_region()... no
checking for rb_wait_for_single_fd()... yes
checking for rb_hash_dup()... yes
checking for rb_intern3()... yes
checking for rb_big_cmp()... yes
-----
Using mysql_config at /bin/mysql_config
-----
checking for mysql.h... yes
checking for errmsg.h... yes
checking for SSL_MODE_DISABLED in mysql.h... no
checking for MYSQL_OPT_SSL_ENFORCE in mysql.h... yes
checking for MYSQL.net.vio in mysql.h... no
checking for MYSQL.net.pvio in mysql.h... yes
checking for MYSQL_ENABLE_CLEARTEXT_PLUGIN in mysql.h... yes
-----
Setting libpath to /usr/lib64/
-----
creating Makefile

current directory: /var/apps/redmine/vendor/bundl/ruby/2.5.0/gems/mysql2-0.4.10/ext/mysql2
make "DESTDIR=" clean

current directory: /var/apps/redmine/vendor/bundl/ruby/2.5.0/gems/mysql2-0.4.10/ext/mysql2
make "DESTDIR="
compiling client.c
In file included from ./mysql2_ext.h:35:0,
                 from client.c:1:
client.c: 関数 ‘rb_set_ssl_mode_option’ 内:
./client.h:56:3: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
   mysql_client_wrapper *wrapper; \
   ^
client.c:118:3: 備考: in expansion of macro ‘GET_CLIENT’
   GET_CLIENT(self);
   ^
client.c:119:3: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
   int val = NUM2INT( setting );
   ^
client.c:145:1: 警告: 制御が非 void 関数の終りに到達しました [-Wreturn-type]
 }
 ^
client.c: トップレベル:
cc1: 警告: 認識できないコマンドラインオプション "-Wno-self-assign" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-constant-logical-operand" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-parentheses-equality" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-tautological-compare" です [デフォルトで有効]
compiling infile.c
compiling mysql2_ext.c
compiling result.c
result.c: 関数 ‘rb_mysql_result_alloc_result_buffers’ 内:
result.c:326:40: 警告: 互換性のないポインタ型からの代入です [デフォルトで有効]
     wrapper->result_buffers[i].is_null = &wrapper->is_null[i];
                                        ^
result.c:328:40: 警告: 互換性のないポインタ型からの代入です [デフォルトで有効]
     wrapper->result_buffers[i].error   = &wrapper->error[i];
                                        ^
result.c: トップレベル:
cc1: 警告: 認識できないコマンドラインオプション "-Wno-self-assign" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-constant-logical-operand" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-parentheses-equality" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-tautological-compare" です [デフォルトで有効]
compiling statement.c
statement.c: 関数 ‘rb_raise_mysql2_stmt_error’ 内:
statement.c:50:3: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
   VALUE rb_error_msg = rb_str_new2(mysql_stmt_error(stmt_wrapper->stmt));
   ^
statement.c:57:3: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
   rb_encoding *default_internal_enc = rb_default_internal_encoding();
   ^
In file included from ./mysql2_ext.h:35:0,
                 from statement.c:1:
statement.c: 関数 ‘execute’ 内:
./client.h:56:3: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
   mysql_client_wrapper *wrapper; \
   ^
statement.c:273:3: 備考: in expansion of macro ‘GET_CLIENT’
   GET_CLIENT(stmt_wrapper->client);
   ^
statement.c:405:13: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
             VALUE rb_val_as_string = rb_funcall(argv[i], intern_to_s, 0);
             ^
In file included from ./mysql2_ext.h:35:0,
                 from statement.c:1:
statement.c: 関数 ‘fields’ 内:
./client.h:56:3: 警告: ISO C90 は宣言とコードの混合を禁止しています [-Wdeclaration-after-statement]
   mysql_client_wrapper *wrapper; \
   ^
statement.c:481:3: 備考: in expansion of macro ‘GET_CLIENT’
   GET_CLIENT(stmt_wrapper->client);
   ^
statement.c: トップレベル:
cc1: 警告: 認識できないコマンドラインオプション "-Wno-self-assign" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-constant-logical-operand" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-parentheses-equality" です [デフォルトで有効]
cc1: 警告: 認識できないコマンドラインオプション "-Wno-tautological-compare" です [デフォルトで有効]
linking shared-object mysql2/mysql2.so
/bin/ld: -lmariadb が見つかりません
collect2: エラー: ld はステータス 1 で終了しました
make: *** [mysql2.so] エラー 1

make failed, exit code 2

Gem files will remain installed in /var/apps/redmine/vendor/bundl/ruby/2.5.0/gems/mysql2-0.4.10 for inspection.
Results logged to /var/apps/redmine/vendor/bundl/ruby/2.5.0/extensions/x86_64-linux/2.5.0-static/mysql2-0.4.10/gem_make.out

An error occurred while installing mysql2 (0.4.10), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.4.10'` succeeds before bundling.

In Gemfile:
  mysql2
[root@sakura redmine]#

なんか途中で、mysql2がどーのこーのと言われてインストールに失敗してしまいました。

このような場合、config/database.ymlのproductionセクション以外にもdevelopmentやtestセクションのデータベース接続先をPostgreSQLのredmineにしてあげれば大丈夫です(productionしか使わないと思いますが)。もしくは、bundile install –without development testのようにオプションを追加します。

[root@sakura redmine]# bundle install --without development test --path vendor/bundl
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x64-mingw32, x86-mswin32. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x64-mingw32 x86-mswin32`.
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies....
Using rake 12.3.1
Using i18n 0.7.0
 :
(中略)
 :
Fetching roadie 3.2.2
Installing roadie 3.2.2
Fetching roadie-rails 1.1.1
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundl`
[root@sakura redmine]#

インストールが終わったら、データベースの初期化やデフォルトデータの設定などを行います。

Redmineの初期設定とデータの登録

続けて、一気にデータベースの作成や必要なデータの登録などを行います。

[root@sakura redmine]# cd /var/apps/redmine/
[root@sakura redmine]# bundle exec rake generate_secret_token
[root@sakura redmine]# RAILS_ENV=production bundle exec rake db:migrate
[root@sakura redmine]# rake redmine:load_default_data RAILS_ENV="production"

まとめて書いちゃってますが、いろいろとログが流れます。順序的には、redmineのディレクトリに移動して、セッション改ざん防止用のトークンの作成、データベースの作成(マイグレ―ト)、そしてデフォルトデータの作成です。

とりあえずこれでRedmineのインストールは完了。Redmine単体で起動させることもできますが、Apacheとの連携を行います。

Apacheとの連携

当然ですが、Apacheがインストールされていることが前提です。

連携設定を行う場合、Apache httpdはあらかじめインストールしておいてください。

Apache httpdの準備が出来たら、Redmine(Ruby on Railsのアプリ)とApacheとの連携に使用するPassengerモジュールを導入します。

[root@sakura redmine]# gem install passenger
Successfully installed passenger-5.1.12
1 gem installed
Installing ri documentation for passenger-5.1.12...
Installing RDoc documentation for passenger-5.1.12...
[root@sakura redmine]# 

gemのインストールが終わったら、apache2用のpassengerをインストールします。passenger-install-apache2-moduleというコマンドが用意されているので、これを実行します。実行時にオプションで細かい入力をオフにするために–autoと–language rubyを忘れずに指定します。

[root@sakura redmine]# passenger-install-apache2-module --auto --languages ruby
Welcome to the Phusion Passenger Apache 2 module installer, v5.1.12.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort.

--------------------------------------------

Which languages are you interested in?

Override selection with --languages.

 ? ?  Ruby
   ?  Python
   ?  Node.js
   ?  Meteor

--------------------------------------------
 :
(中略)
 :
compiling /usr/local/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/passenger-5.1.12/src/ruby_native_extension/passenger_native_support.c
linking shared-object passenger_native_support.so

--------------------------------------------
Almost there!

Please edit your Apache configuration file, and add these lines:

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

After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!

Press ENTER when you are done editing.

--------------------------------------------

Validating installation...

 * Checking whether this Passenger install is in PATH... ?
 * Checking whether there are no other Passenger installations... (!)

   You are currently validating against Phusion Passenger 5.1.12, located in:

     /usr/local/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/passenger-5.1.12/bin/passenger

   Besides this Passenger installation, the following other
   Passenger installations have also been detected:

     /usr/local/.rbenv/shims/passenger

   Please uninstall these other Passenger installations to avoid
   confusion or conflicts.

 * Checking whether Apache is installed... ?
 * Checking whether the Passenger module is correctly configured in Apache...  ?

   You did not specify 'LoadModule passenger_module' in any of your Apache
   configuration files. Please paste the configuration snippet that this
   installer printed earlier, into one of your Apache configuration files, such
   as /etc/httpd/conf/httpd.conf.


Detected 0 error(s), 2 warning(s).
Press ENTER to continue.

--------------------------------------------

Deploying a web application

To learn how to deploy a web app on Passenger, please follow the deployment
guide:

  https://www.phusionpassenger.com/library/deploy/apache/deploy/

Enjoy Phusion Passenger, a product of PhusionR (www.phusion.nl) :-)
https://www.phusionpassenger.com

PassengerR is a registered trademark of Phusion Holding B.V.
[root@sakura redmine]#

passengerのインストール後にも表示されていましたが、passengerでRedmineと連携するための設定ファイルを/etc/httpd/conf.dディレクトリに下記の内容でredmine.confファイルを用意してください。

/etc/httpd/conf.d/redmine.conf
LoadModule passenger_module /usr/local/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/passenger-5.1.12/buildout/apache2/mod_passenger.so

<IfModule mod_passenger.c>
    PassengerRoot /usr/local/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/passenger-5.1.12
    PassengerDefaultRuby /usr/local/.rbenv/versions/2.5.0/bin/ruby
</IfModule>

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

Alias /redmine /var/apps/redmine/public

<Location /redmine>
    PassengerBaseURI /redmine
    PassengerAppRoot /var/apps/redmine
</Location>

最後にRedmineのディレクトリをapache権限で操作できるようにしておきます。

[root@sakura apps]# chown -R apache:apache /var/apps/redmine
[root@sakura apps]#
[root@sakura apps]# systemctl restart httpd

これでApacheを再起動して、Redmineにアクセスしてみます。

上記の設定の場合、URLはhttp://[サーバーのIPアドレス]/redmine でアクセスできます。

image

Redmineでhttpsのみを有効にする方法

イントラネットやVPN環境ではあまり需要がないかもしれませんが、httpsでのアクセスも可能です。基本的にApacheでSSLの設定が完了していれば、プロトコルにhttpsを指定することでRedmineにアクセスできます。アクセスをhttpsに限定したい場合は、/etc/httpd/conf.d/redmine.confのLocationディレクティブにSSLRequireSSLの設定を入れればOKです。

/etc/httpd/conf.d/redmine.conf<Location /redmine>
    SSLRequireSSL
    PassengerBaseURI /redmine
    PassengerAppRoot /var/apps/redmine
</Location>

Apacheを再起動すれば、SSLアクセスのみに限定することができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください