VM インスタンスを起動したあと、Horizon ダッシュボードにアクセスできなくなることがあり、「404 Not Found」エラーメッセージが表示されます。Apache サービスのログには、次のエントリが含まれます。
Oct 13 16:13:53 Executing start method (" /lib/svc/method/http-apache24 start"). ] Apache version is 2.4 (125) Address already in use: AH000/2: make_sock: could not bind to address [::]:80 Oct 13 16:13:55 Method "start" exited with status 0. ]
このログは、ポート 80 がビジー状態にあるため、アドレスをこのポートにバインドできないことを示しています。
Kilo バージョンから、OpenStack では、以前の OpenStack バージョンの Apache 2.2 の代わりに Apache 2.4 を使用しています。正しい Apache バージョンが有効になり、そのポートで待機していることを確認してください。
ポートを解放するには、次の手順に従います。
現在そのポート上で待機しているプロセス ID を取得します。
# netstat -uan -f inet | grep "*.80"
この手順では、設定で IPv4 アドレスが使用され、ポート 80 を保持しているプロセスがそれらのすべてのアドレス上で待機していることを前提にしています。プロセスが IPv6 トラフィックを待機している場合、このコマンドでは何も結果が得られない可能性があります。
プロセス ID に基づいて、実際のプロセスまたはサービスを識別します。次のいずれかのコマンドを使用できます。
# svcs -p | egrep "online|pid http" | ggrep -B1 pid
または
# ps -lf -p pid
間違った Apache バージョンがポートを使用している場合は、そのサービスを無効にします。
Kilo バージョンの正しい Apache バージョンを有効にします。
正しい Apache バージョンが保守モードにある場合は、それを有効にする前に、まずサービスをクリアします。
次の例は、ポート 80 を解放し、正しい Apache バージョンに切り替える方法を示しています。
# netstat -uan -f inet | grep "*.80" *.80 *.* root 5560 httpd 0 0 128000 0 LISTEN *.8080 *.* webservd 1124 java 0 0 128000 0 LISTEN *.8009 *.* webservd 1124 java 0 0 128000 0 LISTEN # svcs -p | egrep "online|5560 http" | ggrep -B1 5560 online Aug_31 svc:/network/http:apache22 Sep_09 5560 httpd # svcadm disable apache22 # svcadm clear apache24 # svcadm enable apache24