Ubuntu18.04でApache仮想ホストを設定する方法[クイックスタート]
序章
このチュートリアルでは、Ubuntu18.04サーバーでApache仮想ホストを使用して複数のドメインとWebサイトを設定する方法について説明します。 このプロセスでは、要求しているドメインに応じて、さまざまな訪問者にさまざまなコンテンツを提供する方法を学習します。
このチュートリアルのより詳細なバージョンと各ステップの詳細については、 Ubuntu18.04でApache仮想ホストをセットアップする方法を参照してください。
前提条件
このチュートリアルを完了するには、Ubuntu18.04サーバーで以下にアクセスする必要があります。
- サーバー上のsudoユーザー
sudo apt install apache2
でインストールできるApache2Webサーバー
ステップ1—ディレクトリ構造を作成する
まず、最上位のApacheディレクトリで訪問者に提供するサイトデータを保持するディレクトリ構造を作成します。 以下で強調表示されているドメイン名の例を使用します。 これらを実際のドメイン名に置き換える必要があります。
- sudo mkdir -p /var/www/example.com/public_html
- sudo mkdir -p /var/www/test.com/public_html
ステップ2—権限を付与する
ここで、ファイルを変更できるように、現在の非rootユーザーへのアクセス許可を変更する必要があります。
- sudo chown -R $USER:$USER /var/www/example.com/public_html
- sudo chown -R $USER:$USER /var/www/test.com/public_html
さらに、ページを正しく提供できるように、一般的なWebディレクトリとそれに含まれるすべてのファイルとフォルダへの読み取りアクセスが許可されていることを確認します。
- sudo chmod -R 755 /var/www
ステップ3—仮想ホストごとにデモページを作成する
提供するコンテンツをいくつか作成しましょう。サイトごとにデモindex.html
ページを作成します。 たとえばnanoを使用して、最初のサイトのテキストエディタでindex.html
ファイルを開くことができます。
- nano /var/www/example.com/public_html/index.html
このファイル内に、次のようなドメイン固有のHTMLドキュメントを作成します。
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html>
ファイルを保存して閉じてから、このファイルをコピーして、2番目のサイトのベースとして使用します。
- cp /var/www/example.com/public_html/index.html /var/www/test.com/public_html/index.html
ファイルを開き、関連する情報を変更します。
- nano /var/www/test.com/public_html/index.html
<html>
<head>
<title>Welcome to Test.com!</title>
</head>
<body> <h1>Success! The test.com virtual host is working!</h1>
</body>
</html>
このファイルも保存して閉じます。
ステップ4—新しい仮想ホストファイルを作成する
Apacheには、テンプレートとして使用する000-default.conf
というデフォルトの仮想ホストファイルが付属しています。 これをコピーして、各ドメインの仮想ホストファイルを作成します。
最初の仮想ホストファイルを作成する
最初のドメインのファイルをコピーすることから始めます。
- sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.com.conf
root権限でエディター(以下ではnanoを使用)で新しいファイルを開きます。
- sudo nano /etc/apache2/sites-available/example.com.conf
このファイルを独自のドメイン用にカスタマイズします。 状況に応じて、以下の強調表示されたテキストを変更してください。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
この時点で、ファイルを保存して閉じます。
最初の仮想ホストをコピーして、2番目のドメイン用にカスタマイズする
最初の仮想ホストファイルが確立されたので、そのファイルをコピーして必要に応じて調整することで、2番目の仮想ホストファイルを作成できます。
それをコピーすることから始めます:
- sudo cp /etc/apache2/sites-available/example.com.conf /etc/apache2/sites-available/test.com.conf
エディターでroot権限で新しいファイルを開きます。
- sudo nano /etc/apache2/sites-available/test.com.conf
次に、2番目のドメインを参照するために、すべての情報を変更する必要があります。 最終的なファイルは次のようになり、関連するドメイン情報に対応する強調表示されたテキストが表示されます。
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName test.com
ServerAlias www.test.com
DocumentRoot /var/www/test.com/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
終了したら、ファイルを保存して閉じます。
手順5—新しい仮想ホストファイルを有効にする
仮想ホストファイルを作成したら、それらを有効にする必要があります。 この目標を達成するために、a2ensite
ツールを使用します。
- sudo a2ensite example.com.conf
- sudo a2ensite test.com.conf
次に、000-default.conf
で定義されているデフォルトサイトを無効にします。
- sudo a2dissite 000-default.conf
終了したら、Apacheを再起動してこれらの変更を有効にし、systemctl status
を使用して再起動が成功したことを確認する必要があります。
- sudo systemctl restart apache2
これで、サーバーが2つのWebサイトにサービスを提供するように設定されているはずです。
手順6—ローカルホストファイルを設定する(オプション)
この手順をテストするために所有している実際のドメイン名を使用しておらず、代わりにいくつかのサンプルドメインを使用している場合は、ローカルコンピューターのhosts
ファイルを一時的に変更して作業をテストできます。
ローカルのMacまたはLinuxマシンで、次のように入力します。
- sudo nano /etc/hosts
ローカルWindowsマシンの場合、ここでhostsファイルを変更する手順を見つけてください。
このガイドで使用されているドメインを使用し、サーバーIPをyour_server_IP
テキストに置き換えると、ファイルは次のようになります。
127.0.0.1 localhost
127.0.1.1 guest-desktop
your_server_IP example.com
your_server_IP test.com
ファイルを保存して閉じます。 これにより、コンピューター上のexample.com
およびtest.com
の要求がすべて送信され、サーバーに送信されます。
ステップ7—結果をテストする
仮想ホストを構成したので、Webブラウザーで構成したドメインに移動してセットアップをテストできます。
http://example.com
次のようなページが表示されます。
2番目のページにアクセスして、2番目のサイト用に作成したファイルを確認することもできます。
http://test.com
これらのサイトの両方が期待どおりに機能する場合は、同じサーバー上に2つの仮想ホストを構成しています。
自宅のコンピューターのhostsファイルを調整した場合は、追加した行を削除します。
関連チュートリアル
このチュートリアルに関連するその他のガイドへのリンクは次のとおりです。