我无法在 /var/www/html 目录中安装 drupal。当我尝试安装时,它显示
File system
The directory sites/default/files is not writable. An automated attempt to create this directory failed, possibly due to a permissions problem. To proceed with the installation, either create the directory and modify its permissions manually or ensure that the installer has the permissions to create it automatically. For more information, see INSTALL.txt or the online handbook.
OK
Unicode library PHP Mbstring Extension
Error
Settings file The settings file does not exist.
The Drupal installer requires that you create a settings file as part of the installation process. Copy the ./sites/default/default.settings.php file to ./sites/default/settings.php. More details about installing Drupal are available in INSTALL.txt.
我设置了777
目录的权限drupal
。ls -l
目录的权限default
是 [root@localhost default]# ls -l total 28
-rwxrwxrwx. 1 nitish root 23197 Mar 30 06:20 default.settings.php
drwxrwxrwx. 2 nitish root 4096 Mar 30 06:26 files
答案1
一般情况下,请记得包含您正在运行的特定命令。当您说“我无法安装 drupal”时,我们无法知道您正在做什么以及您是否正确执行。
因此,您所描述的是一个典型的权限问题。在 Linux 上,您只能以 root 身份安装。如果您尝试从源代码安装,并且已经运行了其configure
脚本并使用 对其进行了编译make
,则现在应该make install
以身份运行root
。
如果你正在关注(你应该关注)Fedora 的 HOWTO并安装通过yum
,确保您yum
以 身份运行root
。
无论如何,拥有/var/www
全局可写 ( 777
) 是一个非常糟糕的想法。这会带来很多安全问题。
最后,一般来说,如果您想要对名为 的目录具有读/写权限/foo/bar/baz
,那么执行 是不够的chmod 777 /foo/bar/baz
。这将使您能够访问baz
目录,但您仍然无权访问 ,/foo/bar
因此这没有什么区别。这有点像打开浴室的门却打不开房子的前门,理论上浴室可以进入,但您无法进入房子,所以这没有什么区别。您需要做的是更改目标目录及其上方每个目录的权限。您可以使用开关执行此-R
操作:
chmod -R 744 /foo/
/foo
这将设置其所有子目录的权限。不过,我再说一遍,不要对/var/www
目录执行此操作,这是一个严重的安全风险。