简体   繁体   中英

File system permission error while installing drupal modules

When I try to install new modules to drupal 7 via "Install new module" form, I get following error message.

My Drupal 7 is installed with CPanel QuickInstall tool and hosted with HostGator shared hosting service. Any ideas how to solve this issue?

There is an issue with shared hosts and temp folders...if you want the background you can read this:

http://drupal.org/node/1008328

in the meantime try changing your tmp folder to be relative to your sites file root:

sites/default/files/temp

The quickest way to get a handle on this issue is to navigate via your web browser to:

/admin/config/media/file-system

You'll probably see an error there about not being able to write to the /tmp directory. To fix this, you can create a temp directory under site's root and set permissions appropriately.

1) Create a directory here [drupal_installed_here]/tmp

2) Navigate via your web browser to /admin/config/media/file-system and change the temp directory to be:

tmp instead of /tmp (no leading slash)

3) Try this command:

chmod 775 [drupal_istalled_here]/tmp

and refresh the /admin/config/media/file-system page

3) If that does not work, try this command:

chmod 777 /home/quickstart/websites/tmp

and refresh the /admin/config/media/file-system page

The last command opens up your temp directory permissions a lot (rwxrwxrwx), but sometimes that's necessary to get your site working on shared hosts.

This error took me a long time to figure out despite several threads on the internet related to it.

If you get this error on a page, then here are the steps that you need to follow to solve it:

  1. Go to Admin->Reports->Recent Log Messages. Read the most recent error message. This will tell you which folder is causing the problem. It is not necessarily the directory listed in the online threads about this subject. For me it was: sites/default/files/js

  2. If you are running Drupal on a linux server then you need to add read/write permissions to the problem folder. You can do this by going to the linux/SSH command line and typing the following (replace the folder address with the address for your folder)

chmod 777 /var/www/html/sites/default/files/js

That's it. The error message should be gone now.

My old, problematic configuration:

chmod 664 -R /var/drupal-bc/sites/default/files
chmod 664 -R /var/drupal-bc/sites/default/private

drw-rw-r-- 2 www-data www-data  4096 Jul 31 12:35 files
drw-rw-r-- 3 www-data www-data  4096 Jul  5 15:08 private

My new, functional configuration:

chmod 774 -R /var/drupal-bc/sites/default/files
chmod 774 -R /var/drupal-bc/sites/default/private

drwxrwxr-- 2 www-data www-data  4096 Jul 31 12:35 files
drwxrwxr-- 3 www-data www-data  4096 Jul  5 15:08 private

Please do not use 777 permissions, because you will have security problems. 775 will do just fine.

chmod 775 -R /var/drupal-bc/sites/default/files
chmod 775 -R /var/drupal-bc/sites/default/private

If you have javascript caching turned on, you might need to 755 the /sites/all/your-theme/js

chmod 777 /var/www/html/sites/default/files/js

为我解决了这个问题

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM