httpd」カテゴリーアーカイブ

バーチャルホストを設定する

PHP5.4サーバにて作業

バーチャルホストを設定して、複数ドメインを同居できるようにします。

バーチャルドメインの有効化

httpdの設定ファイルを開きます。


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

おそらくファイルの最後のほうにある下記を先頭の # を外し有効化して保存。


NameVirtualHost *:80

ドメインごとの設定

/etc/httpd/conf.d/ にドメインごとにファイルを作っていきます。
※/etc/httpd/conf/httpd.conf に書いたり、1つのファイルに全部書いたり方法はいろいろありますが、下記の方法に落ち着きました。

httpdではバーチャルホストに設定されていないドメインでアクセスがあった場合、一番最初に読み込まれた VirtualHost の内容が利用されます。
/etc/httpd/conf.d/ の中はファイル名の昇順で読まれるというルールがあります。

そこで下記のように、数字の0で始まるファイル名にすることでこのファイルの内容がデフォルトで使われるようにします。


# vi /etc/httpd/conf.d/00-vh-default.conf


<VirtualHost *:80>
DocumentRoot "/hoge/www/default/httpdocs"
</VirtualHost>

※私はこちらを無効なアクセスとして、エラー表示を行うHTMLだけを設置しています。
※ファイル名「00-vh-default.conf」は好みです。

例) aulta.net を設定


# vi /etc/httpd/conf.d/vh-net.aulta.conf


###############################
# aulta.net
###############################
<VirtualHost *:80>
 DocumentRoot "/hoge/www/aulta.net/httpdocs"
 ServerName aulta.net
</VirtualHost>

ファイル名 vh-net.aulta.conf は、
VirtualHostの設定なので、vh-
aulta.net をドット区切りを逆にして、 net ドット aulta
拡張子の .conf
としています。
ファイル名は好みなのでこのようなルールがあるわけじゃないですが、たくさんのドメイン・サブドメインを登録していくとこの形が ls -la /etc/httpd/conf.d/ したときに見やすいかなと思っています。

DocumentRoot “/hoge/www/aulta.net/httpdocs”
設置場所は好みです。
web用ディレクトリ(上記では/hoge/www)の下にドメイン名でディレクトリを作り httpdocs をドキュメントルートにしています。

例) server.aulta.net を設定

先述のやり方と同じで次のようになります。


# vi /etc/httpd/conf.d/vh-net.aulta.server.conf


###############################
# server.aulta.net
###############################
<VirtualHost *:80>
DocumentRoot "/hoge/www/server.aulta.net/httpdocs"
ServerName server.aulta.net
</VirtualHost>

他のドメイン・サブドメインも同様のルールで行います。
ポイントは「全体で同じ作成・記述ルール」を決めることで、本ページの内容をアレンジしたら良いと思います。

.htaccessを扱えるように設定する

.htaccessファイルを使えるように、有効化します。

$ su

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

下記の記述の場所まで移動します。

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

上記の記述はそのまま残しておき、続けて、下記を追記します。

<Directory "/home/ユーザー/vhosts">
    Options Includes ExecCGI  FollowSymLinks
    AllowOverride All
</Directory>

※ “/home/ユーザー/vhosts” の部分は、有効にさせたいパスに書き換えてください。
指定したディレクトリ以下で有効になります。

※ バーチャルホストを考えている場合は、バーチャルホスト側で記述したほうが良いですが、状況に応じて対処してください。

※ htaccessの有効化に必要なのは、FollowSymLinks と、AllowOverride All ですが、ついでなので上記のようにしてます。

※ httpd.conf を書き換え、設定を反映させるにはhttpdの再起動が必要です。

# /etc/init.d/httpd restart

apache(httpd)のインストール

webサーバ(httpd)をインストールします。

httpdをインストールします。

# su

$ yum install httpd

途中で、
Is this ok [y/N]:
このような表示で止まりますので、 y を入力して、[enter]キーで進めます。

OS再起動時に、自動起動するように設定します。

# /sbin/chkconfig --list httpd
# /sbin/chkconfig httpd on
# /sbin/chkconfig --list httpd

このあと、PHPのインストールを続ける場合は、起動させなくても構いません。

httpdを起動する

/etc/init.d/httpd start

httpdを再起動する

/etc/init.d/httpd restart

httpdを停止する

/etc/init.d/httpd stop