仮想ホストは、単一のサーバーで複数のWebサイトを実行できるようにするApache構成ディレクティブです。仮想ホストを使用すると、サイトのドキュメントルート(Webサイトファイルを含むディレクトリ)を指定したり、サイトごとに個別のセキュリティポリシーを作成したり、さまざまなSSL証明書を使用したりできます。
この記事では、Ubuntu20.04でApache仮想ホストを設定する方法について説明します。
前提条件#
ガイドを続行する前に、次の要件を満たしていることを確認してください。
- パブリックサーバーのIPを指す1つ以上のドメイン名。
- UbuntuシステムにインストールされているApache。
- rootまたはsudo権限を持つユーザーとしてログインしています。
ドキュメントルートは、ドメイン名のWebサイトファイルが保存され、要求に応じて提供されるディレクトリです。ドキュメントルートは任意の場所に設定できます。この例では、次のディレクトリ構造を使用します。
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
サーバーでホストされている各ドメインのドキュメントルートは、/var/www/<domain_name>/public_html
に設定されます。 。
ドメインのルートディレクトリを作成することから始めます:
sudo mkdir -p /var/www/domain1.com/public_html
index.html
も作成します ブラウザでドメインにアクセスしたときに表示されるドメインドキュメントのルートディレクトリ内のファイル:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to domain1.com</title>
</head>
<body>
<h1>Success! domain1.com home page!</h1>
</body>
</html>
上記のコマンドはsudoユーザーとして実行されるため、新しく作成されたファイルとディレクトリはrootが所有します。権限の問題を回避するには、ドメインドキュメントのルートディレクトリとディレクトリ内のすべてのファイルの所有権をapacheユーザー(www-data
)に変更します。 ):
sudo chown -R www-data: /var/www/domain1.com
仮想ホストの作成#
Ubuntuシステムでは、Apache仮想ホスト構成ファイルは/etc/apache2/sites-available
にあります。 ディレクトリ。 /etc/apache2/sites-enabled
へのシンボリックリンクを作成することで有効にできます 起動時にApacheが読み取ったディレクトリ。
選択したテキストエディタを開き、次の基本的な仮想ホスト構成ファイルを作成します。
/etc/apache2/sites-available/domain1.com.conf<VirtualHost *:80>
ServerName domain1.com
ServerAlias www.domain1.com
ServerAdmin [email protected]
DocumentRoot /var/www/domain1.com/public_html
<Directory /var/www/domain1.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/domain1.com-error.log
CustomLog ${APACHE_LOG_DIR}/domain1.com-access.log combined
</VirtualHost>
ServerName
:この仮想ホスト構成に一致する必要があるドメイン。これはあなたのドメイン名である必要があります。-
ServerAlias
:www
など、この仮想ホストに一致する必要がある他のすべてのドメインまたはサブドメイン サブドメイン。 -
DocumentRoot
:Apacheがドメインファイルを提供するディレクトリ。 Options
:このディレクティブは、特定のディレクトリで使用できるサーバー機能を制御します。-Indexes
:ディレクトリリストを防止します。-
FollowSymLinks
:このオプションを有効にすると、Apacheはシンボリックリンクをたどります。
-
AllowOverride
:.htaccess
で宣言されているディレクティブを指定します ファイルは構成ディレクティブをオーバーライドできます。 -
ErrorLog
、CustomLog
:ログファイルの場所を指定します。
構成ファイルには任意の名前を付けることができますが、ベストプラクティスは、仮想ホスト構成ファイルの名前としてドメイン名を使用することです。
新しい仮想ホストファイルを有効にするには、a2ensite
を使用します 仮想ホストファイルからsites-enabled
へのシンボリックリンクを作成するヘルパースクリプト ディレクトリ:
sudo a2ensite domain1.com
もう1つのオプションは、以下に示すシンボリックリンクを手動で作成することです。
sudo ln -s /etc/apache2/sites-available/domain1.com.conf /etc/apache2/sites-enabled/
完了したら、次のコマンドで構文エラーがないか構成をテストします。
sudo apachectl configtest
エラーがない場合は、次の出力が表示されます。
Syntax OK
変更を有効にするには、Apacheサービスを再起動します。
sudo systemctl restart apache2
最後に、すべてが期待どおりに機能していることを確認するには、http://domain1.com
を開きます。 ブラウザに表示されると、index.html
のコンテンツが表示されます。 ページ: