Redmine3.2構築メモ
- 公式サイトURL
- 参考URL
http://blog.redmine.jp/articles/3_2/install/centos/
バージョン情報
ここでは、以下のバージョンについて記載しています。
$ cat /etc/redhat-release CentOS release 5.11 (Final)
$ cat /etc/redhat-release CentOS release 6.7 (Final)
なお、記事作成時Redmineのバージョンは3.2.0です。
3.2.1以降へのバージョンアップは末尾に追記しました。
rubyインストール
CentOS5/CentOS6標準のrubyはバージョン1.8系なので、要件を満たすため2.2.4のパッケージを作成/インストールします。
- ソースダウンロード
http://www.ruby-lang.org/ja/downloads/
- 参考SPECファイル(OS標準と同じパッケージ名で作成/1.8系と共存する場合は要修正)
https://nazx.jp/o/SPECS/ruby.spec
rubyのmakeにはlibyaml-develが必要なので、CentOS5の場合はrpmforgeからインストールしておきます。
# yum --enablerepo=rpmforge install libyaml-devel
自前パッケージのインストール後。
$ ruby -v ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux] $ gem -v 2.4.5.1
bundlerをインストールします。
# gem install bundler --no-document
オプション「--no-document」にてドキュメントのビルド/インストールを除外できます。
MySQL設定
MySQLは、OS標準のものを使用します。
設定はWordPressの使用時に行ったものと同じ内容でした。
以下の内容になっていることを確認/必要に応じて修正します。
$ more /etc/my.cnf [mysqld] ... character-set-server=utf8 [mysql] default-character-set=utf8
$ mysql -u root -p mysql> show variables like 'character_set%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.00 sec)
データベースを作成します。
以下の例ではDB名「reddb」、ユーザ名「redmine」、パスワード「PASSWORD」としていますので、適宜、変更してください。
$ mysql -u root -p mysql> create database reddb default character set utf8; mysql> grant all on reddb.* to redmine@localhost identified by 'PASSWORD'; mysql> flush privileges; mysql> exit;
ImageMagickの入れ替え
CentOS5の場合、標準のImageMagick-develでは古過ぎるため、最新版をremiからインストールします。
なお、標準のImageMagickはアンインストールする必要がありますので、既に使用している場合は注意/予め削除してください。
# yum --enablerepo=remi,rpmforge install ImageMagick-last-devel
remiのパッケージを入れると、例えば、graphvizのバージョンがOS標準のものに固定され(依存関係を持ってい)ます。
プラグイン対応等で必要になるようであれば、公式サイトの最新版を個別にインストールした方が良いかもしれません。
graphvizは以下のファイルを取得しyumで管理することも可能です。
http://graphviz.org/graphviz-rhel.repo
ImageMagickの方は、rpmパッケージはあるものの、リポジトリ形式ではないため、localinstallするか自前でパッケージ管理することになります。
http://www.imagemagick.org/download/
https://github.com/webmproject/libwebp
Redmineインストール
SVNリポジトリからチェックアウト/取得します。
以下の例では「/var/lib/redmine」として作成しています。
# cd /var/lib # svn co http://svn.redmine.org/redmine/branches/3.2-stable redmine # cd redmine # cp config/database.yml.example config/database.yml # cp config/configuration.yml.example config/configuration.yml # bundle install --without development test --path vendor/bundle
データベース設定を行います。
--- /dev/null
+++ config/database.yml
@@ -0,0 +1,7 @@
+production:
+ adapter: mysql2
+ database: reddb
+ host: localhost
+ username: redmine
+ password: "PASSWORD"
+ encoding: utf8
必要に応じて「config/configuration.yml」に設定を追記/以下の例ではメール配送関係。
production: email_delivery: delivery_method: :smtp smtp_settings: address: "localhost" port: 25 domain: "example.jp"
データベースを初期化します。
# bundle exec rake generate_secret_token # RAILS_ENV=production bundle exec rake db:migrate
以下のメッセージが出力される場合htmlentitiesのバージョンが低いようです。
.../htmlentities/mappings/expanded.rb:465: warning: duplicated key at line 466 ignored: "inodot"
これはrubygems.org上のrbpdfがhtmlentities-4.3.1を要求してしまうため、htmlentitiesのみバージョンアップするのは困難そうです。
rbpdf (~> 1.19.0) was resolved to 1.19.0, which depends on htmlentities (= 4.3.1)
致命的な問題が発生する訳では無さそうなので、ログに出力されるのを無視してもよさそうです。
或いは個別に最新版をインストールする/パッチで回避する等の対応を行います。
- rbpdf公開サイト
https://github.com/naitoh/rbpdf
Gemfileを見る限りでは、htmlentitiesの依存関係は無さそうですが、こちらのインストールは試してはいません。
htmlentities-4.3.4の内容を参考に、パッチで解消しています。
--- vendor/bundle/ruby/2.2.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb.org
+++ vendor/bundle/ruby/2.2.0/gems/htmlentities-4.3.1/lib/htmlentities/mappings/expanded.rb
@@ -463,12 +463,10 @@
'incare' => 0x2105, # ? CARE OF
'infin' => 0x221e, # ∞ xhtml INFINITY
'inodot' => 0x0131, # ? dup LATIN SMALL LETTER DOTLESS I
- 'inodot' => 0x0131, # ? dup LATIN SMALL LETTER DOTLESS I
'int' => 0x222b, # ∫ xhtml INTEGRAL
'intcal' => 0x22ba, # ? INTERCALATE
'IOcy' => 0x0401, # Ё CYRILLIC CAPITAL LETTER IO
'iocy' => 0x0451, # ё CYRILLIC SMALL LETTER IO
- 'Iodot' => 0x0130, # ? LATIN CAPITAL LETTER I WITH DOT ABOVE
'Iogon' => 0x012e, # ? LATIN CAPITAL LETTER I WITH OGONEK
'iogon' => 0x012f, # ? LATIN SMALL LETTER I WITH OGONEK
'Iota' => 0x0399, # Ι dup xhtml GREEK CAPITAL LETTER IOTA
以下のコマンドでデフォルトデータをロード/インストール完了後にウェブ管理画面からも同等の操作が可能です。
# RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data
Passengerインストール
Redmineをapache上で動作させるため、Phusion Passenger(mod_rails for Apache)をインストールします。
# gem install passenger --no-document # passenger-install-apache2-module --auto
apacheのサブディレクトリとして使用するよう設定します。
バーチャルホストで使用する場合等のケースは、参考URL先を参照してください。
--- /dev/null
+++ /etc/httpd/conf.d/redmine.conf
@@ -0,0 +1,6 @@
+LoadModule passenger_module /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.26/buildout/apache2/mod_passenger.so
+<IfModule mod_passenger.c>
+ PassengerRoot /usr/local/lib/ruby/gems/2.2.0/gems/passenger-5.0.26
+ PassengerDefaultRuby /usr/local/bin/ruby
+ RackBaseURI /redmine
+</IfModule>
記述例は、以下のコマンドで出力可能です。
$ passenger-install-apache2-module --snippet
apacheを再起動させてインストール完了です。
# chown -R apache:apache /var/lib/redmine # ln -s /var/lib/redmine /var/www/html/redmine # service httpd configtest && service httpd restart
http://example.jp/redmine/としてアクセス可能なことを確認します。
管理者アカウント/パスワードがデフォルト「admin/admin」なので、アクセス出来次第、管理者アカウントのパスワードを変更します。
デフォルトデータをロードする場合、ログイン後、上部メニュー「管理」を押下し、ページ内の指示に従います。
バージョンアップ
Redmine3.2.1がリリースされたのでバージョンアップを行います。
- 参考URL
http://redmine.jp/guide/RedmineUpgrade/
データベース等のバックアップを取得の際は、上記記事を参考にされると良いでしょう。
また、バージョンアップに伴い「ロールと権限」に変更が行われる場合があるので、現在の設定を確認/スクリーンショットの取得等を行っておきます。
Redmineを非公開にします。
# rm /var/www/html/redmine && touch /var/www/html/redmine
最新のRedmineを取得/gemを更新します。
# cd /var/lib/redmine # svn update # grep ^== doc/CHANGELOG | head -2 == Redmine changelog == 2016-03-13 v3.2.1 # bundle update
データベースを更新/キャッシュとセッションを初期化します。
# RAILS_ENV=production bundle exec rake db:migrate # RAILS_ENV=production bundle exec rake redmine:plugins:migrate # bundle exec rake tmp:cache:clear tmp:sessions:clear
apacheを再起動/Redmineを公開させます。
# chown -R apache:apache /var/lib/redmine # service httpd restart # rm /var/www/html/redmine && ln -s /var/lib/redmine /var/www/html/redmine
「情報」画面によりバージョン情報を確認/「ロールと権限」を確認します。
Environment: Redmine version 3.2.1.stable.15273 Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux] Rails version 4.2.5.2 Environment production Database adapter Mysql2 SCM: Subversion 1.6.11 Git 1.7.1 Filesystem Redmine plugins: plantuml 0.3.0
Redmine3.2.2/3.2.3/3.2.4/3.2.5/3.2.6へのバージョンアップも同様に実施しました。
Environment: Redmine version 3.2.2.stable.15430 Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux] Rails version 4.2.5.2 Environment production Database adapter Mysql2 SCM: Subversion 1.6.11 Git 1.7.1 Filesystem Redmine plugins: full_text_search 0.0.1 plantuml 0.3.0
Environment: Redmine version 3.2.3.stable.15582 Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux] Rails version 4.2.5.2 Environment production Database adapter Mysql2 SCM: Subversion 1.6.11 Git 1.7.1 Filesystem Redmine plugins: full_text_search 0.0.1 plantuml 0.3.0
Environment: Redmine version 3.2.4.stable.16111 Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux] Rails version 4.2.7.1 Environment production Database adapter Mysql2 SCM: Subversion 1.6.11 Git 1.7.1 Filesystem Redmine plugins: full_text_search 0.0.1 plantuml 0.3.0
Environment: Redmine version 3.2.5.stable.16226 Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux] Rails version 4.2.7.1 Environment production Database adapter Mysql2 SCM: Subversion 1.6.11 Git 1.7.1 Filesystem Redmine plugins: full_text_search 0.0.1 plantuml 0.3.0
Environment: Redmine version 3.2.6.stable.16545 Ruby version 2.2.4-p230 (2015-12-16) [x86_64-linux] Rails version 4.2.7.1 Environment production Database adapter Mysql2 SCM: Subversion 1.6.11 Git 1.7.1 Filesystem Redmine plugins: full_text_search 0.0.1 plantuml 0.3.0