開発者ドキュメント

Ubuntu18.04でApacheを使用してパスワード認証を設定する方法[クイックスタート]

序章

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

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

前提条件

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

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

apache2-utilsパッケージの一部であるhtpasswdというユーティリティをインストールして、制限されたコンテンツにアクセスできるユーザー名とパスワードを管理します。

  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ブラウザで制限されたコンテンツにアクセスしてみてください。 ユーザー名とパスワードのプロンプトが表示されます。

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

モバイルバージョンを終了