XOOPSでSSLを使用する

環境

Webサーバ:apache
XOOPS:ほだ塾

httpsでアクセスしたら画面真っ白

なんで?

試しにペラのPHPファイルをアップロードして、
httpsでアクセスしたら、普通にsslで表示された。
SSLの設定はちゃんと出来てるみたい。

原因その1

XOOPSSSLを使用するということに関して、
意外と情報量が少なく、
決定的なものが出てこなかった。

が少ないながらも共通した事例があった。

定数を設定している
mainfile.php

define('XOOPS_URL', 'http://ほげほげ.com');

部分を

    //define('XOOPS_URL', 'http://ほげほげ.com');
    if (strcasecmp(@$_SERVER['HTTPS'],'on')===0){
        define('XOOPS_URL', 'https://ほげほげ.com');
    } else {
        define('XOOPS_URL', 'http://ほげほげ.com');
    }

というもの。

なるほど。
原因となり得るな。

早速修正。
アップロード。
アクセス。
真っ白。

原因その2

これは原因をXOOPSに決め付けてかかっていたので、
分かるのに時間がかかった。

久々に1行ずつechoかけたもんね(笑)

apacheの設定ファイルに、
アクセスがあった時のPHPのアクセスを許す範囲が指定されていて、
それが80番ポートではインストール時にちゃんと設定されるが、
sslの443番ポートには設定されていない。

というのが原因。

具体的にはこの部分。

443っていうやつがssl
で、その中の


php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir "/ソースまでのパス:"

のさらにこの中の

php_admin_value open_basedir "/ソースまでのパス:"

に、XOOPSをインストールした関連ファイルのパスを追記してやる。
つまり80番ポートと同じ構成にしてやる。




設定ファイルをバックアップ。
viで修正更新。
apache再起動。
ブラウザのキャッシュ削除。
アクセス。
表示された!!


ちなみに

インストールするXOOPSのパッケージとか
インストールしたディレクトリとか構成とか、
バージョンとかWebサーバーとか
環境によっては話が変わってくると思うので、
あしからず。
あたりまえだけど。。。