Apache仮想ホストとは何ですか?
仮想ホスト 単一の物理サーバーまたは仮想プライベートサーバーから複数のWebサイトを実行できます。 Apacheには2つのタイプの仮想ホストがあります:
- IPベースの仮想ホスティング –ApacheServer上の個々のWebサイトはすべて異なる一意のIPアドレスを使用します。
- 名前ベースの仮想ホスト –単一のIPアドレスを使用して複数のドメインを追加できます。
このチュートリアルでは、Ubuntu18.04システムでApache仮想ホストを設定する方法を説明します。
前提条件
- コマンドライン/ターミナルウィンドウ
- rootまたはsudoを持つユーザー 特権
- パブリックサーバーのIPを指すドメイン
- Ubuntu上のApacheWebサーバーがインストール、構成、アクティブ化されている
- ファイアウォールが有効
単一のIPに複数のドメインを設定する
Apache Virtual Hostを使用すると、Webサイトをセットアップするときにリソースを最大化できます。この強力なソフトウェアを使用すると、単一のサーバーと単一のIPアドレスを使用して、さまざまなドメインをホストできます。
Apache仮想ホストを設定する前に、ApacheWebサーバーをインストールする必要があります。これを行うには、次のコマンドを実行します:
sudo apt-get install apache2
Webサーバーのセットアップで問題が発生した場合は、UbuntuへのApacheのインストールに関する詳細なチュートリアルを参照してください。
名前ベースの仮想ホストを設定する方法
名前ベース 仮想ホスティングにより、クライアントはHTTPヘッダーの要素としてホスト名をサーバーに報告できます。この機能は、1台のマシンで同じIPアドレスを共有する複数のWebサイトをホストできることを意味します。
ステップ1:ディレクトリ構造を作成する
各仮想ホストには、仮想ホストデータを格納するためのディレクトリが必要です。次の場所にディレクトリとディレクトリ構造を作成します/ var / www 。この例では、 phxnap1.comを作成しました およびphxnap2.com ディレクトリ、ドメイン名ごとに1つ。
1.次のコマンドを入力し、サンプルドメインをドメイン名に置き換えます。
sudo mkdir -p /var/www/phxnap1.com/public_html
sudo mkdir -p /var/www/phxnap2.com/public_html
ディレクトリ内に、 public_htmlも作成しました 。これらのディレクトリには、ドメインのWebサイトファイルが保存されます。
2.次に、サンプルの index.htmlを作成します nano を使用して、各ドメインのページ またはお気に入りのテキストエディタ。最初のドメインから始めます:
nano /var/www/phxnap1.com/public_html/index.html
3.次のサンプルHTMLを追加します。
<html>
<head>
<title>Welcome to phoenixNAP 1!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your first domain!</h1>
</body>
</html>
4.ファイルを保存して終了します。
5.次に、2番目のドメインのサンプルページを作成します。
nano /var/www/phxnap2.com/public_html/index.html
6.次の行をファイルに追加します。
<html>
<head>
<title>Welcome to phoenixNAP 2!</title>
</head>
<body>
<h1>Well done! Everything seems to be working on your second domain!</h1>
</body>
</html>
7.2番目のHTMLファイルを保存して終了します。
8.権限の問題を防ぐために、ドキュメントのルートディレクトリの所有権を www-dataに変更します 。この場合、chownコマンドは便利です:
sudo chown –R www-data:www-data /var/www/phxnap1.com
sudo chown –R www-data:www-data /var/www/phxnap2.com
これで、ディレクトリの所有権がApacheユーザーに正常に変更されました 。
ステップ2:仮想ホスト構成ファイルを作成する
Apache仮想ホスト構成ファイルは/ etc / apache2 / sites-availableに保存されます ディレクトリ。
1.最初のドメインの基本構成ファイルを作成するには、コマンドにドメイン情報を入力します。
sudo nano /etc/apache2/sites-available/phxnap1.com.conf
2.次の構成ブロックを追加して、基本構成ファイルを作成します。この例では、最初のテストドメイン phxnap1.com を使用します 。ウェブサイトに適切なドメインを入力してください:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName phxnap1.com
ServerAlias www.phxnap1.com
DocumentRoot /var/www/phxnap1.com/public_html
ErrorLog ${APACHE_LOG_DIR}/phxnap1.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap1.com-access.log combined
</VirtualHost>
- サーバー名 –ドメインを表します
- ServerAlias –サブドメインなどの他のすべてのドメインを表します
- DocumentRoot –ドメインファイルを提供するためにApacheが使用するディレクトリ
- ErrorLog、CustomLog –ログファイルの場所を指定します
確立された形式はありません。ただし、ドメイン名に基づいて構成ファイルに名前を付けることは「ベストプラクティス」です。
4.最初のドメインの構成ファイルを編集したら、残りの部分についてもこのプロセスを繰り返します。この場合、実行します:
sudo nano /etc/apache2/sites-available/phxnap2.com.conf
5.次に、上記の例のように構成ブロックを追加し、 phxnap2.comの値を必ず変更します。 :
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName phxnap2.com
ServerAlias www.phxnap2.com
DocumentRoot /var/www/phxnap2.com/public_html
ErrorLog ${APACHE_LOG_DIR}/phxnap2.com-error.log
CustomLog ${APACHE_LOG_DIR}/phxnap2.com-access.log combined
</VirtualHost>
ステップ3:仮想ホスト構成ファイルを有効にする
仮想ホストファイルを有効にするには、仮想ホストファイルからサイトが有効なディレクトリへのシンボリックリンクを作成します。 Apache2は、見つめているときにこのファイルを読み取ります。
1.a2ensiteヘルパーを使用します 次のコマンドで仮想ホストファイルを有効にするには:
sudo a2ensite phxnap1.com
出力は次のように表示されます:
2.次のように入力して、2番目のドメインに対してプロセスを繰り返します。
sudo a2ensite phxnap2.com
3.次に、次のコマンドを使用して、構成ファイルの構文が正しいことを確認します。
sudo apachectl configtest
ターミナルのメッセージは、構文が正しいことを確認します:「構文OK」
4.変更を適用するためにApache2を再起動します:
sudo systemctl restart apache2
5.あとは、WebブラウザにアクセスしてWebサイトにアクセスするだけです。 index.htmlに基づく 以前に作成したファイルの場合、ドメインごとに適切なメッセージが表示されます。
phxnap1.com
phxnap2.com
ステップ4:ファイアウォールを構成する(オプション)
UbuntuでSSHを有効にするルールを作成して、ファイアウォール設定を変更し、セキュリティを向上させます。
sudo ufw allow OpenSSH
Apacheへのアクセスを許可するルールを追加します。
sudo ufw allow in “Apache Full”
次に、ファイアウォールを有効にします。
sudo ufw enable
「コマンドによって既存のSSH接続が中断される可能性があります」というメッセージが表示された場合。 y
を押します 。ファイアウォールが正常に機能している場合は、「ファイアウォールはアクティブであり、システムの起動時に有効になっています。」と表示されます。