Apacheは無料でオープンソースであり、世界中で最も広く使用されているWebサーバーです。そのパワーだけでなく、特定の機能を備えた複数のコンポーネントでも知られています。 Apache仮想ホストはそのようなコンポーネントの1つです。 1台のサーバーで複数のウェブサイトをホストできます。
大量のHDDスペース、RAM、CPUパワーなどの広範なリソースを備えた1つの大きなサーバーがある場合は、仮想ホスティングを使用して複数のWebサイトをホストできます。 ApacheWebサーバーで無制限の数のWebサイトをホストできます。サーバーにトラフィックとディスク容量の要件を処理するのに十分なリソースがあることを確認してください。最良の例の1つは、仮想ホスティングを使用して1台のサーバーで数百および数千のWebサイトをホストするWebホスティングプロバイダーです。
1台のサーバーで複数のウェブサイトをホストする方法は3つあります。
- 名前ベースの仮想ホスティング。
- IPベースの仮想ホスティング。
- ポートベースの仮想ホスティング。
このチュートリアルでは、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ホスティングオプションを確認してください。