これがばかげた質問である場合は申し訳ありませんが、Ruby on RailsをApacheサーバーで動作させることができません。Phusionを使用していますアプリデプロイメント用の乗客(mod_Rails、mod_rack)。これが私のWebサイトのApache構成ファイルにあるRoR固有の構成コードです。
Alias /Rails /var/www/syyborg.com/Ruby/blog/public
<Directory /var/www/syyborg.com/Ruby/blog/public>
Options FollowSymLinks
AllowOverride None
Order Allow,Deny
Allow from All
</Directory>
RailsBaseURI /Rails
繰り返しますが、私はこの種のことについてほとんど知識がありません。私はこれまでサーバーを最初からセットアップしたことがありません。とにかく、私のRailsアプリは、ご覧のとおり、/var/www/syyborg.com/Ruby/blog/
にあります。http://[my domain, syyborg.com]/Rails
からアクセスしようとしています。しかし、ロードしようとするとサイトで「403Forbidden」エラーが発生しました。助けていただければ幸いです。必要に応じて詳細をお知らせします。よろしくお願いします。
Mod_Railsがインストールされていないようです。あなたがこれを持っていると仮定して:
gem install passenger
そして
passenger-install-Apache2-module
次のように、自分で乗客を開始できるかどうかを確認してください。
cd /path/to/your/webapp
passenger start
Mod_Railsが適切にインストールおよびロードされている場合、Apacheで必要する唯一の構成は、ドキュメントルートをパブリックフォルダーにポイントすることです。 mod_Railsは、残りがどこから来ているのかを理解するのに十分賢いです。 Apacheの場合:<Directory>ステートメントは、認識されたパスではなく、物理ファイルの場所を参照します。これはまたあなたのRailsアプリのパブリックフォルダーになります。
つまり.
<Directory /var/www/syyborg.com/Ruby/blog/public>
Options FollowSymLinks
AllowOverride None
Order Allow,Deny
Allow from All
</Directory>
railsBaseURIは、使用しようとしているパスである必要があります。
つまり.
RailsBaseURI "/Rails"
エイリアスステートメントは問題ないようです。
Passengerは、ファイルシステムの魔法を使用して、実際のRailsアプリを見つけます。そのすべてのアクションは、仮想ホストのDocumentRoot
に基づいています。
基本的に、乗客は2つの構成設定を設定する必要があります。
RailsBaseURI
Apache設定の値。Rails_ROOT
ではありません)。このシンボリックリンクは、DOCUMENT_ROOT
ディレクトリ内にある必要があります。したがって、DocumentRoot
が/srv/www
であると仮定すると、次のシンボリックリンクを作成する必要があります。
ln -s /var/www/syyborg.com/Ruby/blog/public /srv/www/Rails
RailsアプリをDOCUMENT_ROOT
内に配置しないことをお勧めします。また、Passengerは現在VirtualDocumentRootモジュールをサポートしていません。
詳細については、 乗客用ドキュメント のそれぞれのセクションを参照してください。