CentOS 上に Web サーバーを構築するためのドメイン名バインドと仮想ホスト構成のスキル
CentOS で Web サーバーを構築するためのドメイン名バインドと仮想ホスト構成のスキル
はじめに:
Web サーバーを構築する場合、ドメイン名バインドと仮想ホスト構成は非常に重要な手順です。この記事では、CentOS でドメイン名バインドと仮想ホストを構成する方法と、対応するコード例を紹介します。
1. ドメイン名のバインド
- hosts ファイルを変更する
まず、CentOS hosts ファイルにドメイン名と IP アドレス間のマッピング関係を追加する必要があります。通常は /etc/hosts にある hosts ファイルを見つけて開きます。
sudo vi /etc/hosts
ファイルの最後に次の行を追加します。 .example.com」はカスタマイズされたドメイン名、「192.168.0.100」はサーバーの IP アドレスです:
192.168.0.100 www.example.com
ファイルを保存して閉じます。
- DNS 解決の構成
ドメイン名が登録され、DNS 解決が有効になっている場合は、この手順をスキップできます。それ以外の場合は、ドメイン名レジストラーのコントロール パネルで、ドメイン名がサーバーの IP アドレスを指すようにする必要があります。 - Apache の構成
次に、ドメイン名が正しいディレクトリを指すように Apache サーバーを構成する必要があります。 Apache のメイン設定ファイル httpd.conf を開きます:
sudo vi /etc/httpd/conf/httpd.conf
次の行を見つけて変更し、「www.example.com」を置き換えます。 「バインドするドメイン名に変更します:
ServerName www.example.com:80
ファイルを保存して閉じます。
Apache サービスを再起動して、設定を有効にします:
sudo service httpd restart
2. 仮想ホストの設定
- 仮想ホストの作成directory
仮想ホストの構成には、Web サイト ファイルを保存するための別のディレクトリが必要です。まず、仮想ホストのファイルを保存するディレクトリを作成します:
sudo mkdir /var/www/virtual_host
- Apache 構成ファイルを変更します
Apache を開きます仮想ホスト構成ファイル httpd-vhosts.conf:
sudo vi /etc/httpd/conf.d/httpd-vhosts.conf
ファイルの最後に、次の内容を入力し、「example.com」をドメイン名、「/var/www/virtual_host/example.com」を先ほど作成したディレクトリ パスに置き換えます。
ServerName example.com DocumentRoot /var/www/virtual_host/example.com <Directory /var/www/virtual_host/example.com> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
ファイルを保存して閉じます。
- アクセス許可の設定
Apache から Web サイト ファイルにアクセスできるようにするには、仮想ホスト ディレクトリのアクセス許可を変更する必要があります:
sudo chown -R apache:apache /var/ www/virtual_host/example.com
sudo chmod -R 755 /var/www/virtual_host/example.com
- Apache サービスを再起動します
Restart構成を有効にするための Apache サービス:
sudo service httpd restart
この時点で、仮想ホストの構成は完了です。
コード例:
- index.html ファイルの作成
仮想ホスト ディレクトリに、Web サイトのホームページとしてindex.html ファイルを作成します:
sudo vi /var/www/virtual_host/example.com/index.html
次の内容をファイルに貼り付けます:
< html>
<title>Welcome to example.com!</title>
<h1>Welcome to example.com!</h1> <p>This is the default web page for the domain example.com.</p>