このページは古いです。lenny向けはこちらです。
SubversionをWebDAVで使っていたり、情報共有のためにwikiを使っている–しかもウェブサーバーはapacheという場合です。そんなときはRedmineをapacheから見せたいと思うのではないかと思います。Railsを動かす手法はいくつかありますが、シンプルなPassengerをお勧めします。
インストール方法はApache上でRedmineを動かす/Passenger(mod_rails for Apache)の利用を見るのが一番なんですが、実もふたもないので少しだけ設定を変えたあんちょこを記してみます。
Passengerはapacheのモジュールを作成します。そのためapacheの開発パッケージをインストールしておきます。その後はgemでPassengerをインストールし、Passengerにあるapacheモジュール作成のスクリプトを走らせます。
# apt-get install libapr1-dev apache2-dev # gem install passenger # ruby /var/lib/gems/1.8/gems/passenger-2.0.3/bin/passenger-install-apache2-module
モジュールの作成が終了すると、apacheの設定ファイルにPassengerの設定を追記しなさいとのメッセージが出ます。モジュールの位置がDebian流でないのが気になりますが、ここはgemとpassengerの流儀に従って、下記のような感じで設定ファイルを作成します。コピペで設定する人(わたしです)はバージョンの記述に注意してください。
# cat <<EOD > /etc/apache2/mods-available/passenger.load LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-2.0.3/ext/apache2/mod_passenger.so PassengerRoot /var/lib/gems/1.8/gems/passenger-2.0.3 PassengerRuby /usr/bin/ruby1.8 # ln -s /etc/apache2/mods-available/passenger.load /etc/apache2/mods-enabled/passenger.load
わたしは複数のドメインを1台で動かすケースが多いこともあり、ドメインごとに静的コンテンツとアプリケーションのディレクトリを分けて配置しています。
/home/www/html (htmlファイルなどの静的コンテンツ。一般ユーザーが更新する) /home/www/html/redmine (-> /home/www/app/redmine/public のリンク) /home/www/app (cgiなどはDBのパスワードとかあるので一般ユーザーには見えないようにする) /home/www/app/redmine (redmine本体)
このディレクトリ配置を踏まえた設定が下記になります。VirtualHostの設定はデフォルトの/etc/apache2/sites-enabled/00defaultがないのが前提です。もしある場合には削除してください。/etc/apache2/sites-available/defaultのリンクなので、気軽に消してOKです。
# cat <<EOD > /etc/apache2/sites-available/www NameVirtualHost * <VirtualHost *> ServerAdmin webmaster@www.example.com DocumentRoot /home/www/html/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/www/html> Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/www-error.log LogLevel warn CustomLog /var/log/apache2/www-access.log combined RailsBaseURI /redmine </VirtualHost> EOD # ln -s /etc/apache2/sites-available/www /etc/apache2/sites-enabled/www # /etc/init.d/apache2 restart
apacheを再起動したら http://www.example.com/redmine/ にアクセスします。redmineにアクセスしないうちは下記のようなプロセスですが
2197 ? Ss 0:00 /usr/sbin/apache2 -k start 2206 ? Sl 0:00 \_ /var/lib/gems/1.8/gems/passenger-2.0.3/ext/apache2/ApplicationPoolServer 2208 ? Sl 0:04 \_ Passenger spawn server
redmineへアクセスがあってしばらくの間は次のようになります。
2197 ? Ss 0:00 /usr/sbin/apache2 -k start 2206 ? Sl 0:00 \_ /var/lib/gems/1.8/gems/passenger-2.0.3/ext/apache2/ApplicationPoolServer 2208 ? Sl 0:04 | \_ Passenger spawn server 2568 ? S 0:04 | \_ Passenger ApplicationSpawner: /home/www/app/redmine ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2571 ? S 0:01 Rails: /home/www/app/redmine