我已经尝试了好几个小时来完成这项工作。我正在尝试在我的 VPS 上使用 Apache 设置虚拟主机。
我的 sites-available 文件夹中有以下虚拟主机文件:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain.ie
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/domain.ie>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
我已经在虚拟主机上发出了 a2ensite domain.ie 命令。
我还发出了 restart 和 reload 命令。我还使用这两个命令停止并启动了 Apache 服务器,以查看 Apache 是否确实正在重新启动,结果确实如此。我还完全重新启动了 VPS 机箱。
文档根文件夹确实存在,但 apache 服务仍然提供默认的 apache 页面。我宁愿不禁用默认虚拟主机。
我这里是不是漏掉了一步?我是否应该在 /etc/hosts 中的 hosts 文件中添加一些内容?domain.ie 已被 apache 添加到那里: 127.0.0.1 localhost.localdomain localhost domain.ie
任何帮助都将不胜感激。
答案1
您需要块ServerName
中的一个指令<VirtualHost>
,以便 Apache 知道何时从该虚拟主机提供内容。
答案2
添加
NameVirtualHost *:80
你的 apache 配置也一样,你的文件看起来没有
</VirtualHost>
更多文档在这里: http://httpd.apache.org/docs/2.2/vhosts/name-based.html
答案3
当我在指令中DocumentRoot
设置之前进行定义时,也遇到了这个问题。ServerName
<VirtualHost ...>