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

LinuxのApacheWebサーバーでアプリケーションを構成してホストします

前回の記事「LinuxにApacheWebサーバーをインストールする方法」では、LinuxマシンにApacheをインストールする方法について説明しました。この記事では、以下を含むApacheの基本構成をフォローアップします

  • ファイアウォールを介したApacheトラフィックを許可する
  • Apacheサービスの管理
  • Apacheでの仮想ホストの設定
  • 別のポートでリッスンするようにApacheを構成します
  • 特定のIPアドレスからのアクセスを許可/拒否

前提条件

  • Ubuntu20.04システム
  • sudo権限を持つユーザー
  • インストールされているApacheWebサーバー

注: この記事で説明するコマンドは、 Ubuntu 20.04 LTSでテストされています。 (Focal Fossa)。 同じコマンドがDebianディストリビューションにも有効です。

ファイアウォールを介したApacheトラフィックの許可

OSでファイアウォールが有効になっている場合は、ファイアウォールを通過するApacheトラフィックを許可する必要があります。 Apacheサーバーは、デフォルトで、HTTPの場合はポート80で、httpsの場合は443でリッスンします。 HTTP(ポート80)トラフィックがファイアウォールを通過できるようにするには、ターミナルで次のコマンドを実行します。

$ sudo ufw allow 'Apache'

HTTPS(ポート443)トラフィックがファイアウォールを通過できるようにするには、ターミナルで次のコマンドを実行します。

$ sudo ufw allow 'Apache Secure'

HTTP(ポート80)とHTTPS(ポート443)の両方のトラフィックがファイアウォールを通過できるようにするには、ターミナルで次のコマンドを実行します。

$ sudo ufw allow 'Apache Full'

Apacheサービスの管理

インストール後、Apacheサービスは自動的にバックグラウンドで実行を開始します。 Apacheサービスのステータスを表示するには、ターミナルで次のコマンドを発行します。

$ systemctl status apache2

次の出力では、アクティブ(実行中) ステータスは、Apacheサービスがアクティブで、問題なく実行されていることを示しています。

Apacheサービスを手動で開始するには、次のコマンドを使用します。

$ sudo systemctl start apache2

起動/起動時にApacheサービスを自動的に開始できるようにするには、次のコマンドを使用します。

$ sudo systemctl enable apache2

Apacheサービスを再起動するには、次のコマンドを使用します。

$ sudo systemctl restart apache2

Apacheサービスを停止するには、次のコマンドを使用します。

$ sudo systemctl stop apache2

Apacheでの仮想ホストの設定

Apacheの仮想ホストを使用すると、単一のApacheWebサーバーから多数のWebサイトを実行できます。次のセクションでは、ドメイン「test.org」用に1つの仮想ホストを構成します。複数のドメインの場合は、ドメインごとに同じ手順に従います。

ステップ1:ドメインのディレクトリを作成する

最初のステップは、ドメインのディレクトリを作成することです。複数のドメインをホストする必要がある場合は、ドメインごとに個別のディレクトリを作成してください。私たちのドメインの場合test.org 、次のコマンドでディレクトリを作成します:

$ sudo mkdir /var/www/test.org

必ずtest.orgを置き換えてください ドメイン名を使用します。

ステップ2:所有権と権限を設定する

ドメインのディレクトリは現在、rootユーザーが所有しています。他のユーザーがファイルを変更できるようにするには、ディレクトリの所有権を変更する必要があります。ターミナルで次のコマンドを使用します。

$ sudo chown -R $USER:$USER /var/www/ test.org

また、ドメインディレクトリに必要な権限を設定します。以下のコマンドの755は、読み取り、書き込み、および実行のアクセス許可をすべてのユーザーに割り当て、読み取り、書き込み、および実行のアクセス許可をファイルの所有者に割り当てます。

$ sudo chmod -R 755 /var/www/ test.org

ステップ3:ドメインのサンプルindex.htmlページを作成する

次に、サンプルの index.htmlを作成します ドメインがコンテンツを提供するためのページ。ファイルを作成するindex.html /var/www/test.orgで ディレクトリ。

この目的でNanoエディターを使用しています:

