Ubuntu10.10 自宅サーバ構築手順:Webサーバ(Apache2) アクセスパスワードの設定(Basic認証)

従来(個人的に)使っていたCentOS5系の設定と若干異なっていたので自分メモ。

  • Apache2インストール後、認証対象ユーザを作成。
absj31@absj31-MyHomeServer:/etc/apache2$ sudo adduser (対象ユーザ名)
ユーザ `(対象ユーザ名)' を追加しています...
新しいグループ `(対象ユーザ名)' (1002) を追加しています...
新しいユーザ `(対象ユーザ名)' (1002) をグループ `(対象ユーザ名)' に追加しています...
ホームディレクトリ `/home/(対象ユーザ名)' を作成しています...
`/etc/skel' からファイルをコピーしています...
新しいUNIXパスワードを入力してください: (UNIXアクセス用のパスワードを設定)
新しいUNIX パスワードを再入力してください: (UNIXアクセス用のパスワードを再度設定)
passwd: パスワードは正しく更新されました
Changing the user information for (対象ユーザ名)
Enter the new value, or press ENTER for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 
この情報は正しいですか? [Y/n] y
absj31@absj31-MyHomeServer:/etc/apache2$ 
  • 参照する為のパスワードファイルを対象ユーザに紐付けて作成。
absj31@absj31-MyHomeServer:/etc/apache2$ sudo htpasswd -c (作成するパスワードのフルパスを指定) (対象ユーザ名)
New password: (URLアクセス時のパスワードを設定)
Re-type new password: (URLアクセス時のパスワードを設定)
Adding password for user (対象ユーザ名)
absj31@absj31-MyHomeServer:/etc/apache2$ 
  • 通常のApache2インストールの場合、/etc/apache2/sites-available/default というファイルを編集する必要がある。(httpd.confに追記したディレクトリの設定をこのファイルに追記する形となる模様)。下記の例では、ドキュメントルート配下全体に設定を反映させてみた。ディレクトリ個別に指定する場合はの箇所を個別に分ければ宜しかと。
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    AuthType Basic                              【←追記】
    AuthName 'Enter Sites Password."            【←追記】
    AuthUserFile (参照するパスワードファイル)   【←追記】
    require valid-user                          【←追記】
</Directory>
  • Apache2再起動。
absj31@absj31-MyHomeServer:/etc/apache2/sites-available$ sudo /etc/init.d/apache2 restart
 * Restarting web server apache2
... waiting .                                                                     [OK]
  • ブラウザアクセスし、パスワード認証を求めるダイアログが表示される事/ログイン可能である事を確認。

参考URL