WordPress.org

Ready to get started?Download WordPress

Forums

[resolved] [closed] WP3.0 Media Uploader "Unable to create directory" (23 posts)

  1. christian-s
    Member
    Posted 4 years ago #

    I have real difficulties getting the media upload functionality to work. I've searched this forum and google and read several posts on the topic with various solutions, but so far not found a solution.

    When I try to upload a file (jpg, pdf) using the media manager I get the following error message:

    “test.jpg” has failed to upload due to an error
    Unable to create directory /usr/local/www/domainname/www/blog/wp-content/uploads/2010/06. Is its parent directory writable by the server?

    In wp dashboard > Settings > Media: Store uploads in this folder "wp-content/uploads".
    Organize my uploads into month- and year-based folders: ticked.

    The wp-content/uploads directory has permission 755. I have tried with 775 and this did not help either. I can put the folder to 777 with recursion for subfolders and then be able to upload files. But 777 is a bad idea. I can change wp-content/uploads back to 755 and upload images but then all subfolders like "2010/06" will each have 777 for folders and 666 for files.

    If I create wp-content/uploads/2010/06 manually and assign 755 for folders and then try to use the media uploader I get error message
    The uploaded file could not be moved to.

    If I create a new directory "wp-content/stuff" and set it up on the dashboard, settings > media I have the exact same problems as with
    "wp-content/uploads", ie the upload only works with folder permission 777.

    I guess the reason I having problems with permissions 755 for folders and 644 for files has something to do with the way the host has setup php, apache etc.

    The host is not using mod_security and are has safe_mode=off.

    Any ideas what I should be looking at on the host settings for php/apache?

  2. Samuel B
    moderator
    Posted 4 years ago #

    see if the owner for the /wp-content folder and those under it are the same as others in your ftp
    sounds like host may need to change folder owner

  3. christian-s
    Member
    Posted 4 years ago #

    @samboll. You are on to something. I just did some tests.
    Via ftp Delete wp-content/uploads
    Created wp-content/uploads, owner/group is 18571/18556
    Change permission to 777 for 'uploads'

    From WP dashboard > Media I can now upload an image.
    Back at FTP I change permission back for 'wp-content/uploads' to 755.

    From WP dashboard > Media I can still upload files, now a pdf.

    Via ftp I can see that 'wp-content/uploads/2010/06' has been created.
    The permission for 2010 and 06 are 777.
    The owner / group are different - reported as 80/18556.

    So when wordpress media uploader is loading files the owner is suddenly changed. It's no longer '18571' but instead '80'.

    (This does not happen when I install plugins via the dashboard. Which to me is also some sort of upload where wordpress is writing files to the server.)

    So something in the host configuration is causing wordpress folders for 'uploads' to be created with owner 80. Is this an apache setting or php setting or combination of the two?

  4. Samuel B
    moderator
    Posted 4 years ago #

    So something in the host configuration is causing wordpress folders for 'uploads' to be created with owner 80. Is this an apache setting or php setting or combination of the two?

    I had this same problem with the server when WP 1st added the upload ability. I was hosted with A Small Orange. They would change the owner back to original and it would change on an upload. Not sure what they did but they fixed it permanently for me.
    So I guess speak to your host and explain this to them. I'm sure they can help you.

  5. christian-s
    Member
    Posted 4 years ago #

    Thanks samboll. I've sent an email to the hosting provider asking if that can fix this one for me with along with my findings. Let's see. If they can't change this at the host then I can always move the site to my account on Site5.com where I have another blog - and there everything is working just fine.

    I'll report back here with the final outcome, in case it's of use for someone else. Could take a day or two.

  6. christian-s
    Member
    Posted 4 years ago #

    Checked my php info on the server and saw that the host had made a mistake. Safe_mode was supposed to be On but if was Off. The same for Safe_mode_gid, it was also off and should have been on.

    Once the host fixed this I deleted all files on the server and uploaded a clean WP 3.0 version.

    All files have 644 and all folders 755.
    WP-content is owned by my user account. I changed wp-content folder to 777 temporarily and uploaded one picture via wp dashboard > media > upload.

    WP then created wp-content/uploads/2010/06 and the files.

    I then changed 'wp-content' back to permission set 755. The new folders that wp created during picture upload had the following owners and permissions:

    /www/wp-content/ owner/group: 18571/18556 (755)
    /www/wp-content/uploads/ owner/group: 80/18556 (777)
    /www/wp-content/uploads/2010 owner/group: 80/18556 (755)
    /www/wp-content/uploads/2010/06 owner/group: 80/18556 (755)
    /www/wp-content/uploads/2010/06 files owner/group: 80/18556 (644)

    I would prefer that /www/wp-content/uploads/ had 755 as permission and not 777, but that seems to be impossible on this host.

    Am I just being paranoid about the 'uploads' folder having 777? Is this how it's supposed to work? I really do not want to run any security risks.

    When I look here: http://codex.wordpress.org/Hardening_WordPress
    it states:

    "All files should be owned by your user account, and should be writable by you. Any file that needs write access from WordPress should be group-owned by the user account used by the webserver.

    * / -- the root WordPress directory: all files should be writable only by your user account.
    o EXCEPT .htaccess if you want WordPress to automatically generate rewrite rules for you
    * /wp-admin/ -- the WordPress administration area: all files should be writable only by your user account.
    * /wp-includes/ -- the bulk of WordPress application logic: all files should be writable only by your user account.
    * /wp-images/ -- image files used by WordPress: all files should be writable only by your user account.
    * /wp-content/ -- variable user-supplied content: intended by Developers to be completely writable by all (owner/user, group, and public).
    o /wp-content/themes/ -- theme files. If you want to use the built-in theme editor, all files need to be group writable. If you do not want to use the built-in theme editor, all files can be writable only by your user account
    o /wp-content/plugins/ -- plugin files: all files should be writable only by your user account.
    o other directories under /wp-content/ should be documented by whatever plugin / theme requires them. Permissions may vary. "

    So my newbie question is

    "All files should be owned by your user account, and should be writable by you. Any file that needs write access from WordPress should be group-owned by the user account used by the webserver."

    What does this actually mean? An example of files/folders permission and owner/group would help me.

    /wp-content/ -- variable user-supplied content: intended by Developers to be completely writable by all

    And does this mean that wp-content should be set to 777?

  7. christian-s
    Member
    Posted 4 years ago #

    Finally gave up trying to get wordpress media manager working on the host after spending the better part of June with various setups, support calls and emails. The solution was to change to a new host. Here everything works fine.

    Took me maybe 2-3 hours to:
    export Mysql db, download files from old server.
    create and import mysql db and upload files at new server
    create similar mail accounts
    check everything was working and then order the DNS change.

    I should have done that a lot earlier and saved me some time.
    My site is now hosted at site5.com.

  8. 203e270
    Member
    Posted 4 years ago #

    The problem with all these solutions (although they are valid solutions and may work for most people) and something I really don't understand is, why do we have to change the server settings, hosting companies etc? If every thing was working fine with WP 2.9X and WPMU 2.8X, but as soon as I upgraded to WP 3.0 on both sites the media uploader stopped working. This makes me think that the real problem is somewhere in the WordPress code not the server settings or the host, I mean, everything was working just fine before. So I decided to not fool around with my settings and upload everything to the wp-content/uploads/ folder manually and link the pic from the URL, in the meantime maybe this will be fixed in WP3.1

    I know this is way more work than it should be but a few months of hassle is worth it to not end up doing something that will cause me more problems and work if something goes wrong with the backup or reinstallation.

  9. christian-s
    Member
    Posted 4 years ago #

    I guess there are a zillion configurations out there. I have no idea what the media manager requires, but there could be conflicts with apache, linux, mysql or php (or windows). Each of these are installed at various versions. On top of this, the hosting companies may have their own ways of managing share hosting. Finally the endusers like us may have our own configuration of file permissions, htaccess and php.ini files.

    So I don't blame WP if it isn't working or the host for that matter. This is probably more tricky than one would think.

    And how on earth would you test it?

    I like NextGEN gallery for the way that it collects and shows the current settings for php in the dashboard.

    To get Media Manager working always would maybe require some sort of server side settings summary and troubleshooting path suggestions based on the configuration. And if there would be a problem then maybe a standard text that the user could copy/paste to an email and mail to the hosting company.

  10. najsajt
    Member
    Posted 3 years ago #

    I cannot add images even if I change permissions on 777. Please help, I cannot update my blog anymore

  11. websta
    Member
    Posted 3 years ago #

    Before you do anything else on the "Unable to create directory" issue (or unable to start eShop or other plugins that use uploads), first check:

    Admin area: Settings > Media: Uploading Files

    Check the information in the "Store uploads in this folder" blank, and verify that it is pointing to the correct directory.

    The default is wp-content/uploads but on some web host accounts I have had something like /home/username/public_html/wp-content/uploads. For more info, go here: Settings Media SubPanel.

  12. lkpub
    Member
    Posted 3 years ago #

    Check the information in the "Store uploads in this folder" blank, and verify that it is pointing to the correct directory.

    I am not even getting this option and can't upload images... there's no box for me to even "tick"

    Unable to create directory /home/www/mydomain.com/wp-content/uploads/2010/09. Is its parent directory writable by the server?

    I'm on hostgator. Should I move?

  13. Fabián
    Member
    Posted 3 years ago #

    If you can access ssh then this should help: http://www.andresmontalban.com/installing-suphp-on-mediatemple-dedicated-virtual-dv-server-with-plesk-8-6-0-and-virtuozzo/

    I installed SUphp and I solved that issue.

  14. the_croz
    Member
    Posted 3 years ago #

    Last night I read through a bunch of help messages on "Unable to create directory..." and "The uploaded file could not be moved" -- after I created the uploads directory myself. I checked directory permissions and tried assorted things with no luck.

    This morning, for kicks, I added a "/" in front of the default "wp-content/uploads" creating "/wp-content/uploads" and was able to upload. I have no idea what type of server my site is on, etc. I just know that this worked and thought I'd pass it on.

  15. the_croz
    Member
    Posted 3 years ago #

    Oh, I take it back. The errors stopped but I'm getting broken links for the images. :-(

    They show up in the Media Library and Edit Media shows the images but I just get empty boxes in my post edits and just the Alt text in my posts previews. Back to the drawing board. :-(

  16. the_croz
    Member
    Posted 3 years ago #

    My issue seems to be a bit different than others. I have a strange path. Like:

    Unable to create directory D:\Webs\domain.com\blog/wp-content/uploads/2010/10. Is its parent directory writable by the server?

    Note the slashes change direction. Any ideas?

  17. billyjr
    Member
    Posted 3 years ago #

    change the owner of uploads/ and the sub dir. to your apache running user, usually "www-data". That will fix this issue.

  18. billyjr
    Member
    Posted 3 years ago #

    never ever try 777!!!

  19. the_croz
    Member
    Posted 3 years ago #

    deleted

  20. the_croz
    Member
    Posted 3 years ago #

    Hmm. Okay, let's try that again. Found the solution here:http://wordpress.org/support/topic/image-upload-problem-using-iis-on-windows-server-2008

  21. rahkim
    Member
    Posted 3 years ago #

    I suggest you turn off Organize my uploads into month- and year-based folders because you are going to have a problem with permissions every month when a new directory needs to be created. Just let them all go to /wp-content/uploads.

  22. Kevin_Myers
    Member
    Posted 3 years ago #

    I had this problem, here is how I've fixed it.
    Change the group of your wp files to 'web'. SSH into your site and from the directory you've installed wordpress to, type :

    chgrp -R web wp-admin

    It Is supposed to be deprecated but worked.

  23. pixelandgrain
    Member
    Posted 3 years ago #

    Hey guyz .. i was having same issue.. and i was keep trying and trying for constantly 3 hrs to solve this silly issue.. even I talked to my host provider they say we now allow 777 .. i said oops now big trouble.. but i just tried out my logic and it works completely fine...it works for me you ppl should try may be it can work for you too...

    My setup:

    WordPress is on public root
    Custom folder is on public root but that is a subdomain directory media.mydomain.com

    Now as usual I tried first
    Store uploads in this folder: public_html/media
    Full URL path to files: media.mydomain.com

    And here is the problem.... here server or wordpress may be consider outsider is trying to access (I guess. So its required 777 or at least 775 permission. So as my subdomain directory and wordpress at the same place I have just use only directory name. So here below I have entered value into the filed.

    Store uploads in this folder: media
    Full URL path to files: leave blank

    and it works fine without any issue same like wp-content directory..if you have installed wordpress in other directory still you can try with may be ../ or similar without using public_html

    It works for me.. and believe it may works for you too.

Topic Closed

This topic has been closed to new replies.

About this Topic