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

Ubuntu18.04でApacheを使用してパスワード認証を設定する方法

Apache Webサーバーは無料でオープンソースであり、世界で最も広く使用されているWebサーバーの1つです。 Web上でコンテンツを提供できます。

アプリケーションがApacheWebサーバーでホストされている場合、すべてのユーザーがインターネット経由でアプリケーションにアクセスできます。場合によっては、認証されたユーザーのみがアプリケーションにアクセスできるように、アプリケーションを保護する必要があります。 Apache htpasswdを使用して、サーバーレベルでアプリケーションを保護できます。このユーティリティを使用すると、特定のWebサイトへのアクセスを、ログインの詳細のみを持っている限られた人に制限できます。

このチュートリアルでは、Ubuntu18.04でApacheを使用してパスワード認証を設定する方法を示します。

前提条件

  • Atlantic.netクラウドプラットフォーム上の新しいUbuntu18.04VPS。
  • サーバーで構成されているrootパスワード。

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。少なくとも1GBのRAMを搭載したオペレーティングシステムとしてUbuntu18.04を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

Ubuntu 18.04サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

apt-get update -y

ステップ2–ApacheWebサーバーをインストールする

apt-get install apache2 apache2-utils -y

インストールしたら、Apacheサービスを開始し、次のコマンドを使用してシステムの再起動後に開始できるようにします。

systemctl start apache2
systemctl enable apache2

次に、Webブラウザーを開き、URL http://your-server-ipに移動します。次の画面にデフォルトのApacheWebページが表示されます。

ステップ3–Apacheパスワードファイルを作成する

まず、Apacheがユーザーの認証に使用できるパスワードファイルを作成する必要があります。 htpasswdユーティリティを使用して、user1という名前のユーザーの/ etc/apache2ディレクトリを使用して非表示の.htpasswdファイルを作成できます。

htpasswd -c /etc/apache2/.htpasswd user1

以下に示すように、希望するパスワードを入力します。

New password:
Re-type new password:
Adding password for user user1

上記のコマンドは、ユーザー資格情報を使用して.htpasswdファイルを作成します。 Webサイトにアクセスするには、これらの資格情報を使用する必要があります。

ステップ4–サンプルWebサイトを作成する

このセクションでは、テスト用にサンプルのディレクトリ構造とindex.htmlファイルを作成します。

まず、次のコマンドを使用してWebサイトのディレクトリを作成します。

mkdir /var/www/html/example.com

次に、次のコマンドを使用して、Webディレクトリ内にindex.htmlファイルを作成します。

nano /var/www/html/example.com/index.html

次のコンテンツを追加します:

<html>
<title>Password Protected Apache Website.</title>
<h1>This website is password protected.</h1>
</html>

終了したら、ファイルを保存して閉じます。次に、Webディレクトリの所有権をwww-dataに変更します:

chown -R www-data:www-data /var/www/html/example.com

ステップ5–Apache基本認証を構成する

次に、Webサイト用のApache仮想ホスト構成ファイルを作成し、基本認証を定義する必要があります。

nano /etc/apache2/sites-available/example.conf

次の行を追加します:

<VirtualHost *:80>
  ServerAdmin [email protected]
  ServerName  example.com
  DocumentRoot /var/www/html/example.com
  DirectoryIndex index.html
  ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined
  <Directory "/var/www/html/example.com">
      AuthType Basic
      AuthName "Restricted Content"
      AuthUserFile /etc/apache2/.htpasswd
      Require valid-user
  </Directory>
</VirtualHost>

終了したら、ファイルを保存して閉じます。

各ディレクティブの簡単な説明を以下に示します。

  • ServerAdmin :サーバー管理者のメールアドレス。
  • サーバー名 :サーバーが自身を識別するために使用するドメイン名。
  • DocumentRoot :アプリケーションのパスを指定してください。
  • DirectoryIndex :ディレクトリにアクセスしたときに表示するデフォルトのページを指定します。
  • AuthType :認証の種類。
  • AuthName :パスワードページに表示するメッセージを指定します。
  • AuthUserFile :ユーザークレデンシャルファイルの場所を指定します。
  • 必須 :サーバーのこの領域にアクセスできるユーザーを指定します。

次に、次のコマンドを使用して、Apacheに構文エラーがないか確認します。

apachectl -t

次の出力が得られるはずです:

Syntax OK

次に、次のコマンドを使用して、WebサイトのApache仮想ホストファイルを有効にします。

a2ensite example.conf

次に、Apacheサービスを再起動して、変更を実装します。

systemctl restart apache2

ステップ6–Apacheパスワード認証を確認する

この時点で、WebサイトはApache基本認証で保護されています。

確認するには、Webブラウザーを開き、URLhttp://example.comを入力します。以下に示すように、Webサイトにアクセスするためのユーザー名とパスワードを入力するように求められます。

ユーザー名とパスワードを入力し、ログインをクリックします ボタン。次の画面にWebサイトのデフォルトページが表示されます。

結論

上記のガイドでは、Ubuntu18.04でApacheを使用してパスワードで保護されたWebサイトを作成する方法を学びました。これで、Apacheを使用してWebサイトを簡単にパスワードで保護できます。Atlantic.NetのVPSホスティングプランを使用して、今すぐテストしてください。詳細については、ApacheAuthのApache公式ドキュメントをご覧ください。


Linux
  1. UbuntuでMail-in-a-Boxを使用してEメールサーバーをセットアップする方法

  2. Ubuntu20.04にPostfixAdminを使用してメールサーバーをインストールする方法

  3. Ubuntu 18.08でApacheパスワード認証を設定するにはどうすればよいですか?

  1. Ubuntu20.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. Ubuntu18.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  3. Ubuntu16.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  1. Ubuntu18.04にApacheを使用してJenkinsAutomationServerをインストールする方法

  2. Ubuntuで3ノードのApacheTomcatクラスターをセットアップする方法

  3. UbuntuサーバーでOpenVPNをセットアップする方法