one push

レンタルサーバーのCONOHA WINGでBasic認証を設定する

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

c1234567example.com は自分の環境に合わせて変更してください。

③ ファイルの配置

  1. テキストファイルとして作成(例:htaccess.txthtpasswd.txt
  2. ファイルマネージャーまたはFTPでドキュメントルート直下にアップロード
  3. ファイルマネージャー上でリネーム:.htaccess / .htpasswd
  4. シークレットモードでサイトにアクセスして動作確認

トラブルシューティング

症状 原因 対処法
認証画面が出ない 手動の.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ファイルは必ず削除する