Apache2 インストール

VirtualBox Apache2 Digest 認証サイト

ここまで認証サイトの必要性を感じていなっかったので実行していませんでした。
ここへきて、特定の人だけに公開したいサイトを作る必要が出てきました。
VirtualBox Apache2 Digest 認証サイトを作成することにします。
Apache の Basic認証 / Digest認証 設定手順
が参考になります。

アクセス制限ディレクトリ作成

アクセスしたら認証を要求する、ディレクトリを作成します。
Ubuntu を起動し、端末画面から
yamada@ubuntu-18:~$ sudo mkdir ~/public_html/adan/private
とします。
ここには、適当にアクセス制限されるファイル test.html を配置します。
テスト用には以下のサンプルが簡単です。

<!doctype html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>ドキュメント
</head>
<body>ハローワールド!
</body>
</html>

パスワードファイル作成

digest のパスワードファイルは以下のコマンドで作成します。
$ htdigest -c パスワードファイル レルム ユーザー名

  1. パスワードファイル

    /etc/apache2/.digestpass
    ここにパスワードが保管されるようにします。
    ファイル置場は Root 領域(今回は/etc/apache2)がよいようです。
    .digestpass は隠しファイルになります。

  2. レルム

    "Digest Auth" が レルム(領域名)のことになります。
    深く考えず機械的に書きます。
    "Staff Only" とか適当に書くことができるようです。
    この名前は、digest-auth.conf ファイルの中でも使用します。

  3. ユーザー名

    今回は adan としました。
    ユーザー名はなんでもよいみたいです。

  4. まとめ

    まとめると
    $ sudo htdigest -c /etc/apache2/.digestpass "Digest Auth" adan
    となります。
    新規作成なので -c を忘れずに!

  5. 実行

    実行すると
    Adding password for adan in realm Digest Auth.
    New password:
    Re-type new password:
    となりますので
    password: の次に2か所、今回は
    abcd1234 (適当な英数字)
    を入力します。

  6. 確認

    どのように格納されたか確認します。

    $ sudo cat /etc/apache2/.digestpass
    adan:Digest Auth:772c3bad75e12194215d056f91433d86
    

    のように暗号化されて保存されています。

設定ファイル作成

Digest 認証をする Directory、パスワードファイル位置、認証方式
を指示する設定ファイルを
/etc/apache2/conf-available/
の中に
digest-auth.conf
の名前で nano で作成します。

yamada@ubuntu-18:~$
sudo nano /etc/apache2/conf-available/digest-auth.conf
<Directory home/yamada/public_html/adan/private>
  AllowOverride None
  AuthType Digest
  AuthName "Digest Auth"  
  AuthDigestProvider file
  AuthUserFile /etc/apache2/.digestpass
  Require valid-user
</Directory>

AuthName "Digest Auth"
のところはパスワードファイル作成で使用した レルム "Digest Auth" と一致させます。
nano での編集が終わったら、
^O 書込
Enter
^X 終了
で nano を終了します。

Apache 再起動

Apache を再起動します。
$ sudo a2enmod auth_digest
$ sudo a2enconf digest-auth
$ sudo systemctl restart apache2

仮想ホストでの確認

ブラウザのアドレスバーに
http://v-host.jp/adan/private/test.html
と入力して、画面に

Apache2 Digest 認証サイト

が出たら、
ユーザー名 adan
パスワード abcd1234
と入力し、ログイン をクリックください。
「ハローワールド!」
と表示できれば仮想ホストの動作確認は完了です。
なお、ユーザー名やパスワードはパソコン、スマートフォン、特にはクラウドサービスなどに保存しないようにしましょう。

パスワードファイル書換

もう一度
$ sudo htdigest -c /etc/apache2/.digestpass "Digest Auth" adan
とすると、-c があるので、書かれていた、ユーザー名、パスワードを一旦削除し、新たなユーザー名とパスワードが設定されます。

パスワードファイル変更

  1. ユーザー追加

    作成済みのパスワードファイルに新しいユーザーを追加することができます。
    書式は次のとおりです。
    $ htdigest パスワードファイル名 領域名 ユーザー名
    ユーザー追加ですの -c はありません。
    ユーザー名 adan-s を追加します。
    $ sudo htdigest /etc/apache2/.digestpass "Digest Auth" adan-s
    実行すると
    Adding password for adan-s in realm Digest Auth.
    New password:
    Re-type new password:
    となりますので
    password: の次に2か所、今回は
    abcd-s (適当な英数字)
    を入力します。

  2. ユーザー追加確認

    どのように追加格納されたか確認します。

    $ sudo cat /etc/apache2/.digestpass
    adan:Digest Auth:772c3bad75e12194215d056f91433d86
    adan-s:Digest Auth:a46e5012b2814e1f2b642ee1d1e97f5a
    

    パスワードファイル変更後の apache2 の再起動は不要です。

  3. パスワードファイルユーザー削除

    作成済みのユーザーを削除する htdigest コマンドはありません。
    パスワードファイルをテキストエディタで開き、削除したいユーザーの行を削除します。
    ユーザー名 adan-s を削除します。

    $ sudo nano /etc/apache2/.digestpass
    adan:Digest Auth:772c3bad75e12194215d056f91433d86   
    adan-s:Digest Auth:a46e5012b2814e1f2b642ee1d1e97f5a ←この行削除
    

    nano での編集が終わったら、
    ^O 書き込み
    ^X 終了
    で nano を終了します。
    パスワードファイル修正後の apache2 の再起動は不要です。

    なお、すでにログインができている状況で、仮想ホストでの確認をするとき時は
    ブラウザの Google Chome の︙(画面右上)から「閲覧履歴データを削除」を実行してください。

    これで、VirtualBox ubuntu Apache2 Digest 認証サイトについての説明は終わりです。
    引き続き、Apache2 ファイル一覧非表示 について説明していきます。


  4. Apache2 ファイル一覧非表示 に進む
  5. ゲストOS(Ubuntu)IPアドレス確認 に戻る
  6. 仮想ホストの構成 に戻る
  7. /etc/fstab の編集 に戻る
  8. ユ-ザ-ごとの公開ディレクトリを用意する に戻る
  9. ホスト OS のフォルダと Apache のフォルダの共有 に戻る
  10. ホスト OS から localhost でアクセス に戻る
  11. 個別パッケ-ジのインスト-ル に戻る
  12. VirtualBox Ubuntu 起動時エラ- に戻る
  13. カ-テン問題が発生しないようにする に戻る
  14. ubuntu インストール中のトラブル対応 に戻る
  15. 共有フォルダの設定 に戻る
  16. ubuntu 仮想マシン用ツール正解インストール に戻る
  17. ubuntu 基本インストール完了 に戻る
  18. ubuntu インスト-ル進行 に戻る
  19. ubuntu インスト-ルの後半 に戻る
  20. VirtualBox 上に仮想マシンを作成 に戻る
  21. VirtualBox インスト-ル に戻る
  22. 70VPS に戻る