我最近安装了 Ubuntu 14.04,然后我安装lamp-server
并将网页放在/var/www
目录中,但是当我在浏览器中打开 localhost 时什么也没有。我认为这是因为 Zend 更新了 Apache。
无论原因是什么,我想知道将我的 php 文件保存在哪里,以便我可以从浏览器访问它们。
答案1
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
答案2
我更喜欢保持默认包文件不变,而不是修改/etc/apache2/sites-available/000-default.conf
回旧版本。
这样做的原因是为了确保下次升级时不会再次出现问题,因为这可能会重置文件000-default.conf
。
此外,这样的修改不只是为了惹恼我们,修改是有充分理由的,因为这个Debian 中的错误报告解释。
我们的网络服务器将默认文档根目录设置为 /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