このチュートリアルでは、我々は、Debian 9にApacheのバーチャルホストを設定する方法を紹介します。
Apacheのバーチャルホストを使用すると、単一のコンピュータ上で複数のWebサイトをホストすることができます。仮想ホストを使用するときは、その上のドメインごとに指定するか、または別のドキュメントルートディレクトリ(Webサイトのファイルを含むディレクトリ)をサブドメイン、個別のセキュリティポリシーを作成し、別のSSL証明書を使用して、することができます。
このチュートリアルでは、Debian 9のために書かれているが、同じ手順では、すべてのDebianベースのディストリビューションに適用されますが。
前提
チュートリアルを続ける前に、次の前提条件が満たされていることを確認してください。
- ドメイン名は、サーバーのIPアドレスを指すようにしましょう。このチュートリアルでは、example.comを使用します。
- あなたはしているDebianのサーバにApacheをインストール。
- sudo権限を持つユーザーとしてログインします。
ディレクトリ構造を作成します。
ドキュメントルートディレクトリは、Webサイトのファイルを格納され、応答ファイルは、要求に応じて、ディレクトリに格納されています。あなたは、任意の所望の位置に設定し、ルートディレクトリを文書化することができます。このガイドでは、次のディレクトリ構造を使用します。
/ var / www /の ├──domain1.comで │└──public_htmlの ├──domain2.comの │└──public_htmlの ├──domain3.com │└──のpublic_html
ルートは/ var / www /の<ドメイン名> / public_htmlのに設定されている文書となる各ドメイン名に対して当社のサーバーにホストされています。
最初example.comドメインのドキュメントルートディレクトリを作成することから始めてみましょう:
須藤ます。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" > < 頭> < メタ のcharset = "UTF-8" > < タイトル> example.comへようこそ</ タイトル> </ ヘッド> < 身体> < H1 >成功!example.comのホームページ!</ H1 > </ ボディ> </ HTML >
私たちは、新たに、rootユーザーが所有するファイルとディレクトリを作成し、コマンドはsudoユーザーを実行します。
任意のアクセス許可の問題を避けるために、我々はドキュメントルートドメイン内のすべてのファイルとApacheサーバのユーザWWW-データ用ディレクトリ)の所有権を変更します:
sudoのchownコマンド-R WWW-データ:/var/www/example.com
仮想ホストを作成します。
Debianシステムでは、Apacheのバーチャルホストの設定ファイルは、/ etc / apache2の/サイト利用可能なディレクトリに配置し、設定ファイルを作成することで有効にすることができるの/ etc / apache2の/サイト対応のディレクトリのシンボリックリンクで指されます。
お好みのテキストエディタを開き、次の基本的な仮想ホストの設定ファイルを作成:/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 <ディレクトリ /var/www/example.com/public_html > オプション -Indexes + FollowSymLinksを AllowOverrideの すべての </ディレクトリ> のErrorLog $ {} APACHE_LOG_DIR /example.com-error.log のCustomLog $ {} APACHE_LOG_DIR /example.com-access.log組み合わせる </ VirtualHost>の
- サーバー名:この仮想ドメインホスト構成の一致が必要があります。これは、あなたのドメイン名でなければなりません。
- ServerAlias:他のすべてのドメインまたはサブドメインはまた、この仮想ホスト、通常のwwwサブドメインと一致する必要があります。
- DocumentRootの:ディレクトリサイトファイル。
- オプション:ディレクトリサーバ機能で利用可能なこの特定の制御命令。
- -Indexes:ディレクトリ一覧を防ぎます。
- FollowSymLinksを:このオプションを有効にすると、Apacheはシンボリックリンクをたどります。
- AllowOverrideの:宣言した設定手順を上書きすることができます.htaccessファイルを指定するディレクティブ。
- ErrorLog、のCustomLog:ログファイルの場所を指定します。
必要に応じて、仮想ホストの設定ファイルに名前を付けることができますが、コンフィギュレーションファイルの名前としてドメイン名を使用することをお勧めします。
新しい仮想ホストファイルを有効にするには、起動時にはApacheによって読み込まれるサイト対応のディレクトリ内の仮想ホストの設定ファイルへのシンボリックリンクを作成します。
Debianシステムでは、Webホスティングを有効a2ensiteと呼ばれるヘルパースクリプトを使用することができます。
sudoの a2ensite example.com
以下に示すように別のオプションは、手動でシンボリックリンクを作成することです:
sudoのLN -s /etc/apache2/sites-available/example.com.confは/ etc / apache2の/サイト対応/
正しい構文については、次のテストを入力して、設定を有効にした後:
sudoの設定試験のapachectl
エラーがない場合は、次のような出力が表示されます。
構文OK
変更を有効にするにはapache2のサービスを再起動します。
sudoのsystemctl再起動のapache2
すべてが期待どおりに、お好みのブラウザでhttp://example.comを開くことを確認するには、次のように表示されます。
結論
このチュートリアルでは、複数のドメインをホストする単一のDebianサーバ上のApache仮想ホストの構成を作成する方法を学びました。あなたは他のドメインのための追加の仮想ホストを作成するために、同じ手順を繰り返すことができます。