【Ubuntu】Apache+Passenger Railsをドキュメントルート以外に構築

さくらVPS Ubuntu、Apache + Passengerの環境において、Railsプロジェクトをドキュメントルート以外に設定する方法を備忘録として書きます。

Apache2.4でRailsを動作させる環境構築は↓の記事を参考にしてください。

目次

サンプルプロジェクトの作成

まずは、railsSample という名前のrailsプロジェクトを作成します。

$ cd ~
$ rails new railsSample
$ cd railsSample
$ bundle exec rake assets:precompile RAILS_ENV=production  NODE_OPTIONS=--openssl-legacy-provider

サンプルプロジェクトの移動

railsSample を任意の場所に移動します。

$ sudo mkdir /var/www/rails
$ cd ~
$ sudo mv railsSample /var/www/rails/railsSample

Apache2.4 のドキュメントルートはデフォルトで、/var/www/html となってます。移動先は、/var/www/rails としており、ドキュメントルートと違う場所にしてます。

Apache2.4 のコンフィグ設定

configの設定を変更します。

$ cd /etc/apache2/sites-available
$ sudo vi 000-default-le-ssl.conf

下記の設定を追加します。

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ~略~
  DocumentRoot /var/www/html/
  ~略~
  
  Alias /railsSample /var/www/rails/railsSample/public
  <Location /railsSample>
     PassengerBaseURI /railsSample
     PassengerAppRoot /var/www/rails/railsSample
  </Location>
  ~略~
</VirtualHost>
~略~

新しいrails アプリを作成したときは、ハイライトしたところを名前を適切に変更して、コピペします。

動作確認

apacheを再起動します。

$ sudo service apache2 restart

ブラウザから、http://(ドメイン名)/railsSample/にアクセスします。エラーの表示が出ましたが、ローカルPCからRailsアプリケーションの接続はできています。

http://( ドメイン名 )/railsSample/ にブラウザからアクセスすると、/var/www/rails/railsSample/public にアクセスしたことになります。rails アプリの内容を表示します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次