我在我的 Linux(Fedora 15)机器上安装 drupal 时遇到一个问题。
我已经从 drupal.org 网站下载了 drupal 包,并将该包复制到我的 Web 目录,/var/www/html/DP
在那里我提取了该包并将提取的文件夹重命名为 drupal。
现在我已经在mysql数据库中创建了数据库dbdrupal。
我已经复制./sites/default/default.settings.php
到./sites/default/settings.php
现在,当我进入我的网络浏览器并打开链接时,http://localhost/DP/drupal/install.php
安装已开始,但在第 3 阶段(验证要求) - 它显示错误
文件系统
该目录
sites/default/files
不存在。自动创建此目录的尝试失败,可能是由于权限问题。要继续安装,请创建目录并手动修改其权限,或确保安装程序具有自动创建该目录的权限。有关更多信息,请参阅 INSTALL.txt 或在线手册。设置文件
该设置文件不可写。
Drupal 安装程序
./sites/default/settings.php
在安装过程中需要写入权限。如果您不确定如何授予文件权限,请查阅在线手册。我已经创建了一个文件夹
/sites/default/files
并授予它完全权限 777,也授予了完全权限 777sites/default/settings.php
,但仍然出现相同的错误。
答案1
我猜你使用 root 用户将 drupal 安装复制到了你的/var/www/html/DP
目录中。你必须将此目录及其下所有内容的所有权更改为 apache 用户。我认为 fedora 以 apache 的身份运行 httpd,因此以 root 身份运行
cd /var/www/html
chown -R apache:apache DP
您也应该将您更改的文件的权限恢复为原始设置。
答案2
感谢每一位试图帮助我解决上述问题的人。
我按照如下方式解决了这个问题:
以图形模式以 root 用户身份登录我的 fedora
转到 /var/www/html/DP/drupal/sites/default
右键单击文件夹
转到属性->权限。
将 SELinux 上下文设置为 - httpd_user_rw_content_t
完成此操作后,一切正常。我通过图形模式执行此操作,因为我不知道如何从终端执行此操作。
答案3
您还可以通过以下方式设置 Apache SELinux 上下文
chcon -t execmem_exec_t '/usr/sbin/httpd'
答案4
为 settings.php 提供权限,如 sudo chmod -R 777 sites/defualt/settings.php
如果你正在创建多站点,请创建文件夹并授予其权限