複数ドメインでの運用(バーチャルホスト) Apache,httpd.conf




IPが一つで複数のドメインを運用する設定方法です。

httpd.confに以下のようなバーチャルホスト設定を行います。

注意すべき点は www.ドメイン名 で表示したい場合

「ServerAlias www.ドメイン名」とwwwを付けておくことです。

「httpd.conf 」ファイルを開いて編集します。

# vi /etc/httpd/conf/httpd.conf

 

viでhttpd.confを開いたら
「Shift + G」でファイルの末尾を見ましょう。
バーチャルホスト関連のデフォルトテンプレート)があります。

NameVirtualHostのデフォルト

# Use name-based virtual hosting.
#
#NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#

 
VirtualHostのデフォルト

# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log common
#

 
こちらは1回だけ記載します。
先頭の#を削除し、IPアドレス*の部分を自分のIPアドレスに変えます。

NameVirtualHost IPアドレス*:80

あとは、バーチャルアドレスの個数分、下記のように設定します。
※<VirtualHost IPアドレス*:80> の部分だけIPアドレスを入力するのがポイントです
 

<VirtualHost IPアドレス*:80>
DocumentRoot /var/www/html/ドメイン名1
ServerName ドメイン名1
ServerAlias www.ドメイン名1
ErrorLog /var/log/www/www.ドメイン名1_error_log
TransferLog /var/log/www/www.ドメイン名1_access_log
</VirtualHost>

<VirtualHost IPアドレス*:80>
DocumentRoot /var/www/html/ドメイン名2
ServerName ドメイン名2
ServerAlias www.ドメイン名2
ErrorLog /var/log/www/www.ドメイン名2_error_log
TransferLog /var/log/www/www.ドメイン名2_access_log
</VirtualHost>

<VirtualHost IPアドレス*:80>
DocumentRoot /var/www/html/ドメイン名3
ServerName ドメイン名3
ServerAlias www.ドメイン名3
ErrorLog /var/log/www/www.ドメイン名3_error_log
TransferLog /var/log/www/www.ドメイン名3_access_log
</VirtualHost>

 
下記のディレクトリを作成してユーザーに権限を与える。

/var/log/www/ドメイン名1
/var/log/www/ドメイン名2
/var/log/www/ドメイン名3
/var/log/www/

 
ディレクトリの作成・ユーザーの権限設定・パーミッションの変更は下記のコマンドで

mkdir /var/www/html/ドメイン名
chown ユーザー名:ユーザーグループ名 /var/www/html/ドメイン名
chmod 777 /var/www/html/ドメイン名

 

Apacheの再起動
 

#/etc/rc.d/init.d/httpd restart

(メモ)
一度はきちんと表示sれたけれど、再起動してうまく表示されない場合
・ドメイン用のフォルダを削除していないか
・ドメイン用のパーミッションを変更していないか
・ログ用のディレクトリを作り、パーミッションを適切に設定しているか
をチェック




人気記事一覧


関連記事一覧

This entry was posted in Apache and tagged , , , , . Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">