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