写入webroot外部文件夹需要哪些权限?

时间:2014-04-22 13:51:23

标签: php wordpress command-line nginx chmod

我正在使用nginx安装Wordpress;我试图找到一种方法来存储超出Web根目录的用户上传,并在需要时使用php脚本为其提供服务。

我很肯定我需要在服务器上以root身份登录才能完成正确的设置;但我不知道为nginx设置权限的正确方法,允许php脚本写入文件夹并访问它的内容。

我的网络根目录如下所示:

/var/www/vhosts/mydomain.com/httpdocs

所以我想在这里创建一个文件夹(我猜):

/var/www/vhosts/mydomain.com/new_folder

我之前没有以root用户身份登录到服务器,但是我找到了几行可能相关的命令。我不知道哪种情况适用于我的情况。

mkdir /var/www/vhosts/mydomain.com/new_folder
chmod 755 /var/www/vhosts/mydomain.com/new_folder

这适用于运行nginx的服务器吗?或者我需要这样的东西吗?

mkdir -p /var/www/vhosts/mydomain.com/new_folder
sudo chmod -R 0755 /var/www/vhosts/mydomain.com/new_folder

我认为sudo命令处理了只能由root用户访问的文件夹的权限。

我很难研究这个,因为我不明白使用这些命令的上下文。我仍然不知道如何设置文件夹的权限,以便php脚本可以读取和写入该目录。

我真的可以在正确的方向上使用微调,因为我害怕尝试在以root身份登录的服务器上盲目输入命令。

1 个答案:

答案 0 :(得分:2)

我不是nginx专家,我已经习惯了apache,但我猜你需要做的就是确保运行nginx的用户拥有对文件夹的写入权限。为了使这个命令成为单词:

mkdir /var/www/vhosts/mydomain.com/new_folder

您需要确保以具有/var/www/vhosts/mydomain.com/写入权限的用户身份登录。如果您的普通用户没有sudo所在的权限。sudo基本上意味着以root身份运行此命令。完成后,它还应该询问您的root密码。如果您没有足够的权限执行某些操作,则可以在上面或下面列出的任何命令前添加sudo

此命令正在创建新目录/文件夹mkdir = make目录。这个命令:

chmod 755 /var/www/vhosts/mydomain.com/new_folder

正在更改您刚刚创建的文件夹的权限。你可以做一些研究,看看755代表什么。更重要的是,您可能需要使用chown命令将目录的所有权授予nginx用户。正如我所说,我不是一个nginx用户,所以我不知道标准用户名是什么,但对于apache,它看起来像这样:

chown www-data:www-data /var/www/vhosts/mydomain.com/new_folder