どうも、イソップです。
WordPressでベーシック認証をかける方法はいくつもありますが、
管理画面にもパスワードを設定しておくと、外部からの攻撃や不正ログインの心配もなくセキュリティ面で安心です。
SiteGuard WP Pluginなどで管理画面のアクセス制限を設定することが出来ますが、IPアドレスでアクセスを制限するので、外でブログを書きたい時などに向いていません。
やはり管理画面にはベーシック認証の設定がオススメです。
そこで今回は、WordPressのログイン画面にベーシック認証の設定方法を紹介します。
.htaccessを作成する
今回紹介する方法はレンタルサーバー(Apache)での設定方法になります。
まず始めに、.htaccess(ドットエイチティーアクセス)というファイルを作成します。
メモ帳やテキストエディットなどで作成できますが設定項目の内容が難しいので、オンラインの作成サービスを利用すると簡単です。
.htaccess ファイルを簡単作成「.htaccess Editor」
メニュー項目がいくつもありますが、今回はWordPressの管理画面用に.htaccessを作成するので設定は全て行いません。
それでは早速、左メニューの上から2つ目の「ベーシック認証」の項目をクリックしましょう。
ここでベーシック認証の設定項目を入力します。
ユーザー名: ベーシック認証のユーザー名 (半角英数字)
パスワード: ベーシック認証のパスワード (ランダム作成をクリックすると自動的に生成されます。任意でも可)
.htpasswd: ベーシック認証のユーザー名とパスワードを記載するための設定ファイル用のコード
.htpasswdまでのサイトパス: サーバーに.htpasswdを配置する場所を絶対パスで指定
.htpasswdまでのサイトパスは、WordPressをインストールした場所を入力してください。
入力が終わると、画面下のテキストエリアにコードが入力されているはずです。
このコードを元に.htaccessを作成・編集します。
.htaccessを編集、または新規作成する
では先ほど自動で表示されたコードを整形していきます。
すでにサーバーにWordPressがインストールされている前提で進めます。
FTPソフトでサーバーのWordPressのインストールディレクトリを見てみると、.htaccessというファイルがあるはずです。この.htaccessの中身の最後に、次のコードを貼り付けます。
(.htaccessはダウンロードして編集するか、FTPソフトで内容を変更します。もし無い場合は、メモ帳やテキストエディットなどでファイルを新規作成して、コードを貼り付けます。)
[shell]
deny from all
AuthUserFile /home/path/to/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user
order deny,allow
[/shell]
そして、貼り付けたコードをWordPressの管理画面向けに書き換えます。
[shell]
AuthUserFile /home/path/to/.htpasswd
AuthGroupFile /dev/null
AuthName “Please enter your ID and password”
AuthType Basic
require valid-user
order deny,allow
[/shell]
1. <Files ~ "^\.(htaccess|htpasswd)$">...</Files>
の部分をまるごと削除。
2. 全体を<Files wp-login.php> ... </Files>
で囲います。
この変更は、wp-login.php
に対してベーシック認証を設定する内容です。
最後にファイル名を.htaccessにして保存します。
Windowsの場合は、ファイル名を.htaccess.と、ファイル名の最後にドットを付けて保存することで.htaccessというファイル名にすることが出来ます。
参考サイト: [Windows] .htaccess ファイルを簡単に作る方法
.htpasswdを作成する
次に、.htaccessと同じ要領で.htpasswdを作成します。
.htpasswdはベーシック認証のユーザー名とパスワードを記載したファイルで、.htaccessから参照されます。
先ほどベーシック認証を入力した「.htaccess Editor」で、.htpasswdという項目がありました。
上の例では、testuser:tgmW....
と表示されています。
これをメモ帳やテキストエディットでファイルを新規作成し、コピー&ペーストします。
[shell]
testuser:tgmW….
[/shell]
そしてファイル名を.htpasswdとして保存します。
作成した2つのファイルをサーバーにアップロードする
最後に、作成した.htaccessと.htpasswdをサーバーへアップロードします。
WordPressがインストールされたディレクトリの直下にFTPソフトを使ってアップロードしましょう。
ここでは必ず.htpasswdまでのサイトパスで入力したサーバーの場所にアップロードしましょう。
これで設定は完了です。ログイン画面にアクセスして、ベーシック認証が設定されているか確認してみてください。