Carpe Diem

備忘録。https://github.com/jun06t

Basic認証

Webサイトにパスワード認証を設定します。 ◆パスワードファイルの作成 例として パスワードファイル名:server.passwd ユーザ名:server パスワード:yyyy とします。 $ cd /etc/apache2 $ sudo htpasswd -c server.passwd server New password: yyyy Re-type new password: yyyy Adding password for user server 今回初めて作成するので「-c」というcreateオプションをつけました。このパスワードファイルに新たにユーザを追加するときは $ sudo htpasswd server.passwd newuser でOKです。また以下の所有者・パーミッション変更はやらなくても動きますが、セキュリティ上設定したほうがいいです。www-dataというのはApacheを動かしているユーザで、以下の設定はroot とwww-data の人しかファイルを読み書き出来なくしています。 $ sudo chown www-data:www-data ./server.passwd $ sudo chmod 600 ./server.passwd Apacheのディレクティブ設定の編集 $ sudo emacs -nw /etc/apache2/sites-available/default 以下のように追記します。         <Directory /var/www/>                 Options Indexes FollowSymLinks MultiViews ExecCGI                 AllowOverride None                 Order allow,deny                 allow from all                 #Basic認証                 AuthType Basic                 #好きな名前に                 AuthName "Server"                 #パスワードファイルを作成した場所                 AuthUserFile /etc/apache2/server.passwd                 #パスワード入力した人だけ許可                 Require valid-user         </Directory> 設定したらApacheを再起動します。 $ sudo service apache2 restart これで http://localhost にアクセスするとパスワードを訊かれるようになります。