序章

このチュートリアルでは、Ubuntu18.04で実行されているApacheWebサーバー上のパスワード保護アセットについて説明します。 これらの手順を完了すると、サーバーに追加のセキュリティが提供され、権限のないユーザーがページの特定の部分にアクセスできなくなります。

このチュートリアルのより詳細なバージョンと各ステップの詳細については、 Ubuntu18.04でApacheを使用してパスワード認証を設定する方法を参照してください。

前提条件

このチュートリアルを完了するには、Ubuntu18.04サーバーで以下にアクセスする必要があります。

  • A sudo サーバー上のユーザー

  • Apache2Webサーバー

  • SSLで保護されたサイト

ステップ1—Apacheユーティリティパッケージをインストールします

と呼ばれるユーティリティをインストールします htpasswd、 の一部 apache2-utils 制限されたコンテンツへのアクセス権を持つユーザー名とパスワードを管理するためのパッケージ。

  1. sudo apt update
  2. sudo apt install apache2-utils

ステップ2—パスワードファイルを作成する

次のように最初のユーザーを作成します( ` first_username を選択したユーザー名に置き換えます):

  1. sudo htpasswd -c /etc/apache2/.htpasswd first_username

ユーザーのパスワードを入力して確認するように求められます。

省略します -c ファイルを上書きしないように追加する追加ユーザーの引数:

  1. sudo htpasswd /etc/apache2/.htpasswd another_user

ステップ3—Apacheパスワード認証を設定する

このステップでは、保護されたコンテンツを提供する前に、このファイルをチェックするようにApacheを構成する必要があります。 これはサイトの仮想ホストファイルを使用して行いますが、アクセス権がない場合や使用したい場合は、長いチュートリアルで詳しく説明されている別のオプションがあります。 .htaccess 代わりにファイル。

nanoなどのテキストエディタを使用して、制限を追加する仮想ホストファイルを開きます。

  1. sudo nano /etc/apache2/sites-enabled/default-ssl.conf

認証はディレクトリごとに行われます。 この例では、ドキュメントルート全体を制限しますが、このリストを変更して、Webスペース内の特定のディレクトリのみをターゲットにすることができます。

この手順では、ファイルに次の強調表示された行を追加します。

/etc/apache2/sites-enabled/default-ssl.conf
<VirtualHost *:80>
  ServerAdmin webmaster@localhost
  DocumentRoot /var/www/html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined

  <Directory "/var/www/html">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

次のコマンドで構成を確認します。

サーバーを再起動してパスワードポリシーを実装してから、サーバーのステータスを確認できます。

  1. sudo systemctl restart apache2
  2. sudo systemctl status apache2

ステップ4—パスワード認証を確認する

コンテンツが保護されていることを確認するには、Webブラウザで制限されたコンテンツにアクセスしてみてください。 ユーザー名とパスワードのプロンプトが表示されます。

このチュートリアルに関連するより詳細なガイドへのリンクは次のとおりです。