web-dev-qa-db-ja.com

.htaccessを使用して特定のフォルダーに認証を設定するにはどうすればよいですか?

Webサーバー上でファイルをプライベートにホストするフォルダーがあります。

.htaccessを使用してパスワードで保護するにはどうすればよいですか?

注:モノリシックなものは何もありません。シンプルで簡単なものが欲しいので、私と数人の同僚がいくつかのファイルをダウンロードできるようにセットアップしてください。

5
Evan Plaice

.htpasswdのコンテンツを持つusername:passwordというファイルを作成する必要があります(暗号化する必要があります。

次に、これをhtaccesss fileに追加します。

AuthUserFile /usr/local/you/safedir/.htpasswd
AuthGroupFile /dev/null
AuthName EnterPassword
AuthType Basic

require user username

このガイド に従ってください。

また、暗号化されたパスワードを生成するためのツールは次のとおりです。 http://tools.dynamicdrive.com/password (リンクの元の投稿者に感謝)

2
Oren Hizkiya

htpasswd(パスワードジェネレーター)をインストールします

apache2-utilsをインストールします

Sudo apt-get install Apache2-utils

上記のパッケージにはhtpasswdコマンドがあります。

基本認証を構成する

apache2.confファイルに移動して編集します

  1. 「AllowOverride none」を「AllowOverride All」に変更し、.htaccessを有効にしてディレクトリで作業します。

  2. 上記の編集行「AllowOverride AuthConfig」の下に新しい行を追加して、Apache2が認証を処理できるようにします。これらのモジュールは有効にする必要があることに注意してください

    1. authn_core_module
    2. authz_core_module

このコマンドでこれらのモジュールをチェックできます(有効または無効)

Sudo Apache2ctl -M 

パスワードファイルの作成(新しいユーザーとパスワードの作成)

  1. / var/www/html /にフォルダーを作成します

    Sudo mkdir -m /var/www/html/my_protected_folder

  2. htpasswd -c /var/www/html/my_protected_folder/.htpassword usernameおよびプロンプトのパスワードを入力します。ユーザー名と暗号化されたパスワードで作成された.htpasswordファイル。

    1. これらのコンテンツを含むクレート.htaccessファイルAuthType Basic AuthName "Restricted Access" AuthUserFile /var/www/html/my_protected_folder/.htpassword Require user username

許可と所有権を変更する

  1. Sudo chown -R www-data:www-data /var/www/html/my_protected_folder
  2. Sudo chmod 660 /var/www/html/my_protected_folder/.htpassword

あなたのページにアクセスして、書いたユーザー名「ユーザー名」とパスワードを入力してください。

1