Answers:
发行Ubuntu 14.04发行时发布的apache2版本是2.4.7,从该版本开始,出于安全原因,服务器的新根目录似乎是:
/var/www/html
因此,从现在开始,这是您必须放置(本地)网站文件的地方。以后的更新中不应再有此问题。
无论如何,如果您想使用另一个目录来更改此目录,则必须(以root用户身份)修改/etc/apache2/sites-available/000-default.conf
文件(sudo nano /etc/apache2/sites-available/000-default.conf
)中的以下行:
DocumentRoot /var/www/html
至
DocumentRoot /path/to/another/directory
之后,为使新更改生效,您必须使用以下命令重新启动apache服务器:
sudo service apache2 restart
/var/www/html
。将您的网站放在该目录(或其子目录)以外的任何位置,将给您403错误。您需要将添加<Directory /path/to/your/site>
指令到您的虚拟主机的configs一个require
指令在里面。
与其修改/etc/apache2/sites-available/000-default.conf
回旧版本,不如不修改默认软件包文件。
这样做的原因是它不会在下次升级时中断,这可能会重置000-default.conf
文件。
此外,进行此类修改并不仅仅是为了使我们烦恼,所做的修改是有充分理由的,正如Debian中的此错误报告所解释的。
我们的网络服务器[sic]将默认文档根目录设置为/ var / www,而站点本地管理员倾向于使用/var/www/example.com。如果访问者绕过example.com的/ supposed /文档根目录,访问默认文档根目录,则具有安全隐患。如果敏感数据放置在假定的文档根目录之外(例如,考虑一个假设的/var/www/example-com-db.conf配置文件),则存在问题。
更好的解决方案是将站点文件从/var/www
移到/var/www/html/
。
# 1. move all files excluding the `html` directory
sudo mv /var/www/[!html]* /var/www/html
# 2. Move the hidden files as well which are skipped in previous command
sudo mv /var/www/.[!.]?* /var/www/html/
另外,另一种可能的解决方案是创建另一个虚拟主机并使用以下命令禁用默认虚拟主机。 sudo a2dissite 000-default