尝试上传到 /var/www 时权限被拒绝

尝试上传到 /var/www 时权限被拒绝

我创建了一个网站,现在想发布。我问某人是否可以托管它,后来我收到一封电子邮件,告诉我一切都已设置好。包括管理员名称和密码以及 MySQL 根密码,还告诉我 LAMP 已安装。我阅读了一些教程,其中大多数都告诉我必须将文件上传到“var/www”方向,但我不知道如何管理它。我尝试了 Filezilla,但在我登录服务器并尝试上传文件后,它告诉我“权限被拒绝”。

所以现在我在硬盘上建了一个网站,我可以将其上传到我的“home/NAME”文件夹,但不能上传到“var”文件夹。请帮帮我!

答案1

打开终端然后写入sudo gedit /etc/apache2/sites-available/000-default.conf

查找DocumentRoot /var/www/html

更改/html/your desired folder name保存

然后运行sudo a2dissite 000-default.conf; sudo a2ensite 000-defaut.conf; sudo service apache2 restart

您的托管服务提供商必须执行上述程序。希望 apache2 默认页面消失。

答案2

远程系统几乎肯定已设置文件权限/var/www,因此您无法修改其中的文件。事实上,默认情况下只有 root 可以修改其中的文件。

假设您在该机器上没有 root(或 sudo)访问权限,最好的做法是请求将您将要使用的目录(例如/var/www/whatever)更改为由您的用户拥有,以便您可以在那里上传文件。

或者,您可以:

  • 要求设置服务器来将您的网站托管在您的主目录中(例如/home/yourname/www),而不是/var/www

  • 请求加入群组 (不是系统使用的组(类似于www-data新创建的组)通过组权限被授予写访问权限。

你不应该做的事:

  • 设置/var/www为全球可写。这是一个相当大的安全风险。

  • 添加到www-data用户组并将该组设置为 的所有者/var/www。这是一个巨大的安全风险,因为该www-data组应该没有特权(例如,没有写权限)。

相关内容