こんにちは
かねしろ@pinkrootです。
今日はサーバに対してマルチドメイン(VirtualHost)設定をしたので備忘録を残します。
参考にしたのは以下のサイト。
基本的には上記サイトの通りで大丈夫でした。
手順
- sshでサーバに接続
- vim /etc/httpd/conf/httpd.conf
- 最下行へGコマンドか何かで移動
- 上記サイトの
12345678910111213141516ServerName my-1st-domain.dns.com #メインのドメイン名NameVirtualHost *<VirtualHost *> #メインのドメイン名に関する記述DocumentRoot /home/httpd/html #デフォルトのパスが無難ServerName my-1st-domain.dns.com #メインのドメイン名HostNameLookups doubleUseCanonicalName off</VirtualHost><VirtualHost *> #2つ目のドメイン名に関する記述DocumentRoot /home/2nd/html #任意のパスServerName my-2nd-domain.dns.com #ドメイン名HostNameLookups doubleUseCanonicalName off</VirtualHost>
を参考にして、自分のドメインやディレクトリ構成を設定。
僕の場合はDocumentRootが
1DocumentRoot /var/www/html/MyDomain1/
という風になりました。 - 対応するディレクトリを作成して中にファイル等を格納
- /etc/init.d/httpd restart
- 動作を確認する
未だに原因はわかりませんが、
設定直後はドメイン直下へアクセスしてもindex.htmlを表示してくれない状態になりました。
http://mydomain.com/index.html
にアクセスするとファイルが見えるのでおかしいなぁと思っていたのですが、
5分ほど待つとドメイン直下へのアクセスでページが閲覧できるようになりました。
あと、マルチドメインの設定をした後もCGI系はcgi-binディレクトリに置くと動作しました。
/var/www/cgi-bin/
などのディレクトリです。
こちらはマルチドメイン設定などが関係しない模様。
呼び出し元のファイルからディレクトリを指定しているからだと思います。
そっちの記述を変えれば
/cgi-bin/mydomain1や/cgi-bin/mydomain2など、ドメインごとでの切り分けもできそうです。
最初はCGI動かなかったのですが、chmodとシェバンを見なおせば動きました。