devstackを使用してopenstackを正常にインストールした後、ダッシュボードにアクセスするときに500エラーが発生しました。
参照:「Openstackダッシュボードを開くと、内部サーバーエラーが表示されます」
ダッシュボードにアクセスするのは良かったのですが、突然アクセスできなくなりました。次のように表示されます。
内部サーバーエラー
サーバーで内部エラーまたは設定ミスが発生し、リクエストを完了できませんでした。
このエラーが発生した時刻と、このエラーの直前に実行したアクションについては、root @localhostのサーバー管理者に連絡してください。
このエラーの詳細については、サーバーエラーログを参照してください。
apache2を再起動し始めましたが、役に立たなかった。アパッチの成分を見て、大丈夫でした。
私はあきらめなければならなかった、ただそれを再インストールする。しかし、自分の操作について考えた後、もう一度実行する前にerror.logを確認することにしました。
それを見た後、apache2のerror.logは/ var / log / apache2 /の下にあり、error.log、horizon.logなどを含むいくつかのログファイルがあります。最初にerror.logを見ましたが、しませんでした問題が見つからなかったので、それを調べました。horizon-access.logを読みましたが、有用な情報がありません。最後にhorizon-err.logを読んだところ、最後の項目は次のとおりです。
horizon.utils.secret_key.FilePermissionError: Insecure permissions on key file /opt/stack/horizon/openstack_dashboard/local/.secret_key_store, should be 0600.
許可は600のようです。私が見たところ、777でした。
次に、このキーワードで確認し、冒頭に引用したドキュメントを見つけて、このドキュメントを参照してファイルの名前を変更しました。
cp .secret_key_store .secret_key-store.old
ダッシュボードが再度更新され、ダッシュボードが復元されました。
前の操作を思い出すと、/ opt / stackディレクトリのパーミッションが777に変更されたようです。
歴史の後に、本当にあります:
chmod -R 777 / opt / stack
問題が見つかったので、再現する必要があります。
もう一度
sudo su - root
chmod -R 777 /opt/stack/horizon/openstack_dashboard/local/.secret_key_store
ダッシュボードページを更新した後もアクセスできます
。apache2を再起動する必要があるようです。
cd /etc/init.d
./apache2 restart
ダッシュボードページを再度更新すると、500が再表示されます。
もう一度:
chmod -R 600 /opt/stack/horizon/openstack_dashboard/local/.secret_key_store
./apache2 restart
ダッシュボードページを再度更新すると、おなじみのopenstackページが実際に再表示されます。
SECRET_KEY(バージョン2012.1(Essex)の新機能)カスタムキーを設定します。特定の値に設定するか、Python WSGI(Apache + mod_wsgiで使用する場合)に関係なく、このマシンでhorizonにデフォルトキーを生成させることができます。多くの場合、複数のダッシュボードインスタンスが異なるマシン(通常はロードバランサー)に分散されている場合など、設定する必要があります。セッションのすべてのリクエストが同じダッシュボードインスタンスにルーティングされることを確認するか、それらに同じsecret_keyを設定する必要があります。horizon.utilsからimportsecret_key:
SECRET_KEY = secret_key.generate_or_read_from_file(
os.path.join(LOCAL_PATH、 '。secret_key_store'))
local_settings.py.exampleファイルには、単一のインストールキーを生成するためのすばやく簡単な方法が含まれています。