GNU/Linux >> Linux の 問題 >  >> Ubuntu

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

仮想ホストは、単一のサーバーで複数の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も作成します ブラウザでドメインにアクセスしたときに表示されるドメインドキュメントのルートディレクトリ内のファイル:

/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 :この仮想ホスト構成に一致する必要があるドメイン。これはあなたのドメイン名である必要があります。
  • ServerAliaswwwなど、この仮想ホストに一致する必要がある他のすべてのドメインまたはサブドメイン サブドメイン。
  • DocumentRoot :Apacheがドメインファイルを提供するディレクトリ。
  • Options :このディレクティブは、特定のディレクトリで使用できるサーバー機能を制御します。
    • -Indexes :ディレクトリリストを防止します。
    • FollowSymLinks :このオプションを有効にすると、Apacheはシンボリックリンクをたどります。
  • AllowOverride.htaccessで宣言されているディレクティブを指定します ファイルは構成ディレクティブをオーバーライドできます。
  • ErrorLogCustomLog :ログファイルの場所を指定します。

構成ファイルには任意の名前を付けることができますが、ベストプラクティスは、仮想ホスト構成ファイルの名前としてドメイン名を使用することです。

新しい仮想ホストファイルを有効にするには、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のコンテンツが表示されます。 ページ:


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

  2. Ubuntu 18.04でApache仮想ホストを構成する-ステップバイステップのプロセス?

  3. Ubuntu – Ubuntuで静的IPを設定する方法は?

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

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

  3. UbuntuオペレーティングシステムでApache仮想ホストを設定する

  1. Ubuntu20.04にGoをインストールする方法

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

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