Warning: Undefined array key "HTTPS" in include() (line 29 of /opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php).
include('/opt/www/fdv2/drupal.stage/web/sites/default/settings.local.php') (Line: 4)
require('/opt/www/fdv2/drupal.stage/web/sites/drupal001.net/settings.php') (Line: 145)
Drupal\Core\Site\Settings::initialize('/opt/www/fdv2/drupal.stage/web', 'sites/drupal001.net', Object) (Line: 1099)
Drupal\Core\DrupalKernel->initializeSettings(Object) (Line: 701)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
Centos服务器中,Drupal安装模块时,不论是url还是上传安装包,都提示FTP Access,有没有简单安装? - Drupal大学 - Drupal问答论坛
首页 / 帖子
Centos服务器中,Drupal安装模块时,不论是url还是上传安装包,都提示FTP Access,有没有简单安装?

centos6.5中安装drupal后,安装模块时,不论是url安装还是上传安装包,都提示 FTP access,有没有办法在不设置服务器FTP,也可以安装模块呢,drupal社区中https://www.drupal.org/node/1036494 给出了方案,修改 /sites/default,修改文件夹的所有者,改成apache 或者www-data,我尝试了,都没有成功。

另外我还有一个怀疑,这样修改权限之后,是不是存在安全问题呢?赵老师,你是优化和安全方面的专家,请给指点一下。

4个答案
YOYO
发布于:2014-07-16 17:46

这个问题可以确定是权限不够导致的,你可以看一下httpd.conf里面的默认账户是不是www-data,如果不是的话,需要把文件夹以及子文件夹的所有者都设置成相应的账户:chown -R

还要注意的一点,文件夹的所有者不一定拥有所有权限,还需要设置目录权限:chmod -R 755

试试看吧。

陈蹊
发布于:2014-07-16 19:44

谢谢!我试一下。

赵高欣
发布于:2014-07-17 10:30

先学会安装Drush,然后用drush en -y views views_ui的方式安装模块,你会省事儿很多,当然权限问题还是要弄清楚,最好能保证代码所属用户和Apache运行用户保持一致。

YOYO
发布于:2014-07-17 14:26

这种方式安装模块,我确实没操作过,所以不敢乱说。

权限问题我可以发表一下我的看法,

首先,apache的用户组在/etc/httpd/conf/httpd.conf文件,你搜User就能找到。

还有一种办法是通过Shell查看,

ps aux|grep httpd
robbin    3280  0.0  0.0 103236   852 pts/1    R+   14:22   0:00 grep httpd
apache   14731  0.1  2.4 532624 47828 ?        S    03:40   0:45 /usr/sbin/httpd
apache   14732  0.1  2.2 526468 43244 ?        S    03:40   0:46 /usr/sbin/httpd
apache   14733  0.1  2.5 533828 48636 ?        S    03:40   0:48 /usr/sbin/httpd
apache   14734  0.1  2.2 526852 43900 ?        S    03:40   0:46 /usr/sbin/httpd
apache   14735  0.1  2.4 532848 47820 ?        S    03:40   0:46 /usr/sbin/httpd
apache   14736  0.1  2.6 533180 50080 ?        S    03:40   0:44 /usr/sbin/httpd
apache   14737  0.1  2.6 536000 51252 ?        S    03:40   0:48 /usr/sbin/httpd
apache   14738  0.1  2.5 532588 49312 ?        S    03:40   0:44 /usr/sbin/httpd
root     23231  0.0  0.7 497092 13612 ?        Ss   Jul11   0:18 /usr/sbin/httpd

一般情况下apache的用户就是apache。

其次,如果你要apache能写文件的权限,你需要给apache用户(或者组)的写权限,还要注意:父目录要有读和执行权限,也就是r-x。

最后,实在不行,你sudo su - apache,这样就成了apache用户,然后亲自操作一下,看到底有没有权限操作。