GNU/Linux >> Linux の 問題 >  >> Cent OS

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

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

このチュートリアルでは、CentOS7サーバーでApache仮想ホストをセットアップする方法について段階的に説明します。

前提条件#

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

  • パブリックサーバーのIPを指すドメイン名があります。 example.comを使用します 。
  • CentOS7にApacheをインストールする方法に従ってApacheをインストールしました。
  • sudo権限を持つユーザーとしてログインしています。
ディレクトリ構造の作成#

DocumentRootは、ドメイン名のWebサイトファイルが保存され、要求に応じて提供されるディレクトリです。ドキュメントルートは任意の場所に設定できます。この例では、次のディレクトリ構造を使用します。

/var/www/
├── example.com
│   └── public_html
├── example-1.com
│   └── public_html
├── example-2.com
│   └── public_html

/var/www内のサーバーでホストするドメインごとに個別のディレクトリを作成しています ディレクトリ。これらの各ディレクトリ内に、public_htmlを作成します。 ドメインのウェブサイトファイルを保存するディレクトリ。

ドメインexample.comのルートディレクトリを作成します mkdirコマンドの使用:

sudo mkdir -p /var/www/example.com/public_html

テストの目的で、index.htmlを作成します ドメインドキュメントのルートディレクトリ内のファイル。エディターを開き、次の内容の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に変更します ユーザー:

sudo chown -R apache: /var/www/example.com

仮想ホストファイルの作成#

仮想ホストを設定する方法はいくつかあります。すべての仮想ホストディレクティブを1つのファイルに追加するか、仮想ホストディレクティブごとに新しい構成ファイルを作成することができます。個人的には、2番目のアプローチの方が保守しやすいので、私は2番目のアプローチを好みます。

デフォルトでは、Apacheは.confで終わるすべての構成ファイルをロードするように構成されています /etc/httpd/conf.d/から ディレクトリ。

特定のWebサイトの仮想ホストを作成するには、選択したエディターを開き、次の基本的な仮想ホスト構成ファイルを作成します。

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

必要に応じてファイルを編集し、保存します。

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

次のコマンドで構成ファイルの構文をテストします:

sudo apachectl configtest

エラーがない場合は、次の出力が表示されます。

Syntax OK

新しく作成された仮想ホストをアクティブ化するには、次のコマンドでApacheサービスを再起動します。

sudo systemctl restart httpd

http://example.comを開いて、すべてが期待どおりに機能していることを確認します :


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

  2. CentOS7でApache仮想ホストを構成する

  3. CentOSで仮想ホストを設定する

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

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

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

  1. CentOS7にApacheを使用してWordPressをインストールする方法

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

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