チケットの管理をするため、redmineを入れてみる。前はrubyのインストールで躓いたので、今回はうまくできるといいなー。
Redmine.JPを確認しながら、まず必要なソフトのインストール。
$ yum groupinstall "Development Tools" $ yum install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
Rubyをダウンロード、インストール。
$ wget ftp://core.ring.gr.jp/pub/lang/ruby/ruby-1.9.3-p194.tar.gz $ tar zxvf ruby-1.9.3-p194.tar.gz $ cd ruby-1.9.3-p194 $ ./configure $ make $ make install $ make clean
rubyのバージョンを確かめる。
$ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
やったー
bundlerをインストールしろとあるが、gemコマンドがsudoで使えない。でもユーザ権限だと使える…と思ったら、gemはあるけどパスが通ってなかった。シンボリックリンクを貼る。
$ sudo ln -s /usr/local/bin/gem /usr/bin/gem $ gem
なにかずらずら出てきたので、OK!
改めて、Bundlerのインストール。Rubyではプラグイン、Extensionのようなものをgemというかたちで簡単にインストールできるみたい。PHPでいうpeclみたいなものかな
$ sudo gem install bundler --no-rdoc --no-ri
では次に、Rubyのインストール。
$ wget http://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz $ tar zxvf redmine-2.0.3.tar.gz
DB接続設定を行う。
$ vim /PATH/TO/REDMINE/config/database.yml
production: adapter: mysql2 database: db_redmine host: localhost username: USERNAME password: ******** encoding: utf8
redmineに必要なgemをインストールするが、今回DBにMySQLを利用しているため、それ以外のいらないgem(例えば、PostgreSQL用のgemなど)をインストールしないよう、without設定でインストール。
$ bundle install --without development test postgresql sqlite
bundleインストール時にエラーがでる場合と、対応して何をインストールすべきかのリスト
- An error occured while installing mysql2 (0.3.11), and Bundler cannot continue.
Make sure that `gem install mysql2 -v ‘0.3.11’` succeeds before bundling. - sudo yum install mysql-devel
- An error occured while installing rmagick (2.13.1), and Bundler cannot continue.
Make sure that `gem install rmagick -v ‘2.13.1’` succeeds before bundling. - sudo yum install ImageMagick-devel
トークンを作ったり、DBのマイグレーションをしたり。
$ rake generate_secret_token $ RAILS_ENV=production rake db:migrate
マイグレーション中、DBに新規ユーザ「ユーザ@%」を追加したものの、localhostから接続すると拒否されることがあった。
調べてみたら、ホスト名の%には、localhostは含まれていないんだって!それワイルドカードじゃないじゃん!
http://b.l0g.jp/mysql/user-at-localhost/
次にPassengerをインストール。なんかしらんけど必要なようだ。へーそうなのか。
$ gem install passenger --no-rdoc --no-ri
PassengerのApacheモジュールもインストール。もし、他に必要なソフトがインストールされていなければ、yum installしてくださいと表示されるので従う。
$ yum install httpd-devel
Apacheのコンフィグファイルにこれを書け的な文章が最後に出るので、メモ。passenger系の設定は別のファイルにまとめることを推奨されているので、追加する。
$ vim /etc/httpd/conf.d/passenger.conf
# Passengerの基本設定。 # passenger-install-apache2-module --snippet を実行して表示される設定を使用。 # 環境によって設定値が異なりますので以下の3行はそのまま転記しないでください。 # LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.13 PassengerRuby /usr/local/bin/ruby # 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のチューニングのための設定を追加(任意)。 # PassengerMaxPoolSize 20 PassengerMaxInstancesPerApp 4 PassengerPoolIdleTime 3600 PassengerUseGlobalQueue on PassengerHighPerformance on PassengerStatThrottleRate 10 RailsSpawnMethod smart RailsAppSpawnerIdleTime 86400 RailsFrameworkSpawnerIdleTime 0
redmineのディレクトリ以下を、Apacheが読み書きできるようにする。
$ chown -R apache:apache /PATH/TO/REDMINE
「パターン3: バーチャルホストでRedmineを実行」で実行したいため、Apache設定ファイルにバーチャルホストの設定を追加し、Apache再起動。