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

Ubuntu18.04でApacheを使用して単一のサーバーで複数のWebサイトをホストする

Apacheは無料でオープンソースであり、世界中で最も広く使用されているWebサーバーです。そのパワーだけでなく、特定の機能を備えた複数のコンポーネントでも知られています。 Apache仮想ホストはそのようなコンポーネントの1つです。 1台のサーバーで複数のウェブサイトをホストできます。

大量のHDDスペース、RAM、CPUパワーなどの広範なリソースを備えた1つの大きなサーバーがある場合は、仮想ホスティングを使用して複数のWebサイトをホストできます。 ApacheWebサーバーで無制限の数のWebサイトをホストできます。サーバーにトラフィックとディスク容量の要件を処理するのに十分なリソースがあることを確認してください。最良の例の1つは、仮想ホスティングを使用して1台のサーバーで数百および数千のWebサイトをホストするWebホスティングプロバイダーです。

1台のサーバーで複数のウェブサイトをホストする方法は3つあります。

  1. 名前ベースの仮想ホスティング。
  2. IPベースの仮想ホスティング。
  3. ポートベースの仮想ホスティング。

このチュートリアルでは、3つの異なる方法で1つのサーバー上で2つのWebサイトをホストするプロセスについて説明します。

前提条件

  • Atlantic.Netクラウドプラットフォーム上の新しいUbuntu18.04VPS。
  • VPSIPアドレスを指す2つの有効なドメイン名またはサブドメイン名。このチュートリアルでは、site1.example.comとsite2.example.comをサブドメインとして使用します。
  • VPSに設定されている2つの静的IPアドレス192.168.0.101と192.168.0.102。

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

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

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

apt-get update -y

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

まず、次のコマンドを実行してApacheWebサーバーをインストールします。

apt-get install apache2 -y

インストールが完了したら、次のコマンドを使用してApacheサービスを開始します。

systemctl start apache2

名前ベースの仮想ホスティング

名前ベースの仮想ホスティングは、同じIPアドレスとポートで複数のWebサイトをホストするために最も一般的に使用される方法です。名前ベースの仮想ホスティングを使用して複数のウェブサイトをホストするには、有効なドメイン名が必要です。

このセクションでは、site1.example.comとsite2.example.comを使用して、1台のサーバーで2つのWebサイトをホストします。

ステップ3–ディレクトリ構造を作成する

まず、両方のWebサイトのドキュメントルートディレクトリを作成します。

mkdir /var/www/html/site1.example.com
mkdir /var/www/html/site2.example.com

次に、 index.htmlを作成します 両方のWebサイトのページ。

まず、 index.htmlを作成します site1.example.comのページ :

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

次の行を追加します:

<html>
<title>site1.example.com</title>
<h1>Welcome to site1.example.com Website</h1>
<p>This is my first website hosted with name-based virtual hosting</p>
</html>

次に、 index.htmlを作成します site2.example.comのページ :

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

次の行を追加します:

<html>
<title>site2.example.com</title>
<h1>Welcome to site2.example.com Website</h1>
<p>This is my second website hosted with name-based virtual hosting</p>
</html>

次に、 site1.example.comの所有権を変更します およびsite2.example.com www-dataへのディレクトリ :

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

ステップ4–仮想ホスト構成ファイルを作成する

次に、両方のWebサイトにサービスを提供するためにApache仮想ホスト構成ファイルを作成する必要があります。

まず、 site1.example.comのApache仮想ホスト構成ファイルを作成します :

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

次の行を追加します:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site1.example.com
DocumentRoot /var/www/html/site1.example.com
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/site1.example.com_error.log
CustomLog ${APACHE_LOG_DIR}/site1.example.com_access.log combined
</VirtualHost>

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

次に、 site2.example.comのApache仮想ホスト構成ファイルを作成します :

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

次の行を追加します:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName site2.example.com
DocumentRoot /var/www/html/site2.example.com
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/site2.example.com_error.log
CustomLog ${APACHE_LOG_DIR}/site2.example.com_access.log combined
</VirtualHost>

ファイルを保存して閉じます。次に、次のコマンドを使用して仮想ホスト構成ファイルを有効にします。

