インターネットでは、ほとんどすべてのアプリケーションに、機密文書ファイルやpdfファイルなどを格納するディレクトリなどのパスワードで保護する必要のある部分があります。この記事では、これらのディレクトリをサーバーレベルで保護する方法を説明します。 Apachehtpasswdを使用します。
htpasswdとは何ですか?
これは、アプリケーションの一部またはアプリケーション全体をユーザー名とパスワードで保護できるようにするApacheユーティリティです。
以下の手順に従って、ubuntuサーバーでhtpasswdを設定します。
-
Apache2utilsをインストールします
apache2utilsのインストールは非常に簡単です。これは、端末で次のコマンドを実行することで実行できます。
$ sudo apt-get update
$ sudo apt-get install apache2-utils
-
Apachehtpasswdファイルを作成する
インストールが完了したら、ユーザー情報を保存するためのhtpasswdファイルを作成する必要があります。
$ sudo touch /etc/apache2/.htpasswd
ファイルが作成されると、ユーザーを使用してhtpasswdファイルを作成できるようになります。複数のアプリケーションに対して複数のユーザーを作成できます
-
htpasswdユーザーを追加
htpasswdにユーザーを追加するのは非常に簡単で、次のコマンドを実行するだけでユーザーを追加できます。
$ sudo htpasswd /etc/apache2/.htpasswd USERNAME
上記のコマンドを入力すると、そのユーザーのパスワードを2回設定するように求められます。強力なパスワードを入力するだけで、準備完了です。
VirtualHostを使用してApacheHtpasswd保護を設定する
仮想ホストファイルは、Apache Webブラウザーに、ドメイン名の特定のドキュメントルートにリクエストをリダイレクトするように要求します。ここでは、特定のディレクトリのパスワードを保護するためのコードを数行追加します。これには、以下のコマンドを実行します。
$ sudo nano /etc/apache2/sites-available/000-default.conf
以下のコードが含まれていることを確認してください。これにより、テストフォルダはパスワードで保護されます。
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html/test
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>
ブラウザからフォルダにアクセスすると、パスワードの入力を求められます。