概要
- ApacheにてBasic認証用パスワードファイルを生成しようとするとエラーになる問題を解決した。
エラーまでの経緯
-
AWSのEC2でAmazonLinx2マシンを起動しApacheをインストールし起動した。
-
下記コマンドを実行してパスワードファイルの生成を試みた。
$ sudo mkdir -p /usr/local/apache/passwd/passwords $ sudo htpasswd -c /usr/local/apache/passwd/passwords hogefuga
エラー
-
下記のエラーが出力されパスワードファイルの生成をする事ができない。
htpasswd: cannot create file /usr/local/apache/passwd/passwords
解決までの経緯
-
原因は単純だった。
-
パスワードファイル作成前にディレクトリを生成しているところで「passwords」というディレクトリを作ってしまっている。
-
次のコマンドで「/usr/local/apache/passwd」ディレクトリ直下に「passwords」というパスワードファイルを生成しようとしている。
-
なので「/usr/local/apache/passwd」ディレクトリ直下に「passwords」がある状態でそれと同じ階層に「passwords」というパスワードファイルを生成する様に命令している。名前がかち合って後者のコマンドが実行できなかった。
-
「passwords」ディレクトリを削除し、パスワードファイルを再生成したらエラーは解消した。
sudo rm -rf /usr/local/apache/passwd/passwords sudo htpasswd -c /usr/local/apache/passwd/passwords hogefuga
参考文献