ConoHa WINGでBASIC認証をかける方法【実体験トラブルまとめ】
2026.03.23 カテゴリ:WordPress / ConoHa WING / サーバー設定
ConoHa WINGでBASIC認証をかける方法【実体験トラブルまとめ】
クライアントのサイト制作中、公開前のサイトにBASIC認証をかけようとしてかなりハマりました。
「500エラーが出る」「認証画面が出ない」など、ConoHa WING特有のつまずきポイントをまとめます。
ConoHaWING #BASIC認証 #htaccess #サーバー設定 #備忘録
まず知っておきたい:ConoHa WINGのサーバーアカウント名
BASIC認証の設定で最重要なのが AuthUserFile に指定するパスです。このパスにConoHa WINGのサーバーアカウント名が必要になるのですが、これがどこで確認できるのかわかりにくい。
⚠️ ここでハマった
管理画面に表示される「ConoHaアカウント(C88783040)」や、ファイルマネージャーのパスに表示される「04o3o_c6768524@localhost」はどちらも正しいアカウント名ではありませんでした。
正しいアカウント名の確認方法
一番確実なのは、PHPファイルを使って実際のサーバーパスを取得することです。
WordPressのドキュメントルートに checkpath.php を作成して以下を記述:
<?php
echo __FILE__;
echo '<br>';
echo $_SERVER['DOCUMENT_ROOT'];
?>
ブラウザでアクセスすると以下のようなパスが表示されます:
/home/c1234567/public_html/example.com/checkpath.php
/home/c1234567/public_html/example.com
この c1234567 の部分がサーバーアカウント名です。確認後は必ず checkpath.php を削除してください。
BASIC認証の設定手順
手動で .htaccess と .htpasswd を作成してアップロードする方法です。
① .htpasswd の作成
ID・パスワードをハッシュ化したファイルです。オンラインのhtpasswd生成ツールか、以下のコマンドで生成できます:
openssl passwd -apr1 "任意のパスワード"
生成されたハッシュを使って .htpasswd を作成:
ユーザーID:$apr1$XXXXXXXX$XXXXXXXXXXXXXXXXXXXXXXX
📌 ポイント
ファイルはテキストファイルで作成し(.htpasswd.txt など)、アップロード後に .htpasswd にリネームします。末尾の改行以外に余分なスペースや文字が入らないよう注意。
② .htaccess の作成
WordPress + BASIC認証を組み合わせた正しい .htaccess の内容:
AuthType Basic
AuthName "認証が必要です。IDとPASSを入力してください。"
AuthUserFile /home/c1234567/public_html/example.com/.htpasswd
AuthGroupFile /dev/null
Require valid-user
c1234567 と example.com は自分の環境に合わせて変更してください。
③ ファイルの配置
- テキストファイルとして作成(例:
htaccess.txt、htpasswd.txt) - ファイルマネージャーまたはFTPでドキュメントルート直下にアップロード
- ファイルマネージャー上でリネーム:
.htaccess/.htpasswd - シークレットモードでサイトにアクセスして動作確認
トラブルシューティング
| 症状 | 原因 | 対処法 |
|---|---|---|
| 認証画面が出ない | 手動の.htaccessが管理画面設定と競合 / ブラウザキャッシュ | 既存の.htaccessを削除してシークレットモードで確認 |
| ID/PASS入力後に500エラー | AuthUserFileのパスが間違っている | PHPファイルで実際のパスを確認して修正 |
| サイト全体が500エラー | WordPressのrewriteルールが消えている | .htaccessにWordPressのルールを追記 |
| 認証ダイアログが再表示されない | ブラウザが401をキャッシュしている | シークレットモードで再アクセス |
まとめ:ConoHa WING BASIC認証 チェックリスト
- サーバーアカウント名は管理画面では確認しにくい →
checkpath.phpで確認する AuthUserFileのパスは/home/アカウント名/public_html/ドメイン名/.htpasswd- 認証ルールはシンプルな5行でOK(WordPressを使う場合はrewriteルールも追記が必要)
- 動作確認はシークレットモードで行う
- 確認用PHPファイルは必ず削除する
