Ubuntu18.04でApacheを使用してパスワード認証を設定する方法[クイックスタート]
序章
このチュートリアルでは、Ubuntu18.04で実行されているApacheWebサーバー上のパスワード保護アセットについて説明します。 これらの手順を完了すると、サーバーに追加のセキュリティが提供され、権限のないユーザーがページの特定の部分にアクセスできなくなります。
このチュートリアルのより詳細なバージョンと各ステップの詳細については、 Ubuntu18.04でApacheを使用してパスワード認証を設定する方法を参照してください。
前提条件
このチュートリアルを完了するには、Ubuntu18.04サーバーで以下にアクセスする必要があります。
-
A
sudo
サーバー上のユーザー -
Apache2Webサーバー
-
SSLで保護されたサイト
ステップ1—Apacheユーティリティパッケージをインストールします
と呼ばれるユーティリティをインストールします htpasswd
、 の一部 apache2-utils
制限されたコンテンツへのアクセス権を持つユーザー名とパスワードを管理するためのパッケージ。
- 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ブラウザで制限されたコンテンツにアクセスしてみてください。 ユーザー名とパスワードのプロンプトが表示されます。
関連チュートリアル
このチュートリアルに関連するより詳細なガイドへのリンクは次のとおりです。