多彩なバーチャルホスト

この前、SUEXEC対応でインストールしたので、各バーチャルホストで別々のユーザ設定。SSLのバーチャルホストをやってみたいと思います。

./configure –prefix=/usr/local/apache
–enable-module=so
–enable-ssl
–enable-suexec
–with-suexec-docroot=/home
–with-suexec-uidmin=1000
–with-suexec-gidmin=1000

実はwith-suexec-docrootでやっぱり後悔して/homeで再インストしました。

VirtualHostディレクティブの中で
SuexecUserGroup uid gid
を設定するとSUEXECが有効になります。このときに気をつけるのは、Apacheをインストールした後にAppacheのUserとGroupは変更しないこと。SuexecUserGroupで指定するuidとgid(idじゃなく名称でも良い)は–with-suexec-uidminと–with-suexec-gidminの値を超えていること。そして実際にCGI等を配置するディレクトリは–with-suexec-docrootで指定したディレクトリ内にあることです。

次に、IPベースとネームベースの両方を用いたバーチャルホスト設定をしてみました。
※但し現在はグローバルを1個だけしか振ってないのでポートで分けた。

NameVirtualHost *:80
NameVirtualHost *:8080
ServerName vhost1.exsample.com:80
ServerAlias vhost1.exsample.com:80
ServerName vhost2.exsample.com:80
ServerAlias vhost2.exsample.com:80
ServerName vhost3.exsample.com:8080
ServerAlias vhost3.exsample.com:8080
ServerName vhost4.exsample.com:8080
ServerAlias vhost4.exsample.com:8080

ざっとこんな感じSSL側もNameVirtualHostを入れることによってサブドメイン毎に表示を分けることができましたがサーバ認証はどうしても最初のディレクティブで設定したものが使用されてしまう。SSL側だけはIPベースのバーチャルホストにしないと問題がでそうだ。

バーチャルホストについても本当のIPベースとネームベースの複合もやりたいので、追加を行ってみます。