Ubuntu18.04でApacheを使用してパスワード認証を設定する方法[クイックスタート]
序章
このチュートリアルでは、Ubuntu18.04で実行されているApacheWebサーバー上のパスワード保護アセットについて説明します。 これらの手順を完了すると、サーバーに追加のセキュリティが提供され、権限のないユーザーがページの特定の部分にアクセスできなくなります。
このチュートリアルのより詳細なバージョンと各ステップの詳細については、 Ubuntu18.04でApacheを使用してパスワード認証を設定する方法を参照してください。
前提条件
このチュートリアルを完了するには、Ubuntu18.04サーバーで以下にアクセスする必要があります。
-
サーバー上の
sudo
ユーザー -
Apache2Webサーバー
-
SSLで保護されたサイト
ステップ1—Apacheユーティリティパッケージをインストールします
apache2-utils
パッケージの一部であるhtpasswd
というユーティリティをインストールして、制限されたコンテンツにアクセスできるユーザー名とパスワードを管理します。
- sudo apt update
- sudo apt install apache2-utils
ステップ2—パスワードファイルを作成する
次のように最初のユーザーを作成します( ` first_username を選択したユーザー名に置き換えます):
- sudo htpasswd -c /etc/apache2/.htpasswd first_username
ユーザーのパスワードを入力して確認するように求められます。
追加する追加ユーザーの-c
引数は省略して、ファイルを上書きしないようにします。
- sudo htpasswd /etc/apache2/.htpasswd another_user
ステップ3—Apacheパスワード認証を設定する
このステップでは、保護されたコンテンツを提供する前に、このファイルをチェックするようにApacheを構成する必要があります。 これはサイトの仮想ホストファイルを使用して行いますが、アクセス権がない場合、または代わりに.htaccess
ファイルを使用する場合は、長いチュートリアルで詳しく説明されている別のオプションがあります。
nanoなどのテキストエディタを使用して、制限を追加する仮想ホストファイルを開きます。
- sudo nano /etc/apache2/sites-enabled/default-ssl.conf
認証はディレクトリごとに行われます。 この例では、ドキュメントルート全体を制限しますが、このリストを変更して、Webスペース内の特定のディレクトリのみをターゲットにすることができます。
この手順では、ファイルに次の強調表示された行を追加します。
<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>
次のコマンドで構成を確認します。
サーバーを再起動してパスワードポリシーを実装してから、サーバーのステータスを確認できます。
- sudo systemctl restart apache2
- sudo systemctl status apache2
ステップ4—パスワード認証を確認する
コンテンツが保護されていることを確認するには、Webブラウザで制限されたコンテンツにアクセスしてみてください。 ユーザー名とパスワードのプロンプトが表示されます。
関連チュートリアル
このチュートリアルに関連するより詳細なガイドへのリンクは次のとおりです。