Apache Webサーバーを使用すると、インターネット上でWebコンテンツを提供できます。基本的に、Apache Webサーバーを使用する場合、仮想ホストを使用して、単一のサーバーで複数のドメインをホストできます。 Apacheは、その機能とコンポーネントを個々のユニットに分割するため、個別にカスタマイズできます。個々のサイトまたはドメインを記述する基本単位は、仮想ホストと呼ばれます。
ここLinuxAPTでは、サーバー管理サービスの一環として、お客様が関連するApacheクエリを実行するのを定期的に支援しています。
これに関連して、CentOS7サーバーでApache仮想ホストをセットアップする方法を検討します。
CentOSでApache仮想ホストを作成する方法は?
この手順に進む前に、次の前提条件が満たされていることを確認する必要があります。
- sudo権限を持つroot以外のユーザーがいるCentOS7サーバー。
- CentOS 7サーバーにApacheをインストールする方法で説明されているように、Apacheをインストールして構成する必要があります。
- ドメイン名はサーバーのIPアドレスを指している必要があります。
1.ディレクトリ構造を作成します
まず、ドメインのWebサイトファイルが保存され、訪問者への応答を提供するディレクトリを作成します。一般的に、それはDocumentRootと呼ばれます。ドキュメントルートは任意の場所に設定できますが、ディレクトリ構造で設定することをお勧めします。一般的にすべての/var/ www:
/var/www/
├── example1.com
│ └── public_html
├── linuxapt.com
│ └── public_html
ここでは、サーバーでホストするドメインごとに/ var/wwwディレクトリ内に個別のディレクトリを作成する必要があります。
$ sudo mkdir -p /var/www/example1.com/public_html
これをテストするために、ドメインドキュメントのルートディレクトリ内にindex.htmlファイルを作成します。このページは、訪問者がサイトにアクセスしたときにデフォルトで表示されます。
お気に入りのテキストエディタを使用して新しいindex.htmlファイルを作成するには、次のコマンドを実行します。
$ sudo vi /var/www/example1.com/public_html/index.html
次に、以下の行を追加します。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Welcome!!</title>
</head>
<body>
<h1>Success! example1.com set up completed!</h1>
</body>
</html>
すべてのコマンドはsudoユーザーとして実行されるため、新しく作成されたファイルとディレクトリはrootユーザーが所有します。通常のユーザーのアクセス許可の問題を回避するために、ドキュメントのルートディレクトリの所有権を変更します。したがって、通常のユーザーは問題なくWebディレクトリ内のファイルを変更できます。
$ sudo chown -R apache: /var/www/example1.com
2.仮想ホストファイルを作成する
仮想ホストを設定する方法は複数あります。仮想ホストディレクティブごとに個別のファイルを作成することも、すべての仮想ホストディレクティブを1つのファイルに追加することもできます。保守性があるため、ドメインごとに個別のファイルを作成することをお勧めします。
CentOSでは、Apacheはデフォルト設定のため、/ etc / httpd /conf.d/ディレクトリからすべての.confファイルをロードします。そこで、別の仮想ホストを作成します。
次に、次のコマンドを実行して、選択したテキストエディタを使用して新しいファイルを作成します。
$ sudo vi /etc/httpd/conf.d/example1.com.conf
<VirtualHost *:80>
ServerName example1.com
ServerAlias www.example1.com
DocumentRoot /var/www/example1.com/public_html
<Directory /var/www/example1.com/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
</Directory>
ErrorLog /var/log/httpd/example1.com-error.log
CustomLog /var/log/httpd/example1.com-access.log combined
</VirtualHost>
次の点に注意してください:
- サーバー名:これはドメイン名であり、仮想ホスト構成と一致している必要があります。
- ServerAlias:この仮想ホストにも一致する必要がある他のすべてのドメインまたはサブドメイン(通常はwwwサブドメイン)。
- DocumentRoot:Apacheがドメインファイルを提供する仮想ホストディレクトリのパス。
- オプション:このディレクティブは、特定のディレクトリで使用できるサーバー機能を制御します。
- -インデックス:ディレクトリの一覧表示を防ぎます。
- FollowSymLinks:このオプションが有効になっている場合、Apacheはシンボリックリンクをたどります。
- AllowOverride:.htaccessファイルで宣言されたディレクティブが構成ディレクティブをオーバーライドできることを指定します。
- ErrorLog、CustomLog:ログファイルの場所を指定します。
ここでは、構成ファイルに任意の名前を付けることができますが、ファイル名はドメイン名と同じにすることをお勧めします。
次に、タイプ別に構文を確認します:
$ sudo apachectl configtest
次のような出力が表示されます:
Output
Syntax OK
新しく作成された仮想ホストをアクティブにするには、apache2サービスを再起動する必要があります:
$ sudo systemctl restart httpd
最後に、Webブラウザでドメイン(http://example1.com)にアクセスして確認すると、次のように表示されます。
Success! example1.com set up completed!