htaccess
htpasswd

.htpasswdファイルをCLIで簡単作成

More than 1 year has passed since last update.

BASIC認証をかける時に必要な「.htpasswd」ファイル。コマンドラインから簡単に作れることに今まで気づいてませんでした。(毎回、.htaccessEditorにアクセスして作ってました…)

htpasswd -cbm [filename] [username] [password]

で簡単につくれました。オプションの意味は下記の通り。

c: ファイル出力

b: ユーザー名とパスワードを引数にとる(対話形式にしない)

m: パスワードをMD5で暗号化して出力(デフォルトのままだと8文字以上が切り落とされるので注意)

以上!

・・・なんですが、オプションの意味を毎回忘れそうなのと、ファイル名もほぼ「.htpasswd」しか使わなそうなので、alias設定をしてもっと簡単にしました。

シェルの設定ファイル(Bashを使ってる人は「~/.bash_profile」、Zshの人は「~/.zshrc」)に下記を追加しておきます。

alias htpasswd='htpasswd -cbm .htpasswd'

すると、下記のようにするだけでカレントディレクトリに.htpasswdが作成できます。

htpasswd [username] [password]

今度こそ、以上です。


TODO: aliasを作ると、オプションやファイル名を変えたい場合に困ったことになるので、本当はもっと良い方法がありそうな気がする。コマンド毎のデフォルト設定を上書きするようなしくみ?CLI詳しい人に教えてほしいです。


この記事は2016.1.27にこちらのURLで公開していた内容を移行しました。