僕の Apache 初入門(VirtualHost)

超簡単な例で。

http://my-node.com/http://other-node.com で同一の IP である 192.168.33.13 に接続して、別のページを出すだけのお仕事。

/etc/httpd
  /conf
    + httpd.conf
  /conf.d
    + 01-my-node.conf
    + 02-other-node.conf

上記のように httpd.conf に全部かくのではなくて、conf.d の下に書き分けるようにする。

httpd.conf

以下を足す。(conf.d 下に、これだけ書いたファイルを足してもいいかもしれん)

NameVirtualHost *:80

01-my-node.conf

<VirtualHost *:80>
  DocumentRoot /var/www/html/my_node
  ServerName my-node.com
</VirtualHost>

02-other-node.conf

<VirtualHost *:80>
  DocumentRoot /var/www/html/other_node
  ServerName other-node.com
</VirtualHost>

各ノードの HTML 配置

/var/www/html
  /my-node
    + index.html
  /other-node
    + index.html

それぞれの index.html にノード名を書いておく

再起動

$ sudo service httpd restart
Stopping httpd:                                            [OK]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

動作確認

ローカルの hosts を書き換え

当方は Mac 環境となります。

sudo vim /private/etc/hosts を開いて以下を足す。

192.168.33.13 my-node.com
192.168.33.13 other-node.com

ブラウザから接続してみます

できた!

ログの場所も変えてみる

<VirtualHost *:80>
  DocumentRoot /var/www/html/my_node
  ServerName my-node.com
  CustomLog logs/my_node_log common
  ErrorLog logs/my_node_error_log
</VirtualHost>

お決まりの再起動をかけると、my-node.com へのアクセスのログが /etc/httpd/logs/my_node_log にログが出るようになりました。

パーミッションの事がよく分からなかった。