ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Ubuntu 12.04 LTSとCloud Archiveパッケージで構築したOpenStack環境での話

※これ以降少々愚痴が入っています。

Horizonのリダイレクト

Ubuntu 12.04 LTSとCloud Archiveパッケージで構築したOpenStack環境で、OpenStack Dashboard(Horizon)にアクセスするURLはhttp://ServerIP/horizonでアクセスできるんですが、これ、http://ServerIP/でアクセスしたいですよね。やっぱり。

その場合の設定はどこなのか色々探してみたのですが、公式ドキュメントを穴が空くほど見ても方法が見つからず。別の方向から方法を探ったところ、そういえばApacheの設定で何とかなるじゃんということがわかりました。

# vi /etc/apache2/sites-available/default

(略)

Redirect permanent /index.html /horizon ←追記
Options FollowSymLinks
AllowOverride None

# service apache2 reload

こんな感じです。これでhttp://ServerIP/にアクセスすると自動的にhttp://ServerIP/horizon/にリダイレクトされます。最初は/var/www/index.htmlにリダイレクトタグを入れようかとか、.htaccessファイルを仕込もうかとか思っていましたが、これだけで解決できました。

ログアウトのURLが変

DevStackやRDOを使ってOpenStack環境を作った時は問題なかったのですが、Ubuntu Serverでイチからパッケージを使ってインストールした環境でたまにページが404になる現象が起きていました。検証環境だし、たまに起こるだけなので見なかったことにしていたのですが、やっぱり気持ち悪いのです。

調べた結果、/etc/openstack-dashboard/local_settings.pyのファイルにログアウトのURLパスを記述すればいいことが分かりました。

# vi /etc/openstack-dashboard/local_settings.py
(略)
# Default Ubuntu apache configuration uses /horizon as the application root.
# Configure auth redirects here accordingly.
LOGIN_URL='/horizon/auth/login/'
LOGOUT_URL = '/horizon/auth/logout/' ←追記
LOGIN_REDIRECT_URL='/horizon'
# service apache2 reload

LOGOUT_URLが書かれていない(デフォルト値)から、そのURL遷移に失敗していたというのが動作不具合の原因でした。これくらいデフォルトで定義しておいてくれよ...。
取りあえずうまく動いたので良しとしましょう。

このブログサイトはJavaScriptを使っていますが、読み込んでいるJavaScriptは全てはてなが提供しているものであり、筆者が設置しているものではありません。