====== FreeBSD 9.0RにRedmine 2.3.1をインストール ====== ===== 必要なものを揃える ===== [[http://www.redmine.org/projects/redmine/wiki/RedmineInstall|Installing Redmine]]に、Redmineのインストールに必要な環境が書いてあるので準備する。 今回用意した環境。Ruby系はバージョンに煩いので要注意。 * Ruby 1.8.7 * RubyGems 1.8.25 * Rails 3.2.13 * Passenger 3.0.19 * MySQL 5.6.11 * Subversion 1.7.3 * ImageMagick 6.8.0.7 (HDRI無効でビルドしたバイナリ) ==== MySQL ==== cd /usr/ports/databases/mysql56-server sudo make install clean サーバをインストールするとクライアントも一緒に入る。 起動する。 sudo echo 'mysql_enable="YES"' >> /etc/rc.conf sudo /usr/local/etc/rc.d/mysql-server start 初めてのインストールなら、管理者パスワードを設定する。 sudo mysql mysql> SET PASSWORD FOR root@localhost=PASSWORD('password'); mysql> exit ==== ruby ==== ruby本体は既に1.8.7が入っていたので、手っ取り早くそのまま使う。 新規にインストールするなら1.9系を入れた方がいいかも? cd /usr/ports/converters/ruby-iconv/ sudo make install clean ==== RubyGems ==== cd /usr/ports/devel/ruby-gems sudo make install clean ** bundler ** sudo gem install bundler 後の工程でbundlerで必要なGemが自動インストールされるようなので、手動で他のGemを入れる必要はないかもしれない。 ** Rails ** sudo gem install rails -v 3.2.13 少々時間がかかる。-Vオプションで詳細情報が見られるので、付けておくと精神的に良いかもしれない。 ** mysql ** sudo gem install mysql Ruby 1.9だとmysql2になるっぽい。 ==== Subversion ==== インストール済みなので割愛 ==== ImageMagick ==== HDRIは無効にしないといけない(デフォルトは無効)。 cd /usr/ports/graphics/ImageMagick sudo make install clean ===== Redmineのインストール ===== ソースを持ってくる。 cd /usr/local/www sudo svn co http://svn.redmine.org/redmine/branches/2.3-stable redmine データベースを作る。 mysql -u root -p mysql> CREATE DATABASE redmine CHARACTER SET utf8; mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'redmine_password'; mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; 設定ファイルをコピー cd /usr/local/www/redmine/config cp database.yml.example database.yml cp configuration.yml.example configuration.yml データベース接続設定ファイル(database.yml)をいじる。 production: adapter: mysql database: redmine host: localhost username: redmine password: "redmine_password" encoding: utf8 必要なgemをインストール sudo bundle install --without development test 秘密トークンを生成 cd /usr/local/www/redmine sudo rake generate_secret_token データベーススキーマを作成 sudo rake db:migrate RAILS_ENV=production データベースにデフォルト値を設定 sudo rake redmine:load_default_data RAILS_ENV=production パーミッション設定 # mkdir tmp tmp/pdf public/pluin_assets # chown -R www:www files log tmp public/pluin_assets # chmod -R 755 files log tmp public/pluin_assets ===== 自動起動の設定 ===== PassengerでApacheから起動するようにする。 **Passengerは3.0系列を使わないと上手く起動出来ないので、バージョン指定必須**。どこにも書いてなくて超ハマった。 # gem install passenger --version 3.0.19 Apache用のモジュールをインストール # passenger-install-apache2-module Welcome to the Phusion Passenger Apache 2 module installer, v3.0.19. 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. 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.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19 PassengerRuby /usr/local/bin/ruby18 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! ということなので、設定ファイルを作る。 LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19/ext/apache2/mod_passenger.so PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19 PassengerRuby /usr/local/bin/ruby18 Deploying a Ruby on Rails application: an example Suppose you have a Rails application in /somewhere. Add a virtual host to your Apache configuration file and set its DocumentRoot to /somewhere/public: ServerName www.yourhost.com # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /somewhere/public # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews And that's it! You may also want to check the Users Guide for security and optimization tips, troubleshooting and other useful information: /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.19/doc/Users guide Apache.html Enjoy Phusion Passenger, a product of Phusion (www.phusion.nl) :-) https://www.phusionpassenger.com Phusion Passenger is a trademark of Hongli Lai & Ninh Bui. ===== 感想 ===== とにかく面倒だった…。 特にRubyのバージョン地獄が厄介(Redmineに限った話じゃないけど)。往年のDLL地獄も真っ青のヘルっぷり。初心者殺しもいいとこで、Rubyの敷居を揚げてる一因だと思う。 進んでRubyを使おうとは思わなくなったわ。 ===== 参考サイト ===== * [[http://www.redmine.org/projects/redmine/wiki/RedmineInstall|RedmineInstall - Redmine]] * [[http://blog.redmine.jp/articles/2_3/installation_centos/|Redmine 2.3をCentOS 6.4にインストールする手順 | Redmine.JP Blog]] * [[http://k-nightowl.net/?p=30|FreeBSD 9.0にRedmine 2.1.4をインストールする。 | k-nightowl.net]] * [[http://forums.freebsd.org/showthread.php?t=29662|FreeBSD 9.0 + Redmine + Ruby19 - The FreeBSD Forums]] ~~DISCUSSION~~