$ sudo nano /var/www/test.org/index.html

次のコンテンツをファイルに追加します。

<html>

<head>

<title>Your test.org server block is up!</title>

</head>

<body>

<h1>This is a test page for test.org website!</h1>

</body>

</html>

編集が完了したら、 index.htmlを保存して閉じます。 ファイル。

次に、サンプルの index.html 当サイトのページが作成されました。

ステップ4:新しい仮想ホストファイルを作成する

Apachesには、デフォルトのWebサーバーの構成を含むデフォルトの仮想ホストファイルがあります。私たちのドメインの場合test.org 、別の仮想ホストファイルを作成します。

ターミナルで次のコマンドを発行して、ドメインの仮想ホストファイルを作成します。

$ sudo nano /etc/apache2/sites-available/test.org.conf

以下のコンテンツをファイルに追加します。

<VirtualHost *:80>
ServerAdmin [email protected]

ServerName test.org

ServerAlias www.test.org

DocumentRoot /var/www/test.org/html

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

必ずtest.orgを置き換えてください 自分のドメイン名で。

編集が完了したら、ファイルを保存して閉じます。

ステップ5:仮想ホストファイルを有効にする

ここで、前の手順で作成した仮想ホストファイルを有効にします。これを行うには、ターミナルで次のコマンドを発行します。

$ sudo a2ensite test.org.conf

デフォルトの仮想ホストファイルを使用していないため、無効にすることができます。次のコマンドを使用して無効にします。

$ sudo a2dissite 000-default.conf

次に、次のコマンドを使用してApache構成をリロードします。

$ systemctl reload apache2

ステップ6:hostsファイルを構成する(オプション)

実際のドメイン名がなく、テストドメインを使用して手順をテストするだけの場合は、 / etc / hostsにドメインのエントリを追加する必要があります。 ファイル。

/ etc / hostsを編集します ターミナルで次のコマンドを使用してファイルを作成します:

$ sudo nano /etc/hosts

このファイルに次のエントリを追加して、 server_IPを置き換えます およびdomain_name ご使用の環境のIPアドレスとドメイン名を使用します。

server_IP domain_name

この例では、エントリは次のようになります。

192.168.72.157 test.org

次に、/ etc/hostsファイルを保存して閉じます。

ステップ6:エラーをテストする

次に、Apache構成のエラーをテストします。これを行うには、次のコマンドを使用します。

$ sudo apache2ctl configtest

すべて問題がなければ、構文OK 出力のメッセージ。また、テスト結果に次の警告メッセージが表示される場合があります。

このメッセージを抑制するには、サーバー名を追加します /etc/apache2/apache2.confのディレクティブ ファイル。

/etc/apache2/apache2.confを編集します ターミナルで次のコマンドを使用してファイルを作成します:

$ sudo nano /etc/apache2/apache2.conf

test.orgを置き換えるファイルに次のエントリを追加します ドメイン名:

ServerName test.org

ファイルを保存して閉じます。

ここでも、Apacheで構成エラーをテストします。これで、警告が削除されたことがわかります。

ステップ7:Apacheがドメイン名を提供しているかどうかをテストします

次に、Webブラウザのアドレスバーにある次のアドレスに移動して、セットアップをテストします。

http://domain_name

この例では、次のようになります。

http://test.org

次のページは、仮想ホストが正常に構成され、Apacheがドメイン名を提供していることを示しています。

別のポートでリッスンするようにApacheを構成する

デフォルトでは、Apacheはポート80でWebトラフィックをリッスンします。他のサービスがすでにポート80でリッスンしている場合、ISPがポート80をブロックしている場合、またはポート80を禁止したい場合など、Apacheポートを変更する必要がある場合があります。攻撃。ただし、デフォルトのポートを変更した後は、ブラウザでhttp:// domain_name:port_nmuberなどの新しいポートを指定する必要があることに注意してください。

1. /etc/apache2/ports.confを編集します 以下のコマンドを使用してファイルを作成します:

$ sudo nano /etc/apache2/ports.conf

これはports.confのデフォルトビューです デフォルトのポートとして構成されているポート80を確認できるファイル。

