【CPIサーバー】本番サイトにBASIC認証かける方法

CPIサーバーでも、
BASIC認証の簡単な設定だけなら簡単にコンパネできます
コントロールパネルの[公開サイト用設定]-[制作ツール]-[アクセス制御]

BASIC認証

BA認証以外にもhtaccessに書きたいことがある場合や、既に別のことを書いているhtaccessが存在する場合、コンパネのこのツールを使うとなにやらよくないようで、
自前でBA認証を書く時の注意事項を記しておきます。

CPIサーバーの特殊なhtaccessの書き方

自分用のメモでもあります。
CPIサーバーではデフォルトでセキュアなテストサイトとIP叩いたらすぐ見られる公開サイトのディレクトリが
最初からきっぱり区切られています。

社内ではテストサイトは使わないことが多いので、
いきなり本番サイトにデータ移行します。
が、もちろんリリースまでは公開したくないのでBASIC認証をかけます。

CPIサーバーの場合、BASIC認証をかけるhtaccessの書き方が特殊です。

  • htpasswdの絶対パス指定が特殊
  • htpasswdに記述する暗号化パスワードの暗号形式はmd5でないといけない

絶対パスの指定

.htaccessファイルを本番サイトにFTPログインしたときの「ルート/html」配下に置きます。
以下のように記述します。
普通のBASIC認証の書き方ですがhtpasswdのファイルパスのところが要注意。

AddHandler x-httpd-php559 .php

AuthUserFile /home/ユーザーID/html/.htpasswd
AuthGroupFile /dev/null
AuthName "Input ID and Password."
AuthType Basic
require valid-user
<Files ~ "^.(htpasswd|htaccess)$">
deny from all
</Files>

3行目のユーザーIDとはコントロールパネルにも記載があります。

htaccess

htpasswdの暗号化パスワードはmd5方式で

上記設定では.htaccessと同じディレクトリに.htpasswdを配置します。
そこに記述する暗号化パスワードはmd5形式で暗号化されたものを記述します。

md5暗号化ができるサイト

md5形式でこそ本来のセキュアなBA認証といえる、だからそれを採用している、というCPIサーバーの意図は正当です。
日本じゃ一般的にはBA認証にmd5形式を使わないのでつまづきやすいと思います・・・
というかぱっと見、コンパネに注意事項に書いてないので、つまづくんですよね・・・