2009年10月21日 星期三

CentOS-Apache設同IP的virtual host

在apache下設定兩個virtual host
  • #cd /etc/httpd/conf
    #vi httpd.conf
    • NameVirtualHost 140.137.217.226:80

    • Virtual Host 140.137.217.226:80>
    •     ServerAdmin webmaster@ne226.com
    •     DocumentRoot /opt/www
    •     ServerName www.ne226.kirnel.com
    •     ErrorLog logs/www-error_log
    •     CustomLog logs/www-access_log common
    • /Virtual Host
    • Virtual Host 140.137.217.226:80>
    •     ServerAdmin webmaster@ne226.com
    •     DocumentRoot /opt/w3
    •     ServerName w3.ne226.kirnel.com
    •     ErrorLog logs/w3-error_log
    •     CustomLog logs/w3-access_log common
    • /Virtual Host
建立兩個目錄以及index檔案
  • #mkdir /opt/www
  • #mkdir /opt/w3
  • #echo "hello www" > /opt/www/index.html
  • #echo "hello w3" > /opt/w3/index.html
重啟apache
  • #service httpd restart
在browser上測試
  • http://www.ne226.kirnal.com
  • http://w3.ne226.kirnal.com

2 則留言:

  1. 1 .如果是在同一個 ServerName 上使用不同的 port ,藉此區分站台;可以把 ServerName 改成同一個,port 則改成其他的,e.g. 8080。

    2. service httpd restart 之後,若是出現 error ,可以用 service httpd status 來查詢 httpd 無法啟動的錯誤原因

    3. 如果錯誤原因是 Permission denied: AH00072: make_sock: could not bind to add...:]:8080 ,則可能是 SELinux 安全機制的控管,此時可用 semanage port -m -t http_port_t -p tcp 8080 來賦予 httpd 綁定該 tcp 通訊埠的權限

    回覆刪除
  2. 如果是在同一個 ServerName 上使用多個 port 的站台,httpd.conf 要記得再加 e.g. Listen 8080

    回覆刪除