移动到新服务器后出现“权限被拒绝”

移动到新服务器后出现“权限被拒绝”

我们已将我们的网站移至我使用 ISPConfig 3 设置的新服务器(Ubuntu 12.04 LTS)。

问题:

一切运行正常,但是当我尝试将新的日志文件写入现有日志文件时,PHP 给出了“无法打开流:权限被拒绝”的警告。

我对玩弄这些东西还很不放心,因为我还不太熟悉 Linux。目前,我网站的所有文件和文件夹的所有者都是“web1”,属于“client1”组。日志目录的权限与以前相同(在旧主机上)。

我知道 Apache(和 PHP?)以其自己的用户“www-data”运行,因此基本上,我必须告诉我的日志文件和文件夹,可以由该用户读取/写入,对吗?

我(会)尝试的:

在研究过程中,我遇到了这个帖子讨论为文件所有者(web1)和 apache 用户(www-data)创建一个共同组。

我还发现了以下执行此操作的说明:

//Create new group
$ sudo addgroup webdev

//Change the group of your web directory:
$ sudo chgrp -R webdev /var/www/
$ sudo chmod -R g+rw /var/www/

//Set the guid bit on all folders in your web directory:
$ sudo find /var/www -type d -exec chmod +s {} \;

//Add Apache to the webdev group:
$ sudo usermod -a -G webdev www-data

//Add your user to the webdev group:
$ sudo usermod -a -G webdev <user_name>

但我还没有尝试过,因为我不知道

$ sudo find /var/www -type d -exec chmod +s {} \;

是的。这是否是解决我的问题的正确方法?

答案1

并非试图贬低,只是想说明一切。

sudo - run this command as a super user
find - look for something... 
/var/www - ...in the /var/www directory...
-type d  - ...that is a directory...
-exec chmod +s - ...and executes a chmod (change mode) +s (set the user bit) ...
{} - ...for every directory you find...
\; - and end the command.

现在上面列出的命令看起来不错,如果这就是你想要做的。创建一个与 apache 和其他程序的公共组。希望这能有所帮助

相关内容