最近我工作的公司租了VPS。
现在我需要在这个VPS上托管多个网站,这不是问题,我设置了虚拟主机,数据库等。现在我想测试一下,看看我是否可以通过域名访问VPS上的网站(班尼班.cz)。域名在不同的注册商处注册,我已将 DNS A 记录指向 VPS 的 IP 地址(193.105.159.72)并且它工作正常(显示 apache 默认站点),但我需要将此域名(bennyben.cz)路由到 VPS 上的虚拟主机(bennyben.cz.vhost)。
经过一番谷歌搜索后,我认为我需要添加新的主 DNS 区域记录(我在 VPS 上安装了 ISPConfig)并将其定向到虚拟主机,因此我将虚拟主机绑定到本地 IP 地址(192.168.1.1)并设置 A 记录在 VPS 上访问此地址,但如果我输入域名,它仍然提供默认站点。
所以我的问题是,我需要什么才能在一个 VPS 上托管多个带有域名的网站(只有一个可用的 WAN IP 地址),我做了很多谷歌搜索,用 BIND 搞乱了,但似乎没有任何效果。
系统详情
Ubuntu 13.04
ISPConfig
1 WAN IP address
PS 我确信这是非常基本的东西,但我作为一名程序员在那里工作,所以服务器不是我的专业,但是,不幸的是我们目前没有任何人可以照顾 VPS,所以它落到了我的身上。
Listen 80
存在于 /etc/apache2/ports.conf 中
**虚拟主机配置文件是由 ISPconfig 为我生成的*
配置文件: /etc/apache2/sites-enabled/100-bennyben.cz.vhost
<Directory /var/www/bennyben.cz>
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<VirtualHost *:80>
DocumentRoot /var/www/bennyben.cz/web
ServerName bennyben.cz
ServerAlias www.bennyben.cz
ServerAdmin [email protected]
ErrorLog /var/log/ispconfig/httpd/bennyben.cz/error.log
Alias /error/ "/var/www/bennyben.cz/web/error/"
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 500 /error/500.html
ErrorDocument 502 /error/502.html
ErrorDocument 503 /error/503.html
<IfModule mod_ssl.c>
</IfModule>
<Directory /var/www/bennyben.cz/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# suexec enabled
<IfModule mod_suexec.c>
SuexecUserGroup web5 client4
</IfModule>
# Clear PHP settings of this website
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
# php as fast-cgi enabled
# For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
<IfModule mod_fcgid.c>
FcgidIdleTimeout 300
FcgidProcessLifeTime 3600
# FcgidMaxProcesses 1000
FcgidMaxRequestsPerProcess 5000
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 100
FcgidConnectTimeout 3
FcgidIOTimeout 360
FcgidBusyTimeout 300
FcgidMaxRequestLen 1073741824
</IfModule>
<Directory /var/www/bennyben.cz/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# add support for apache mpm_itk
<IfModule mpm_itk_module>
AssignUserId web5 client4
</IfModule>
<IfModule mod_dav_fs.c>
# Do not execute PHP files in webdav directory
<Directory /var/www/clients/client4/web5/webdav>
<ifModule mod_security2.c>
SecRuleRemoveById 960015
SecRuleRemoveById 960032
</ifModule>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
DavLockDB /var/www/clients/client4/web5/tmp/DavLock
# DO NOT REMOVE THE COMMENTS!
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
# WEBDAV BEGIN
# WEBDAV END
</IfModule>
</VirtualHost>
/etc/apach2/sites-available/bennyben.cz.vhost
<Directory /var/www/bennyben.cz>
AllowOverride None
Order Deny,Allow
Deny from all
</Directory>
<VirtualHost *:80>
DocumentRoot /var/www/bennyben.cz/web
ServerName bennyben.cz
ServerAlias www.bennyben.cz
ServerAdmin [email protected]
ErrorLog /var/log/ispconfig/httpd/bennyben.cz/error.log
Alias /error/ "/var/www/bennyben.cz/web/error/"
ErrorDocument 400 /error/400.html
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 405 /error/405.html
ErrorDocument 500 /error/500.html
ErrorDocument 502 /error/502.html
ErrorDocument 503 /error/503.html
<IfModule mod_ssl.c>
</IfModule>
<Directory /var/www/bennyben.cz/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# suexec enabled
<IfModule mod_suexec.c>
SuexecUserGroup web5 client4
</IfModule>
# Clear PHP settings of this website
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
# php as fast-cgi enabled
# For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
<IfModule mod_fcgid.c>
FcgidIdleTimeout 300
FcgidProcessLifeTime 3600
# FcgidMaxProcesses 1000
FcgidMaxRequestsPerProcess 5000
FcgidMinProcessesPerClass 0
FcgidMaxProcessesPerClass 100
FcgidConnectTimeout 3
FcgidIOTimeout 360
FcgidBusyTimeout 300
FcgidMaxRequestLen 1073741824
</IfModule>
<Directory /var/www/bennyben.cz/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/clients/client4/web5/web>
AddHandler fcgid-script .php .php3 .php4 .php5
FCGIWrapper /var/www/php-fcgi-scripts/web5/.php-fcgi-starter .php
Options +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
# add support for apache mpm_itk
<IfModule mpm_itk_module>
AssignUserId web5 client4
</IfModule>
<IfModule mod_dav_fs.c>
# Do not execute PHP files in webdav directory
<Directory /var/www/clients/client4/web5/webdav>
<ifModule mod_security2.c>
SecRuleRemoveById 960015
SecRuleRemoveById 960032
</ifModule>
<FilesMatch "\.ph(p3?|tml)$">
SetHandler None
</FilesMatch>
</Directory>
DavLockDB /var/www/clients/client4/web5/tmp/DavLock
# DO NOT REMOVE THE COMMENTS!
# IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
# WEBDAV BEGIN
# WEBDAV END
</IfModule>
</VirtualHost>
答案1
这是格式化评论而不是答案:您的网络服务器中是否配置了虚拟主机?即(假设网络服务器是 apache 并且您具有 root 访问权限),您应该有一个条目/etc/apache2/sites-enabled
(通常是指向以下内容的符号链接/etc/apache2/sites-available/bennyben
:
<VirtualHost *:80>
ServerName bennyben.cz.vhost
DocumentRoot /home/bennyben/public_html
</VirtualHost>
Listen 80
如果它不在 中,也应该在那里/etc/apache2/ports.conf
。
你能提供你的配置吗?
如果有任何事情没有按预期工作,请立即进行调查/var/log/apache2/error.log
。
答案2
根据OP对问题的原始编辑:
让它工作,我所要做的就是添加
Satisfy any
到
Directory
陈述。例如:
<Directory /var/www/bennyben.cz/web>
Satisfy any
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>