a2ensite site1.example.com
a2ensite site2.example.com

次に、Apache Webサーバーを再起動して、構成の変更を適用します。

systemctl restart apache2

ステップ5–両方のWebサイトをテストする

この時点で、2つのWebサイトにサービスを提供するようにApacheWebサーバーを構成しました。

次に、Webブラウザーを開き、URLhttp://site1.example.comを入力します。次の画面に最初のWebサイトが表示されます。

次に、Webブラウザーを開き、URLhttp://site2.example.comを入力します。次の画面に2番目のWebサイトが表示されます。

IPベースの仮想ホスティング

IPベースの仮想ホスティングは、IPアドレスに基づいてさまざまなWebサイトにサービスを提供する方法です。単一のサーバー上のWebサイトごとに個別のIPアドレスを割り当てることができます。

このセクションでは、IPアドレス192.168.0.101と192.168.0.102を使用して、1台のサーバーで2つのWebサイトをホストします。

ステップ3–ディレクトリ構造を作成する

まず、両方のWebサイトのドキュメントルートディレクトリを作成します。

mkdir /var/www/html/192.168.0.101
mkdir /var/www/html/192.168.0.102

次に、 index.htmlを作成します 両方のWebサイトのページ。

まず、 index.htmlを作成します 192.168.0.101でホストされているWebサイトのページ :

nano /var/www/html/192.168.0.101/index.html

次の行を追加します:

<html>
<title>192.168.0.101</title>
<h1>Welcome to 192.168.0.101 Website</h1>
<p>This is my first website hosted with IP-based virtual hosting</p>
</html>

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

次に、 index.htmlを作成します 192.168.0.102でホストされているWebサイトのページ :

nano /var/www/html/192.168.0.102/index.html

次の行を追加します:

<html>
<title>192.168.0.102</title>
<h1>Welcome to 192.168.0.102 Website</h1>
<p>This is my first website hosted with IP-based virtual hosting</p>
</html>

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

次に、両方のWebサイトの所有権をwww-dataに変更します:

chown -R www-data:www-data /var/www/html/192.168.0.101
chown -R www-data:www-data /var/www/html/192.168.0.102

ステップ4–仮想ホスト構成ファイルを作成する

次に、両方のWebサイトにサービスを提供するためにApache仮想ホスト構成ファイルを作成する必要があります。

まず、192.168.0.101でホストされているWebサイトのApache仮想ホスト構成ファイルを作成します。

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

次の行を追加します:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName  192.168.0.101
DocumentRoot /var/www/html/192.168.0.101
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/192.168.0.101_error.log
CustomLog ${APACHE_LOG_DIR}/192.168.0.101_access.log combined
</VirtualHost>

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

次に、192.168.0.102でホストされているWebサイトのApache仮想ホスト構成ファイルを作成します。

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

次の行を追加します:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName  192.168.0.102
DocumentRoot /var/www/html/192.168.0.102
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/192.168.0.102_error.log
CustomLog ${APACHE_LOG_DIR}/192.168.0.102_access.log combined
</VirtualHost>

ファイルを保存して閉じます。次に、次のコマンドを使用して仮想ホストを有効にします。

a2ensite 192.168.0.101
a2ensite 192.168.0.102

最後に、Apache Webサーバーを再起動して、変更を適用します。

systemctl restart apache2

ステップ5–両方のWebサイトをテストする

この時点で、2つのWebサイトにサービスを提供するようにApacheWebサーバーを構成しました。

次に、Webブラウザーを開き、URLhttp://192.168.0.101を入力します。次の画面に最初のWebサイトが表示されます。

次に、Webブラウザーを開き、URLhttp://192.168.0.102を入力します。次の画面に2番目のWebサイトが表示されます。

ポートベースの仮想ホスティング

ポートベースの仮想ホスティングは、ポート番号に基づいてさまざまなWebサイトにサービスを提供する方法です。単一のIPアドレスを持つ単一のサーバー上のWebサイトごとに個別のポート番号を割り当てることができます。

このセクションでは、8080と8081の番号が付けられたポートを使用して、IPアドレス192.168.0.101の単一サーバーで2つのWebサイトをホストします。

