Drupal

Drupal 安裝和權限

  • February 1, 2013

所以我真的被這個問題困住了。安裝過程抱怨 settings.php 和 sites/default/files/ 的寫入權限。但是,我暫時將這些文件移動到寫入/讀取(chmod 777)並將所有者/組更改為“apache”,如下所示。

-bash-4.1$ ls -hal
total 28K
drwxrwxrwx. 3 richard richard 4.0K Aug 23 15:03 .
drwxr-xr-x. 4 richard richard 4.0K Aug 18 14:20 ..
-rwxrwxrwx. 1 apache  apache  9.3K Mar 23 16:34 default.settings.php
drwxrwxrwx. 2 apache  apache  4.0K Aug 23 15:03 files
-rwxrwxrwx. 1 apache  apache     0 Aug 23 15:03 settings.php

但是,安裝仍然抱怨寫權限。我遵循了 INSTALL.txt 的步驟一和二,但沒有運氣。

更新:

為了進一步探索這種情況,我使用以下程式碼創建了 sites/default/richard.php:

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
mkdir('files');
print("<hr> User is ");
passthru("whoami");
passthru("pwd");
?>

從命令行執行(在使用者“richard”下),沒問題。該文件夾已創建,一切順利。從網上執行,我得到以下資訊:

警告:mkdir(): Permission denied in /var/www/html/sites/default/richard.php on line 9 使用者是 apache /var/www/html/sites/default

更新 2:

安全模式似乎已關閉…

-bash-4.1$ cat /etc/php.ini | grep safe | grep mode | grep -v \;
safe_mode = Off
safe_mode_gid = Off
safe_mode_include_dir =
safe_mode_exec_dir =
safe_mode_allowed_env_vars = PHP_
safe_mode_protected_env_vars = LD_LIBRARY_PATH
sql.safe_mode = Off

有幾件事需要考慮

  1. 關閉 selinux 或將其設置為許可模式
  2. 檢查讀/寫權限目錄的selinux上下文
  3. 清除瀏覽器的記憶體,然後重試。
  4. 重新啟動 apache 並重試。
  5. 檢查目錄是否有任何磁碟配額並超過限制。

SELinux 有點太高了。

我暫時設置為允許使用

sudo echo 0 >/selinux/enforce

設置好後會恢復檢查。

http://www.crypt.gen.nz/selinux/disable_selinux.html

引用自:https://serverfault.com/questions/173861