2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

(覚え書き) col redmine1.2→redmine2.3の準備

Last updated at Posted at 2014-10-20

2013/03/27 ごろの作業

依存パッケージの準備

$ sudo yum install readline-devel curl-devel libyaml-devel
$ sudo yum install ImageMagick ImageMagick-devel

(*後付け) rbenv の準備

rbenv

http://blog.kyanny.me/entry/2012/02/03/155652 を参考にsystem-wideにrbenvをインストール

$ su - 
# vi rbenv.sh 
# sh rbenv.sh 
# exit 
$ su - 
$ rbenv 
rbenv 0.4.0-42-g0556849 

ruby のセットアップ

$ rbenv install 1.9.3-p392 
$ rbenv rehash 
$ rbenv global 1.9.3-p392 
$ ruby -v 
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux] 

(2014/10) 今なら ruby 2.1.2 で大丈夫と思われる

$ rbenv install 2.1.2
$ rbenv rehash 
$ rbenv global 2.1.2 
$ ruby -v 
ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-linux]

rubygem&bundlerのセットアップ

rubygemはrbenvに入っているのでそれを利用。

$ sudo /usr/local/rbenv/shims/gem install bundler --no-rdoc --no-ri 
Fetching: bundler-1.3.5.gem (100%) 
Successfully installed bundler-1.3.5 
1 gem installed 

→ MySQLのセットアップの前まで終わり

Rubyの準備

Ruby 2.xにはPassengerが対応していないので1.9.3をインストールする。
http://www.ruby-lang.org/ja/downloads/ にて確認。

$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.bz2
$ rpmbuild -tb ruby-1.9.3-p392.tar.bz2
エラー: ruby-1.9.3-p392.tar.bz2 から spec ファイルの読み込みに失敗しました。

specファイルがないため普通にmakeしていく

$ tar xjvf ruby-1.9.3-p392.tar.bz2
$ cd ruby-1.9.3-p392
$ ./configure --disable-install-doc
$ make
$ sudo /usr/local/sbin/checkinstall --exclude=/selinux
...()
/home/masashi/ruby-1.9.3-p392/lib/fileutils.rb:858:in `utime': No such file or directory - /usr/local/bin/ruby (Errno::ENOENT)
        from /home/masashi/ruby-1.9.3-p392/lib/fileutils.rb:858:in `block in install'

エラーする。どうもcheckinstallにバグがあるらしい。
--fstrans=no が必要だがこれもcheckinstallrcに設定してあるのだが効いていない(lib64側にないとだめなのか?...メッセージを読むと
sudo cp /usr/local/lib/checkinstall/checkinstallrc /usr/local/
と/usr/local 直下におく必要がある。Makefileをどこか書き換えれば良いか?)

$ sudo /usr/local/sbin/checkinstall --exclude=/selinux --fstrans=no
...(略,何回かEnter)

**********************************************************************

 Done. The new package has been saved to

 /root/rpmbuild/RPMS/x86_64/ruby-1.9.3-p392-1.x86_64.rpm
 You can install it in your system anytime using:

      rpm -i ruby-1.9.3-p392-1.x86_64.rpm

**********************************************************************
$ sudo yum localinstall /root/rpmbuild/RPMS/x86_64/ruby-1.9.3-p392-1.x86_64.rpm
...()
$ ruby -v
ruby 1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]

RubyGemsのインストール

http://rubyforge.org/frs/?group_id=126 のサイトで最新版のURLを取得する。

$ wget http://rubyforge.org/frs/download.php/76729/rubygems-1.8.25.tgz
$ tar xzvf rubygems-1.8.25.tgz
$ cd rubygems-1.8.25
$ sudo /usr/local/bin/ruby setup.rb

bundlerのインストール

$ sudo /usr/local/bin/gem install bundler --no-rdoc --no-ri

MySQLのセットアップ

my.cnfが /usr/my.cnf にあるがどうも /etc/my.cnf の読み込みが優先され、かつ、/usr の直下は見に来ない模様なので移動する。

$ sudo chkconfig mysql on

だけはやっておくこと。

redmineの展開

http://rubyforge.org/frs/?group_id=1850 からredmineの最新版(2013/09/17では2.3.3)を取得する。

$ wget http://rubyforge.org/frs/download.php/77138/redmine-2.3.3.tar.gz
$ tar xzvf redmine-2.3.3.tar.gz
$ sudo mv redemine-2.3.3 /var/www
$ sudo ln -s /var/www/html/redmine /var/www/redmine-2.3.3/public

続いて古いバージョン(cybele)の移動

$ tar xjvf redmine-1.2.2.tar.bz2
$ sudo mv redmine-1.2.2 /var/www
$ sudo ln -s /var/www/html/redmine-old /var/www/redmine-1.2.2/public

passengerの準備

(rbenv を使っているならパスは変更する必要がある)

$ sudo /usr/local/bin/gem install passenger --no-rdoc --no-ri
$ sudo /usr/local/bin/passenger-install-apache2-module
(...略)
--------------------------------------------
The Apache 2 module was successfully installed.

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

   LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
   PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19
   PassengerRuby /usr/local/bin/ruby

After you restart Apache, you are ready to deploy any number of Ruby on Rails
applications on Apache, without any further Ruby on Rails-specific
configuration!

passenger.confを作成する

rubyのバージョンによってやはりパスがことなるので注意

$ sudo vi /etc/httpd/conf.d/passenger.conf
---
# Passengerの基本設定
# passenger-install-apache2-module の結果で表示された部分が以下になります。
# passenger-install-apache2-module --snippet で再確認もできます。

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby
PassengerDefaultUser httpd
PassengerDefaultGroup httpd

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

# 必要に応じてPassengerのチューニングのための設定を追加(任意)。
# 詳しくはPhusion Passenger users guide(http://www.modrails.com/documentation/Users%20guide%20Apache.html)をご覧ください。
PassengerMaxPoolSize 20
PassengerMaxInstancesPerApp 4
PassengerPoolIdleTime 3600
PassengerHighPerformance on
PassengerStatThrottleRate 10
PassengerSpawnMethod smart
RailsAppSpawnerIdleTime 86400
RailsFrameworkSpawnerIdleTime 0

# redmine 用のパス設定
RackBaseURI /redmine
RackBaseURI /redmine-old

---

$ sudo service httpd configtest
Syntax OK
$ sudo service httpd restart

... passenger が期待通りに動かず、 http://x.x.x.x/redmine にアクセスしてもディレクトリ構造が表示されるだけ。
passenger.confが読み込まれていない模様・・・httpd.conf がまずい。

$ sudo vi /etc/httpd/conf/httpd.conf
--
Include "/etc/httpd/conf.d/*.conf"
--
$ sudo service httpd configtest
Syntax OK
$ sudo service httpd graceful

Include 文を追加してもう一回試してみると、とりあえずpassengerはOKでもエラー。
・・・redmine1.2.2 (rails) はruby1.9系には対応していないためだ。最低限1.4系にまであげてこないと動作確認ができない。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?