仮想ホスト(vhosts)は、単一のサーバーまたはインターネットプロトコル(IP)アドレスを使用して複数のドメインにサービスを提供するために使用されます。その特定のサイトのホストファイルに設定されている内容に応じて、さまざまなページが表示されます。サーバーに必要な数の仮想ホストを追加できます。この記事では、CentOS®でvhostを作成する手順について説明します。
注: domain.com
のインスタンスを置き換えます この記事では、サイトのドメイン名を使用します。
CentOSのVhost構成の前提条件
この記事では、ドメインがサイトを指すようにドメインネームサービス(DNS)を構成しているか、テスト目的でドメインをサーバーに向けるためにコンピューター上のローカルホストファイルを使用していることを前提としています。
vhostを構成するには、サーバーにApache®がインストールされている必要があります。次のコマンドを実行してApacheをインストールします。
sudo yum install httpd
注: サーバーのファイアウォールがポート80でHTTPトラフィックを許可するように構成されていることを確認します。
CentOSでvhostディレクトリを作成します
-
次のコマンドを使用して、新しいディレクトリを作成します。
sudo mkdir -p /var/www/vhosts/domain.com/public_html
このディレクトリは、サイトのWebコンテンツを保存するために使用されます。これはドキュメントルートとして知られています Apache
vhost
内の場所 構成ファイル。-p
を使用する 新しいディレクトリの親を自動的に追加します。 -
次のコマンドを使用して、新しいディレクトリに必要な権限を設定します。
sudo chown -R username:vhostuser /var/www/vhosts/domain.com/public_html
注: vhostuser
を置き換えます username:vhostuser
内 新しいディレクトリへのアクセス権を持つ必要があるユーザーと。
次を使用して、vhostsディレクトリ内のファイルのすべてのユーザーに読み取りアクセスを許可します。
sudo chmod -R 755 /var/www/vhosts/
-
httpd.confを開きます
vi
のファイル 次のコマンドを使用したテキストエディタ:sudo vi /etc/httpd/conf/httpd.conf
-
ファイルの最後に次の行を挿入します。
Include vhost.d/*.conf
このアクションにより、Apacheは .confで終わるすべてのファイルを読み取るように設定されます /etc/httpd/vhost.d内 ディレクトリ。
-
構成ファイルを保存して終了します。
-
次のコマンドを使用して、vhost構成ファイルのディレクトリを作成します。
sudo mkdir /etc/httpd/vhost.d/
-
次のコマンドを使用して、将来の仮想ホストを作成できるvhostテンプレートを作成します。
touch /etc/httpd/vhost.d/default.template
-
default.templateを開きます
vi
のファイル 次のコマンドを使用して:vi /etc/httpd/vhost.d/default.template
-
/etc/httpd/vhost.d/default.template内に次のコードを挿入します ファイル:
<VirtualHost *:80> ServerName domain.com ServerAlias www.domain.com DocumentRoot /var/www/vhosts/domain.com/public_html <Directory /var/www/vhosts/domain.com/public_html> Options Indexes FollowSymLinks MultiViews AllowOverride All </Directory> CustomLog /var/log/httpd/domain.com-access.log combined ErrorLog /var/log/httpd/domain.com-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn </VirtualHost> #<VirtualHost _default_:443> # ServerName example.com # DocumentRoot /var/www/vhosts/domain.com/public_html # <Directory /var/www/vhosts/domain.com/public_html> # Options Indexes FollowSymLinks MultiViews # AllowOverride All # </Directory> # CustomLog /var/log/httpd/example.com-ssl-access.log combined # ErrorLog /var/log/httpd/example.com-ssl-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. # LogLevel warn # SSLEngine on # SSLCertificateFile /etc/ssl/certs/domain.crt # SSLCertificateKeyFile /etc/ssl/certs/domain.key #</VirtualHost>
-
ファイルへの変更を保存し、
vi
を終了します 。
vhostファイルを作成し、Apacheサービスを再起動します
-
/etc/httpd/vhost.d内にvhostファイルを作成します 次のコマンドを使用してディレクトリを作成します:
sudo cp /etc/httpd/vhost.d/default.template /etc/httpd/vhost.d/domain.com.conf
-
domain.com.confを開きます
vi
のファイル 次のコマンドを使用して:sudo vi /etc/httpd/vhost.d/domain.com.conf
-
ファイルへの変更を保存し、
vi
を終了します 。 -
次のコマンドを実行して、Apacheを再起動します。
sudo service httpd restart
次のメッセージが表示されます:
Stopping httpd: [OK] Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 0000:0000:0000:0000:0000:0000:0000:0000 for ServerName [OK]
これは無視できるデフォルトの警告です。
これで仮想ホストがセットアップされ、使用できるようになりました。 WebコンテンツをDocumentRootにアップロードする必要があります ブラウザを使用してドメイン名に移動したときにコンテンツを提供するためにサーバー上に作成したディレクトリ。