Symfoware

Symfowareについての考察blog

Debian + JRuby + TomcatでRedmineを動作させる

JRubyでRedmineが動作することを知りました。
参考にしたのはこちらの記事です。

Redmineをwar化 (1) とりあえずRedmine+JRubyを動かす
http://u6k-apps.blogspot.jp/2012/10/redminewar-1-redminejruby.html

Debian 7 (Wheezy)に環境を構築してみます。



各種バージョン



動作させたバージョンは以下のとおりです。


Debian 7.1 (Wheezy)
MySQL 5.5.31
OpenJDK 1.7.0_03
JRuby 1.7.4
Redmine 2.3.1
Tomcat 7.0.28








MySQLのインストール



データベースにはMySQLを使用することにしました。
apt-getでインストールします。


# apt-get install mysql-server




インストール中、パスワードを聞かれます。
任意のパスワードを二回入力します。

209_01.png

209_02.png




# mysql -uroot -p[設定したパスワード]


でデータベースに接続できれば、インストール成功です。


事前にredmineで使用するデータベース「redmine(任意の名前)」を
作成しておきます。


mysql> CREATE DATABASE redmine CHARACTER SET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)





quitでmysqlコマンドを終了します。


mysql> quit
Bye











OpenJDKのインストール



apt-getでOpenJDKのインストールを行います。


# apt-get install openjdk-7-jdk




以下のコマンドでバージョンが表示できればインストール成功です。


# java -version
java version "1.7.0_03"
OpenJDK Runtime Environment (IcedTea7 2.1.7) (7u3-2.1.7-1)
OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)









JRubyのインストール



JRubyは最新版を使いたかったので、手動でインストールしました。

/usr/local/srcに、jruby-bin-1.7.4.tar.gzをダウンロードし、展開。
展開したファイルを/usr/local/jrubyに移動します。


# cd /usr/local/src/
# wget http://jruby.org.s3.amazonaws.com/downloads/1.7.4/jruby-bin-1.7.4.tar.gz
# tar zxf jruby-bin-1.7.4.tar.gz
# mv jruby-1.7.4 /usr/local/jruby




/usr/local/jruby/binにパスを通します。
.bash_profileに設定を記載。

# vi ~/.bash_profile



.bash_profileに記載する内容

PATH=$PATH:/usr/local/jruby/bin




source ~/.bash_profileで内容を反映。

# source ~/.bash_profile




jruby -vでJRubyのバージョンが表示されれば設定は成功しています。

# jruby -v
jruby 1.7.4 (1.9.3p392) 2013-05-16 2390d3b on OpenJDK 64-Bit Server VM 1.7.0_03-b21 [linux-amd64]









Redmineの取得



Redmineのファイルを取得し展開します。
展開したファイルを、/var/lib/redmineへ移動します。


# cd /usr/local/src/
# wget http://rubyforge.org/frs/download.php/76933/redmine-2.3.1.tar.gz
# tar zxf redmine-2.3.1.tar.gz
# mv redmine-2.3.1 /var/lib/redmine




/var/lib/redmine/に移動し、config/database.ymlを編集します。


# cd /var/lib/redmine/
# vi config/database.yml




config/database.ymlに記載する内容は以下の通り。


production:
  adapter: mysql2
  database: redmine(作成したデータベース)
  host: localhost
  username: root(MySQLのユーザー)
  password: Password(MySQLのパスワード)
  encoding: utf8




jgemコマンドで、bundlerをインストール。


# jgem install bundler
Fetching: bundler-1.3.5.gem (100%)
Successfully installed bundler-1.3.5
1 gem installed





bundleがインストールできたら、Redmineが依存しているライブラリをインストールします。
※/var/lib/redmineで実行します。

ちょっと長いですが、実行結果を全て載せておきます。


