0

RailsアプリをHerokuからAmazonEC2に移動しようとしていますが、LinuxやApacheを使用する前に、サーバーで作業したことはありません。Apacheと一緒に、Thingemを使用しています。[ここ]を読んだようにhttpd.confを構成しようとしましたが、ディレクトリ内のファイル(静的エラーページとファビコン)を表示している「Indexof /」ページしか表示されません。これは、通常の方法ではありません。私のアプリを参照してください(ルートは別のビューに設定されています)。1

<VirtualHost *:80>
  DocumentRoot /opt/bitnami/apache2/myapp/public
  <Directory /opt/bitnami/apache2/myapp/public>
    Allow from all
    Options -MultiViews
  </Directory>
</VirtualHost>

httpd.confファイルでアプリを誤って宣言しましたか?通常のルートはPages#indexであるのに対し、私はパブリックディレクトリを直接指していることに気付きましたが、httpd.confファイルのRailsの構成は、どこでもパブリックディレクトリを指しているようです。

私のアプリはHerokuの正しいページとローカルで起動するので、ファイルの構成方法と一致している必要があると思います。

4

1 に答える 1

0

Apache confファイルを設定する前に、ここから始めてください。Railsアプリを実行するには、乗客が必要です。Railsがインストールされている場合は、次のようにrvmsudoを使用してUbuntuでそれを行うことができます。

xyz@superGLTS:~$ rvmsudo gem install passenger
xyz@superGLTS:~$ rvmsudo passenger-install-apache2-module

すべてのRailsenv変数が考慮されるため、必ずrvmsudoを使用してください。

これが失敗した場合は、追加のサポートライブラリをインストールする必要がある可能性があるため、エラーの出力を投稿してください。

その後、Railsアプリ用のアプリケーションサーバーができたら、confファイルに戻ることができます。

編集1:Ubuntuの新しいインストールでPassengerのインストールが失敗した場合は、次のようにbuild-essentialをインストールする必要があります。

xyz@spuerGLTS:~$ sudo apt-get install build-essential

EDIT2:

現在発生しているエラーは、tmp/cacheのアクセス許可の問題です。Webサーバーを実行しているUser:Groupは、そのディレクトリ構造tmp / cache / ....を所有しているか、書き込み可能である必要があります。Gitに投稿するhttpd.confには、Webサーバーを実行しているdaemon:daemonがあります。それはあなたの問題だ。tmp / cacheをdaemon:daemonに変更することで、おそらくすぐに修正できますが、それはやや焼き上がったものです。この唯一の目的のためにuser:groupを作成してから、environment.rbを正しく構成する必要があります。しばらく経ちましたが、ユーザーガイドにユーザー構成と権限の設定に関するセクションがあるはずです。

于 2013-02-27T14:31:02.593 に答える