GNU/Linux >> Linux の 問題 >  >> Debian

Debian9でApache仮想ホストを設定する方法

このチュートリアルでは、Debian9でApache仮想ホストを設定する方法について説明します。

Apache Virtual Hostsを使用すると、1台のマシンで複数のドメインをホストできます。仮想ホストを使用する場合、ドメインまたはサブドメインごとに異なるドキュメントルート(Webサイトファイルを含むディレクトリ)を指定したり、個別のセキュリティポリシーを作成したり、異なるSSL証明書を使用したりすることができます。

このチュートリアルはDebian9向けに書かれていますが、同じ手順がすべてのDebianベースのディストリビューションに適用されます。

前提条件#

このチュートリアルを続行する前に、次の前提条件を満たしていることを確認してください。

  • サーバーのIPアドレスを指すドメイン名を使用します。このチュートリアルでは、example.comを使用します 。
  • DebianサーバーにApacheをインストールします。
  • 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へのシンボリックリンクを作成することで有効にできます ディレクトリ。

選択したテキストエディタを開き、次の基本的な仮想ホスト構成ファイルを作成します。

/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で宣言されているディレクティブを指定します ファイルは構成ディレクティブをオーバーライドできます。
  • ErrorLogCustomLog :ログファイルの場所を指定します。

必要に応じて仮想ホスト構成ファイルに名前を付けることができますが、構成ファイルの名前としてドメイン名を使用することをお勧めします。

新しい仮想ホストファイルを有効にするには、仮想ホストファイルからsites-enabledへのシンボリックリンクを作成します ディレクトリ。起動時にApacheによって読み取られます。

Debianシステムでは、a2ensiteという名前のヘルパースクリプトを使用して仮想ホストを有効にできます。 :

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を開きます。 お気に入りのブラウザで、次のように表示されます:


Debian
  1. Ubuntu18.04でApache仮想ホストを設定する方法

  2. CentOSでApache仮想ホストを設定する方法

  3. Debian 11に静的IPを設定する-その方法は?

  1. Debian10BusterでPython仮想環境をセットアップする方法

  2. Ubuntu20.04でApache仮想ホストを設定する方法

  3. CentOS7でApache仮想ホストを設定する方法

  1. CentOS8でApache仮想ホストを設定する方法

  2. Debian9でNginxサーバーブロックを設定する方法

  3. Debian10LinuxにApacheWebサーバーをインストールする方法