2016-07-01 17 views
0

這裏是我想要做的Lighttpd的自定義配置MySQL的虛擬主機

我必須獨立網站,我想運行:siteA.maindomain,COM和siteB.maindomain.com

對於站點B我希望能夠使用mod_mysql_vhos訪問vhost子域X.siteB.maindomain.com。

這裏是我的lighttpd.conf文件的外觀:

server.modules    = (
      "mod_access", 
      "mod_alias", 
      "mod_accesslog", 
      "mod_compress", 
      "mod_mysql_vhost", 
      "mod_ssi", 
      "mod_rewrite" 
) 



include_shell "/usr/share/lighttpd/include-conf-enabled.pl" 

ssi.extension = (".html") 
server.document-root  = "/var/www/maindomain/htdocs" 
server.errorlog   = "/var/log/lighttpd/error.log" 
accesslog.filename   = "/var/log/lighttpd/access.log" 
index-file.names   = ("index.php", "index.html", 
           "index.htm", "default.htm", 
           "index.lighttpd.html") 



fastcgi.debug = 1 

static-file.exclude-extensions = (".pl", ".fcgi") 

server.port    = 80 
server.bind    = "11.22.33.44" 
server.pid-file   = "/var/run/lighttpd.pid" 

dir-listing.encoding  = "utf-8" 
server.dir-listing   = "disable" 

server.username   = "www-data" 
server.groupname   = "www-data" 

compress.cache-dir   = "/var/cache/lighttpd/compress/" 
compress.filetype   = ("text/plain", "text/html", "application/x-javascript", "text/css") 

#include_shell "/usr/share/lighttpd/create-mime.assign.pl" 


mysql-vhost.db    = "vhost" 
mysql-vhost.user   = "lighttpd" 
mysql-vhost.pass   = "correct_password" 
mysql-vhost.sql   = "SELECT docroot FROM domains WHERE domain='?';" 
mysql-vhost.hostname  = "localhost" 
mysql-vhost.port   = 3306 

$HTTP["host"] == "siteA.maindomain.com" { 
    server.document-root = "/var/www/siteA/htdocs" 
    accesslog.filename = "/var/www/siteA/htdocs/logs/access.log" 
    server.errorlog = "/var/www/siteA/htdocs/logs/error.log" 

} 

$HTTP["host"] == "siteB.maindomain.com" { 
    server.document-root = "/var/www/siteB/htdocs" 
    accesslog.filename = "/var/www/siteB/htdocs/logs/access.log" 
    server.errorlog = "/var/www/siteB/htdocs/logs/error.log"  
} 

這是好嗎?

siteA.maindomain.com正常工作。

我無法訪問siteB.maindomain.com網址。我得到了404.我做錯了什麼。

我相信我沒有正確配置這對虛擬主機subdomainX.siteB.maindomain.com

回答

0

確保您正確設置了站點B/htdocs目錄。 由於站點A的工作,你可以嘗試(暫時)改變siteB.maindomain.com server.document-root = "/var/www/siteB/htdocs"server.document-root = "/var/www/siteA/htdocs" ,然後看看是否能工程。

此外,您可能需要登錄到mysql數據庫以檢查是否在vhost數據庫中配置了siteB.maindomain.com。