複数サイトが展開できるよう、バーチャルホストを設定する
複数サイトが展開できるよう、バーチャルホストを設定する
WEBサーバー構築に欠かせないこと、バーチャルホストの設定についてです。
一つのサーバーで複数サイトを展開出来ます。
イメージとしては、サーバーの中に違うドメインのお部屋を複数用意してあげることでしょうか?
何はともあれ、バーチャルホストの設定をしてみます。
バーチャルホストが使えるよう、Apacheに設定
vi /etc/httpd/conf/httpd.conf ←Apache設定ファイル変更
httpd.confのファイルが表示されたらすかさず
?NameVirtualHost
と書いて、Enter
カーソルが移動します。
(これはviエディタの検索機能です)
[iキー]を押してインサートモード
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80 ←コメント解除
#
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80 ←コメント解除
#
このコメント解除をすることで、バーチャルホストが使えるようになります。
Escキーを押して、インサートモード終了
:wq![Enterキー] ファイルの変更を保存して終了
/etc/rc.d/init.d/httpd restart
再起動でApacheの変更設定を反映させます。
バーチャルホスト設定
ここでは
example.com
と、いう例のドメインでバーチャルホストでhttp://example.comとアドレスバーに打つとページが表示されるまでの手順を紹介します。
まずはユーザーの追加
ユーザーを追加し、追加したユーザーディレクトリに対しバーチャルホスト用のドキュメントルートディレクトリとします。
adduser example.com
ユーザーを追加した段階で
/home/example.com
と、いうユーザーにマッチしたディレクトリが出来るんでしたね。今回はこのディレクトリをドキュメントルートを作るのに利用します。
まずはユーザーに対するパスワードの設定
passwd example.com
パスワードまで設定し、ユーザーの追加を完了させます。
ユーザーの追加がパスワードまで完了したら、以下のコマンドを順番に打ってください
chmod 755 /home/example.com ←example.comのディレクトリパーミッション700を755に変更
#
mkdir /home/example.com/public_html ←example.comディレクトリの下にpublic_htmlディレクトリ
chown example.com /home/example.com/public_html/ ←ディレクトリの所有者変更 これがないとFTPツールで変更がかけられなくなる
#
mkdir /home/example.com/public_html ←example.comディレクトリの下にpublic_htmlディレクトリ
chown example.com /home/example.com/public_html/ ←ディレクトリの所有者変更 これがないとFTPツールで変更がかけられなくなる
バーチャルホストの設定ファイルを作成
vi /etc/httpd/conf.d/virtualhost-example.com.conf ←赤字部分にドメイン指定
<VirtualHost *:80>
ServerName example.com ←赤字部分にドメイン指定
DocumentRoot /home/example.com/public_html ←URLを叩いたら読みにいくディレクトリ
ErrorLog logs/virtual-error_log
CustomLog logs/virtual-access_log combined env=!no_log
</VirtualHost>
<VirtualHost *:80>
ServerName example.com ←赤字部分にドメイン指定
DocumentRoot /home/example.com/public_html ←URLを叩いたら読みにいくディレクトリ
ErrorLog logs/virtual-error_log
CustomLog logs/virtual-access_log combined env=!no_log
</VirtualHost>
ここまで書けたら、
Escキー(インサートモード終了)
:wp!
:wp!
で、ファイルを保存し、Apacheを再起動します。
# /etc/rc.d/init.d/httpd restart
テストファイルの作成
echo ‘‘ >> /home/example.com/public_html/index.php