ConoHa WINGでBASIC認証をかける方法【実体験トラブルまとめ】
公開日:2026.03.23 カテゴリ:サーバー設定 / ConoHa WING
クライアントのサイト制作中、公開前のサイトにBASIC認証をかけようとしてかなりハマりました。「500エラーが出る」「認証画面が出ない」など、ConoHa WING特有のつまずきポイントをまとめます。
#ConoHaWING #BASIC認証 #htaccess #サーバー設定 #備忘録
まず知っておきたい:ConoHa WINGのサーバーアカウント名
BASIC認証の設定で最重要なのが AuthUserFile に指定するパスです。このパスにConoHa WINGのサーバーアカウント名が必要になりますが、これがどこで確認できるのかわかりにくい。
> ここでハマった > 管理画面に表示される「ConoHaアカウント(C12345678)」や、ファイルマネージャーのパスに表示される「04o3o_c1234567@localhost」はどちらも正しいアカウント名ではありませんでした。
正しいアカウント名の確認方法
一番確実なのは、PHPファイルを使って実際のサーバーパスを取得することです。
ドキュメントルートに 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・パスワードをハッシュ化したファイルです。以下のコマンドで生成できます:
openssl passwd -apr1 "任意のパスワード"
生成されたハッシュを使って .htpasswd を作成:
ユーザーID:$apr1$XXXXXXXX$XXXXXXXXXXXXXXXXXXXXXXX
> ポイント
> ファイルはテキストファイルで作成し(.htpasswd.txt など)、アップロード後に .htpasswd にリネームします。末尾の改行以外に余分なスペースや文字が入らないよう注意。
② .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エラー | .htaccessの構文エラー | 各ディレクティブが改行で区切られているか確認 |
| 認証ダイアログが再表示されない | ブラウザが401をキャッシュしている | シークレットモードで再アクセス |
まとめ:ConoHa WING BASIC認証 チェックリスト
- [ ] サーバーアカウント名は
checkpath.phpで確認する - [ ]
AuthUserFileのパスは/home/アカウント名/public_html/ドメイン名/.htpasswd - [ ] 各ディレクティブは改行で区切られているか
- [ ]
.htpasswdに余分なスペース・改行が入っていないか - [ ] 動作確認はシークレットモードで行う
- [ ] 確認用
checkpath.phpは必ず削除する