このポート番号を、Apacheサーバーがリッスンする他の値に変更します。

編集が完了したら、ports.confファイルを保存して閉じます。

2.次に、新しいポートでリッスンするように仮想ホストを構成する必要があります。仮想ホストファイルを編集するには、ターミナルで次のコマンドを使用します。

$ sudo nano /etc/apache2/sites-avaialble/test.org.conf file

上記のコマンドで、必ず test.org.confを置き換えてください 仮想ホストファイル名を使用します。

エントリを検索します 値を80から変更します Apacheにリッスンさせたい任意の番号に。たとえば、ポート番号を 9090に変更するには 、エントリは に変更されます。

:ポート番号を設定するには、1024〜65535の範囲の値を選択します。

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

Apacheは、複数のポートでリッスンするように構成することもできます。たとえば、ポート80と9090をリスニングポートとして設定するには、 /etc/apache2/ports.confに次のエントリを追加します。 ファイル:

Listen 80

Listen 9090

/etc/apache2/sites-avaialble/test.org.confにもあります ファイルの場合、次の方法でエントリを追加します。

<VirtualHost *:80 *:9090>

完了したら、ターミナルで次のコマンドを使用してApacheサービスを再起動します。

$ sudo systemctl restart apache2

特定のIPアドレスからのアクセスを許可/拒否

次のセクションでは、特定のIPアドレスによるサイトへのアクセスを許可/拒否する方法を説明します。この目的のために.htaccessファイルを使用します。

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

まず、.htaccessファイルを有効にする必要があります。これを行うには、ターミナルで次のコマンドを発行します。

$ sudo nano /etc/apache2/sites-available/test.org.conf

VirtualHostブロックの後に、ファイルに次の行を追加します。

<Directory /var/www/html/example.com/public_html>

Options Indexes FollowSymLinks

AllowOverride All

Require all granted

</Directory>

次に、ファイルを保存し、次のコマンドを使用してapacheを再起動します。

$ sudo systemctl apache2 restart

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

次に、.htaccessファイルを作成する必要があります。仮想ホストのルートディレクトリに移動します。

$ cd /var/www/test.org

次に、次のコマンドを使用して、ここに.htaccessファイルを作成します。

$ sudo nano .htaccess

ステップ3:IPアドレスを許可/拒否

拒否するには 特定のIPアドレスがWebサイトにアクセスできない場合は、次の方法で.htaccessファイルにエントリを追加する必要があります。

order deny, allow

# To deny IP address 192.168.9.8

allow from 192.168.9.8

# To deny all IP addresses from 192.168.9.0 to 192.168.9.255

allow from 192.168.9

To allow For this purpose, IP addresses from accessing your website, you will need to add entries in the .htaccess file in the following way:
order deny, allow

# To deny all IP addresses

Deny from all

# It will allow the IP address 192.168.9.30

allow from 192.168.9.30

# It will allow all IP addresses from 192.168.9.0 through 192.168.9.255
allow from 192.168.9

これですべてです。この記事では、LinuxでのApache構成の基本を学びました。これには、ファイアウォールの構成、Apacheサービスの管理、仮想ホストの設定、デフォルトのリスニングポートの変更、特定のIPによるサイトへのアクセスの許可/拒否が含まれます。 Apache構成の詳細については、Apacheサーバーの公式ドキュメント(http://httpd.apache.org/docs/)にアクセスしてください。


Ubuntu
  1. ApacheWebサーバーを構成する方法

  2. Linux Mint 13 / LinuxMint14にApacheWebサーバーをインストールします

  3. Nginxをインストールし、Ubuntu20.04で仮想ホストを構成します

  1. CentOS7にApacheWebサーバーをインストールする方法

  2. Ubuntu18.04でApacheを使用してNextcloudをインストールおよび構成する方法

  3. Ubuntu13.10にApacheWebサーバーをインストールして構成する方法

  1. ArchLinuxをサーバーとしてインストールおよび設定する方法

  2. Ubuntu18.04LTSにVSFTPDサーバーをインストールして構成する

  3. LinuxでDHCPサーバーをインストールして構成する方法