1

今日、Spree Commerce アプリケーションを商用サーバーにデプロイしました。私が抱えている問題は、ログインページが機能していないことです。ここで誰かが私にアドバイスをくれることを願っています.

私は Ruby on Rails にまったく慣れておらず、標準の Spree Commerce アプリケーションを少し調整しただけです。私のローカル マシンでは、すべて正常に動作しています (製品の追加、ログインなどは可能です)。サーバーと私は Ruby 1.9.3 と Rails 3.2.14 を実行しています。

すべてを git リポジトリに配置した後、ホスティング会社の Web サイトに従って deploy.rb ファイルを構成し、「bundle install」、「exec rake assets:precompile」、「cap:deploy:setup」、および「cap:deploy」を実行します。 「全体がサーバーに正常にデプロイされました。

Web サイトにアクセスすると、最初に Phusion Passenger から database.yml が見つからないというエレガントなエラー メッセージが表示されました。これは、サーバー上の rails/shared/config に database.yml ファイルを作成した後 (config フォルダーも作成する必要がありました)、次の内容 (ユーザー名とパスワードはローカルと同じ) で解決されました。

production:
  adapter: postgresql
  encoding: utf8
  database: [name]
  pool: 5
  timeout: 5000
  username: [username]
  password: [password]
  host: localhost

これで、インデックスページが表示されているウェブサイトにサーフィンすると、ショッピングカードが表示され、商品を検索できるようになりました. 残念ながら、ログインしようとすると、次のメッセージが表示されます。

要求された URL /login がこのサーバーで見つかりませんでした。

SOの他の誰かが、ローカルマシンでのみ、機能しない管理者/ログインページで同様の問題を抱えていました。この個人は、spree_auth_devise 拡張機能をインストールするようアドバイスを受けました。これをGemfileに含めましたが、ローカルでログイン機能が正常に機能しているため、私の場合は問題ありません。

/edit さらに、これは関連している可能性があります。rake db:bootstrap を実行すると、次のメッセージが表示されます。

-bash-4.1$ rake db:bootstrap
This task will destroy any data in the database. Are you sure you want to 
continue? [y/n] y
rake aborted!
database configuration does not specify adapter

誰かが私を啓発できることを願っています!

4

1 に答える 1

1

freenode IRC の #spree で親切な人たちに質問することで、問題は解決しました。追加することで

Spree::Config.set(:allow_ssl_in_production => false) 

config/initializers/spree.rb に移動し、コミットして git リポジトリにプッシュし、再度 cap:deploy を実行すると、ログイン ページが機能します。

本番モードで SSL を使用するデータベースの標準セットアップがあり、私の Web サイトは SSL を使用するようにセットアップされていませんでした。簡単な修正は、本番モードで SSL を無効にすることでした。

私は SSL 証明書もサポートも持っていないので (最終的にはより安全なのでこれが必要です)、rails/config/production.log のサーバーの運用ログに 301 エラーが記録されました。

于 2013-10-06T19:13:27.250 に答える