〜KUSE〜 CPIのマルチドメイン機能を使う場合の注意点
弊社では製作したホームページの設置場所として、CPIの ACE01プランのマルチドメイン機能を利用することがあります。コントロールパネルが若干重たいですが、ウェブサーバーとしては動作も安定していて良い感じです。CPIサーバーはセキュリティ面もバッチリなため、結果的になかなかクセのあるサーバーとなっております。
他のサーバーでは気にも止めない当たり前の設定が CPIサーバーでは正常動作せず、作業が止まることが時々あります。
他のエンジニアの方の参考に、また私自身の備忘録として、私がこれまで CPI のマルチドメイン機能で構築するにあたって詰まった点を書き記したいと思います。
.htaccess 周り
RewriteEngine を利用する場合、シンボリックリンクを有効にしなければなりませんが、
2015年9月29日以降に新規契約した ACE01 マルチドメインでは従来の
Options +FollowSymLinks
が使えません。
以下のようにする必要があります。
Options +SymLinksIfOwnerMatch
.htpasswd のパスの記述
html ディレクトリに
echo dirname(__FILE__);
と php で記述されたファイルを設置し確認すると、そのファイルのパスは
/usr/home/”ユーザーID”/html と表示されますが、
このパスをそのまま .htpasswd の場所として AuthUserFile に記述しても動きません。
# htmlディレクトリに.htpasswdを配置する場合
AuthUserFile /home/"ユーザーID"/html/.htpasswd
と usr ディレクトリを省いて記述する必要があります。
また、 .htpasswd に記述するパスワードは、
このあたり のツールを使って、MD5 でハッシュしてください。
よくある Crypt 方式でハッシュされた暗号は利用できません。
接続元として認識される IPアドレスはコントロールパネルに記載のIPアドレスではない
外部API利用時などに、サーバーの接続元IPを指定する必要がありますが、
サーバーが外部に出て行くときのIPはコントロールパネルに記載の IP でありません。
マルチドメインの場合はネームバーチャルですので、コントロールパネル記載の IP は共用の IPになります。
しかし、外部アクセス時の接続元IPは、サーバーそのもの自体のIPとなります。
これはサーバーへ SSH 接続して、コンソールより
$ curl inet-ip.info
のコマンドを入力することで確認することができます。
私が業務のなかで良く出くわす CPI 独自のクセはこのあたりでしょうか。
細かなことは他にもあった気がします。思い出したらまた記事にしますね。