ステップ3–ポート8080および8081でリッスンするようにApacheを構成する

まず、ポート 8080でリッスンするようにApacheWebサーバーを構成する必要があります。 および8081 。ファイル/etc/apache2/ports.confを編集することでそれを行うことができます :

nano /etc/apache2/ports.conf

次の行をListen80の行のすぐ下に追加します :

Listen 8080
Listen 8081

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

ステップ4–ディレクトリ構造を作成する

まず、両方のWebサイトのドキュメントルートディレクトリを作成します。

mkdir /var/www/html/8080
mkdir /var/www/html/8081

次に、 index.htmlを作成します 両方のWebサイトのページ。

まず、 index.htmlを作成します ポート8080でホストされているWebサイトのページ :

nano /var/www/html/8080/index.html

次の行を追加します:

<html>
<title>8080</title>
<h1>Welcome to 8080 Website</h1>
<p>This is my first website hosted with Port-based virtual hosting</p>
</html>

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

次に、 index.htmlを作成します ポート8081でホストされているWebサイトのページ :

nano /var/www/html/8081/index.html

次の行を追加します:

<html>
<title>8081</title>
<h1>Welcome to 8081 Website</h1>
<p>This is my first website hosted with Port-based virtual hosting</p>
</html>

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

次に、両方のWebサイトの所有権をwww-dataに変更します:

chown -R www-data:www-data /var/www/html/8080
chown -R www-data:www-data /var/www/html/8081

ステップ5–仮想ホスト構成ファイルを作成する

次に、両方のWebサイトにサービスを提供するためにApache仮想ホスト構成ファイルを作成する必要があります。

まず、ポート 8080でホストされているWebサイトのApache仮想ホスト構成ファイルを作成します :

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

次の行を追加します:

<VirtualHost 192.168.0.101:8080>
ServerAdmin [email protected]
ServerName  192.168.0.101
DocumentRoot /var/www/html/8080
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/8080_error.log
CustomLog ${APACHE_LOG_DIR}/8080_access.log combined
</VirtualHost>

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

次に、ポート 8081でホストされているWebサイトのApache仮想ホスト構成ファイルを作成します。 :

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

次の行を追加します:

<VirtualHost 192.168.0.101:8081>
ServerAdmin [email protected]
ServerName  192.168.0.101
DocumentRoot /var/www/html/8081
DirectoryIndex index.html
ErrorLog ${APACHE_LOG_DIR}/8081_error.log
CustomLog ${APACHE_LOG_DIR}/8081_access.log combined
</VirtualHost>

ファイルを保存して閉じます。次に、次のコマンドを使用して仮想ホストを有効にします。

a2ensite 8080
a2ensite 8081

最後に、Apache Webサーバーを再起動して、変更を適用します。

systemctl restart apache2

ステップ6–両方のWebサイトをテストする

この時点で、2つのWebサイトにサービスを提供するようにApacheWebサーバーを構成しました。

次に、Webブラウザーを開き、URLhttp://192.168.0.101:8080を入力します。次の画面に従って最初のWebサイトが表示されます。

次に、Webブラウザーを開き、URLhttp://192.168.0.101:8081を入力します。次の画面に従って2番目のWebサイトが表示されます。

結論

おめでとう!これで、1つのサーバーで2つのWebサイトを3つの異なる方法で正常にホストできました。 Apache仮想ホスティング方式を使用して、より多くのWebサイトを簡単にホストできるようになりました。 Apache VPSで複数のWebサイトの構成を開始する準備ができている場合は、Atlantic.NetのVPSホスティングオプションを確認してください。


Linux
  1. ApacheWebサーバーで複数のWebサイトを構成する方法

  2. Dockerコンテナで複数のWebサイトをホストする

  3. Apache を使用して Ubuntu 22.04 に phpMyAdmin をインストールする

  1. Linuxサーバーでnginxを使用してサブドメインまたは複数のドメインをホストする方法

  2. Apache を使用して Ubuntu 20.04 に phpMyAdmin をインストールする

  3. 単一ホスト上の複数の glibc ライブラリ

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

  2. ubuntuでApache仮想ホストを構成する方法

  3. nginx &サイト利用可能な複数のウェブサイト