# bundle install --without development test
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
Installing rake (10.1.0)
Installing i18n (0.6.1)
Installing multi_json (1.7.7)
Installing activesupport (3.2.13)
Installing builder (3.0.0)
Installing activemodel (3.2.13)
Installing erubis (2.7.0)
Installing journey (1.0.4)
Installing rack (1.4.5)
Installing rack-cache (1.2)
Installing rack-test (0.6.2)
Installing hike (1.2.3)
Installing tilt (1.4.1)
Installing sprockets (2.2.2)
Installing actionpack (3.2.13)
Installing mime-types (1.23)
Installing polyglot (0.3.3)
Installing treetop (1.4.14)
Installing mail (2.5.4)
Installing actionmailer (3.2.13)
Installing arel (3.0.2)
Installing tzinfo (0.3.37)
Installing activerecord (3.2.13)
Installing activerecord-jdbc-adapter (1.2.5)
Installing jdbc-mysql (5.1.25)
Installing activerecord-jdbcmysql-adapter (1.2.5)
Installing activeresource (3.2.13)
Using bundler (1.3.5)
Installing coderay (1.0.9)
Installing fastercsv (1.5.5)
Installing rack-ssl (1.3.3)
Installing json (1.8.0)
Installing rdoc (3.12.2)
Installing thor (0.18.1)
Installing railties (3.2.13)
Installing jquery-rails (2.0.3)
Installing net-ldap (0.3.1)
Installing ruby-openid (2.1.8)
Installing rack-openid (1.3.1)
Installing rails (3.2.13)
Your bundle is complete!
Gems in the groups development and test were not installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
Post-install message from rdoc:
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!




ちゃんとデータベース接続用にjdbc-mysqlがインストールされましたね。



rakeを実行して、データベースにテーブルの作成やデータを登録します。


# rake generate_secret_token
# RAILS_ENV=production rake db:migrate
(データベースにテーブルの作成が行われる)






ここで一旦内蔵のサーバーを起動して動作確認を行いました。
起動コマンドは以下のとおり。


# jruby script/rails server webrick -e production
=> Booting WEBrick
=> Rails 3.2.13 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server





ブラウザで、http://[サーバーIP]:3000/を表示してみます。

209_03.png

ログインID:admin、パスワード:adminでログインし、情報を見てみると
Ruby version 1.9.3 (java)と表示されています。

209_04.png

ちゃんとJRubyで動いてくれています。








warblerによるwarの作成



JRuby + Railsのアプリケーションをwarにまとめるには、
warblerというツールを使うようです。

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


# jgem install warbler
Fetching: jruby-jars-1.7.4.gem (100%)
Fetching: jruby-rack-1.1.13.2.gem (100%)
Fetching: rubyzip-0.9.9.gem (100%)
Fetching: warbler-1.3.8.gem (100%)
Successfully installed jruby-jars-1.7.4
Successfully installed jruby-rack-1.1.13.2
Successfully installed rubyzip-0.9.9
Successfully installed warbler-1.3.8
4 gems installed




「warble config」を実行すると、config/warble.rbにwarにするために
設定ファイルのひな形が作成されます。

/var/lib/redmineで、「warble config」を実行します。


# warble config
cp /usr/local/jruby/lib/ruby/gems/shared/gems/warbler-1.3.8/warble.rb config/warble.rb




作成された設定ファイルを編集します。


# vi config/warble.rb




以下の行を追加し、warに含めるフォルダを追加します。
※元の設定値は14行目付近にコメント状態で記載されています。


config.dirs = %w(app config lib log vendor tmp db files plugins)




設定ファイルの保存が終わったら、warbleコマンドを実行し、warを作成します。


# warble
rm -f redmine.war
Creating redmine.war



/var/lib/redmineにredmine.warが作成されるはずです。






Tomcatのインストール



warファイルが作成できたので、Tomcatをインストールし公開してみます。
Tomcatはapt-getでインストールしました。


# apt-get install tomcat7




インストールが終わると、自動的にTomcatが起動します。
ブラウザで、http://[サーバーIP]:8080/を表示すると、こんな表示になるはずです。

209_05.png



初めてapt-getでTomcatをインストールしたのですが、

/etc/tomcat7:ここにcontext.xmlやserver.xmlが配置される。
Catalinaディレクトリもここ。

/var/lib/tomcat7:webappsはこのディレクトリに配置。
その他に、common,conf,logs,server,shared,workがある。

となりました。


一旦Tomcatを停止。作成したredmine.warをwebappsにコピーします。


# /etc/init.d/tomcat7 stop
# cp /var/lib/redmine/redmine.war /var/lib/tomcat7/webapps/




コピーが終わったらTomcatを起動。

# /etc/init.d/tomcat7 start



ブラウザで、http://[サーバーIP]:8080/redmine/を表示すると
Redmineの画面が表示されると思います。

209_06.png




JavaにCPUとメモリのリソースを結構食われるので、それなりに
性能のよいサーバーを使用したほうがよいと思います。





【参考URL】

Redmineをwar化 (1) とりあえずRedmine+JRubyを動かす
http://u6k-apps.blogspot.jp/2012/10/redminewar-1-redminejruby.html
関連記事

テーマ:サーバ - ジャンル:コンピュータ

  1. 2013/06/30(日) 17:47:27|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
次のページ