GNU/Linux >> Linux の 問題 >  >> Ubuntu

Apacheで.htaccessファイルを有効にして設定する方法

htaccessファイルとは何ですか?

.htaccess ファイル Apacheは、ディレクトリおよびサブディレクトリレベルでの設定を可能にするツールです。 。htaccessを使用する サーバー構成ファイルを変更せずにWebサイトのアクセス許可を構成できます。

このチュートリアルでは、 htaccessを設定して有効にする方法を説明します。 Apacheで。 また、サーバー上の特定のローカリゼーションへのアクセスを制限する方法、IPアドレスを管理する方法、およびトラフィックをリダイレクトする方法についても説明します。

前提条件

  • 動作しているApacheWebサーバー
  • ターミナルウィンドウ/コマンドラインへのアクセス
  • sudo権限を持つユーザーアカウントへのアクセス
  • Nなどのテキストエディタ ano 、デフォルトで含まれています

ステップ1:Apache.htaccessを有効にする

デフォルトでは、。 htaccess ファイルが有効になっていません。

1.ターミナルで次のコマンドを入力して、デフォルトのホスト構成ファイルを開きます。

sudo nano /etc/apache2/sites-available/default

2. というラベルの付いたセクションを見つけます 。
そのセクションで、 AllowOverride Noneを変更します すべてのエントリ:

AllowOverride All

ファイルを保存 終了します。

3.次に、再起動 Apacheサービス:

sudo systemctl apache2 restart

ステップ2:.htaccessファイルを作成する

ほとんどのLinuxソフトウェアパッケージと同様に、Apacheは構成ファイルで機能します。 .htaccess ファイルはこれらの1つです。値とともに設定を指定することで機能します。

.htaccessを作成して開くには 編集するファイルには、次のように入力します:

sudo nano /var/www/my_website.com/.htaccess

my_websiteを置き換えます あなたの実際のウェブサイトの名前で。このファイルが存在しない場合は、テキストエディタで作成されます。

ステップ3:ディレクトリリストを制限する

アクセスを制限したい場所がサーバー上にある可能性があります。これを行うには、アクセスを許可されているユーザー名とパスワードのリストを作成します。

1.新しいファイル.htpasswdを作成することから始めます 別のディレクトリにある:

sudo nano /user/safe_location/.htpasswd

作成する各ユーザーのユーザー名とパスワードを入力します。必ず強力なパスワードを使用してください 、1行に1つのユーザー名とパスワードのペアのみを入力します。

ファイルを保存して終了します。

2.次に、.htaccessを編集して認証を有効にする

AuthUserFile /user/safe_location/.htpasswd

AuthGroupFile /dev/null

AuthName "Please Enter Password"

AuthType Basic

Require valid-user

/ user / safe_location / htpasswdを置き換えます お好みの場所で。セキュリティ上の理由から、Webコンテンツと同じディレクトリに保存しないでください。

AuthUserFile -これにより、.htpasswdファイルの場所が設定されます。

AuthGroupFile -グループを使用していないため、これはプレースホルダーです。

AuthName -これはユーザーへのプロンプトです。必要に応じて言い換えることができます。

AuthType -使用する認証の種類–これは変更しないでください。

Require valid-user –複数の許可された人のいずれかがログオンできるようにします。これをRequireuser new_userに変更できます ユーザー名がnew_userのユーザーのみにアクセスを制限する 。

IPアドレスの管理

IPアドレスを管理する方法はたくさんあります:

  1. 特定のIPのみを許可します。
  2. 特定のIPアドレスをブロックします。
  3. リファラーによって訪問者をブロックします。

IPアドレスを許可する

IPアドレスを許可するには、動作を切り替えて、指定されたいくつかのIPアドレスを許可し、残りをブロックします。

コマンドを入力します:

order deny, allow 

allow from 192.168.0.54

allow from 192.168.0 

ブロックIPアドレス

htaccessでIPアドレスをブロックするには 、次のように入力します: order allow, deny

単一のIPアドレスをブロックするには、次のコードを入力します: deny from 192.168.0.54

最後の桁を省略すると、0〜255の範囲のすべてのIPアドレスがブロックされます。

例:deny from 192.168.0

リファラーによる訪問者のブロック

特定のサイトからサーバーにユーザーがリダイレクトされないようにすることができます。これは、トラフィックパターンを分離する場合に役立つことがあります。疑わしいソースから過剰なサーバートラフィックを取得している場合にも使用できます。

.htaccessを開きます ファイルを作成し、次のブロックを追加します:

RewriteEngine on

# Options +FollowSymlinks

RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC]

RewriteRule .* - [F]

NC オプションは、大文字または小文字を無視して、 BlockedDomain.comと入力してルールをバイパスできないようにするように指示します。 。

ドメインをさらに追加する場合は、次の点に注意してください。

RewriteEngine on

# Options +FollowSymlinks

RewriteCond %{HTTP_REFERER} blockeddomain\.com [NC,OR]

RewriteCond %{HTTP_REFERER} blockeddomain2\.com

RewriteRule .* - [F]

OR フラグは、ブロックされたリファラーの追加がまだ完了していないことをシステムに通知します。最後のエントリでこのオプションを省略します。

トラフィックのリダイレクト

.htaccessを使用できます トラフィックをリダイレクトするファイル。

ファイルを開き、次のように入力します。

Redirect301/Other_Website.com/index.html/My_Website.com/index.html

このコマンドは、 Other_Website.comを検索しているすべてのトラフィックを取得します そしてそれをMy_Website.comにリダイレクトします 。

404ページを設定

htaccessを使用できます 基本機能を新しい場所にポイントするファイル。一例として、404ページがあります。 。

1. .htaccessを開きます ファイルして入力します:

ErrorDocument 404 /404.html

この行は、システムにWebサイトのコンテンツディレクトリで /404.htmlを探すように指示します。 エラーページとしてファイルします。

2.次のコマンドを使用して404ページを作成します。

sudo nano cd /var/www/My_Website.com/public.html/404.html

これにより、 404.htmが開きます。 lテキストエディタでファイルします。

3.次に、次のコードを追加します。

<!doctype html>

<html>

 <body>

   404 Error: Page not found

 </body&gt;

</html>

このページをカスタマイズして、必要なあらゆる種類のエラーメッセージを表示できるようになりました。他のエラーページをカスタマイズすることもできます。 ErrorDocumentを指定するだけです 番号、たとえば、エラー500 ポイント.htaccessより 新しいerror.html 作成したファイル。


Ubuntu
  1. .htaccessファイルを介してExecCGIを有効にする方法は?

  2. LinuxまたはUNIXでApacheファイルとディレクトリのインデックスを有効にするにはどうすればよいですか?

  3. .htaccessファイルを使用してerror-log.txtログを有効にする方法は?

  1. .htaccessを使用してApacheで基本認証を設定する方法

  2. ApacheでvHostを設定する方法

  3. ファイルを実行不可として設定するには?

  1. .htaccessファイルを介してExecCGIを有効にするにはどうすればよいですか?

  2. register_globalsを有効にする方法

  3. Apacheでファイルのアップロードサイズの制限を設定するにはどうすればよいですか?