僕の 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 にログが出るようになりました。
パーミッションの事がよく分からなかった。