Magento Permission - I can't add anything via Magento Backend - php

Before creating this post I've searched SOF for similar problems but I didn't those advices didn't help me.
Magento Error:
CONNECT ERROR: Please check for sufficient write file permissions.Your Magento folder does not have sufficient write permissions, which downloader requires.
I have checked 100's times - permissions are right 777 for all the possible folders (var, media, downloader, etc), but still no luck.
At the same time I can download/upload files using FileZilla SFTP - I also can upload for example, images when I work with pages, but only with Chrome and can't do with Safari. Website is currently is on beta version and is accessible only via IP, but I guess this has nothing to do with it.
This:Magento Connect Manager & ftp write file permissions
nor this: Warning: Your Magento folder does not have sufficient write permissions
nor this: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
didn't help me...
When I was doing last url's advice I got error:
sudo chmod o+w var app/etc
chmod: cannot access ‘var’: No such file or directory
chmod: cannot access ‘app/etc’: No such file or directory
Please let me know what I can do to fix this!
Maybe this has something to do with my hosting - Digitalocean?
Thanks in advance!

Try to use full path to this folders and set permissions to subfiles/subfolders too:
sudo chmod -R 775 /full/path/to/magento/app/etc
sudo chmod -R 775 /full/path/to/magento/var
if it still return 'No such file or directory', just create it before:
sudo mkdir /full/path/to/magento/app/etc
sudo mkdir /full/path/to/magento/var
If this don't help - contact your hosting support, may be web server user is 'nobody' and don't have permissions to folders or something like this.

Related

Permission in linux using xampp and wordpress

I'm trying to move more and more to linux, and i have some problem with the developement of my website locally with wordpress.
Everything went fine with installing wordpress and xampp. But now, if i want to install new themes or upload picture to my website, not using nemo in sudo mode (i'm using linux mint) the website is not allowed to write anything (the website is in /opt/xampps (something like that) ). I know that it's linux permission restriction.
Is there a way to allow writting permanently in a folder or something like that in linux ?
Thank you in advance
Try this command on your terminal with root user,
chmod -R 0777 /opt/xampps/mydirectory
sudo chown -R daemon wordpress-folder
// or use htdocs folder
the xampp apache server uses a user named daemon to access the folders inside htdocs, this will fix all the permission problems.
/u/Prabu 's answer has the right idea, but there is no reason to use 0777. It opens your directory up to attacks unnecessarily. Use 0755 instead.
chmod -R 0755 [your xampp directory]
0777 gives read, write and execute access to the directory to everyone who can get to it.
0755 gives read, write and execute access to only the folder owner (you!) and read/execute access to whatever group owns and the rest of the world. The important point is that it denies the world at large the ability to save files into your directory.
Here's a good summary of file permssions. It isn't super complicated, so you may as well take a few minutes to familiarize yourself with it since you're a Linux user: http://www.csit.parkland.edu/~smauney/csc128/permissions_and_links.html

How do I make a nouser/nogroup so wordpress can write to files?

I host my own test server. I am using ubuntu server 14.04 with apache2 mysql and php. and i am getting this error when I try and upload a theme to my wordpress.
Unable to create directory wp-content/uploads/2015/04. Is its parent directory writable by the server?
That for some reason i can not find a working answer for this error. I do know that permissions are involved but i am also new to the whole server admining.
So any help world be great to get this fixed. Thanks in Advance.
Justin
From the terminal, navigate to the parent directory of wp-content and use this command sudo chmod -R a+rw wp-content
The -R means to change the permission recursively(all child directories and so on)
The a means all user, +rw means read and write permission.

Magento Connect Manager & ftp write file permissions

After transferring my site from development domain to a live domain I have tried to use the magento connect manager to install an extension, however I keep getting:
CONNECT ERROR: Please check for sufficient ftp write file permissions.
Your Magento folder does not have sufficient write permissions, which downloader requires.
I have set my folder permissions to be:
root: 777
downloader (and recursively into directories only) 777
downloader/config.ini 666
media 777
media/downloadable 777
var 777
app/etc 777
app/code/community 777
var/cache 777
I have also used the magento file permissions cleanup tool located at this post: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
I have also flushed cache and disabled cache within the site for the moment.
Still no joy! I keep getting the same error message - can anyone advise?
Try downloader and its inner folders permission as 775 and files as 664.
Sometimes the group and user ownership (of files and folders) will change when moving from one host to another. Make sure that the files are owned and accessible to the web server.

Trying to upload an image in php and a permission denial arises at the move_uploaded_file() function

My code gets a permission denied error at the move_uploaded_file() function when I'm trying to save a file into a folder on my server (from the temp folder).
My user has full permissions across all the website directories and files. Is there an apache user that need permissions as well? How do I give permissions to this apache user?
If that isn't the case. Is there a way I can use the php chmod function to fix this problem?
Thanks for the help!
You are correct. The folder you need to move the file to doesn't need you to have permissions, it needs for the web server to have permissions.
Basically you need to figure out what account your web server is running as and give that user write permissions to the destination directory.
To figure out what your web server account name is, try the following command (assuming you're running Linux):
sudo lsof -i tcp:80
You should get back a bunch of lines with a USER column. One will be root, ignore that one. The other user listed is the user under which your web server is running. It's probably something like www or www-data or apache or the like.
After that, navigate to the parent directory of your upload directory and change it's ownership and permissions with the following command:
sudo chown www-data:www-data uploads
sudo chmod u+w uploads
At that point, your webserver user now has access to write to your uploads directory. If you have any trouble, post a comment and I'll try to help out.
I assume you gave the folder 777 permissions? The folder needs those permission.

PHP/Apache: Permission settings for uploaded JPEG image files not correct

I just setup a LAMP development server and am still trouble-shooting some things. The server is installed on one computer and I use a Windows laptop to write my code and test the site via the web browser.
My file uploading script works in that JPEG image files are successfully uploaded to the server, but when I try to view the images in the web browser, permission is denied.
I check the permissions on the file via the server and they are 600. I can fix the issue by chmod 777 theimage.jpg, but this doesn't seem like a good solution at all.
Does the solution have something to do with Apache configuration? Or is there something else I should be doing.
Thank-you,
Mike
Update
To clarify, I am able to upload a JPEG file to /var/www/test/images, but am unable to view the image in the web browser after it has been uploaded. My script works on the production server (I am using Dreamhost). This leads me to believe that the issue is with the development server that I have just setup. Any feedback is greatly appreciated, even if it is just resources that I should read for better understanding the server setup.
You need to change the permissions on the folder containing the file, not just the file itself. Use sudo chmod and sudo chown on the directory that contains the file you want to access, then check to make sure the permissions where changed with the ls -rl command. The permissions used with chmod should be r and w and the directory should read -rw-r--r-- when the ls -rl command is used if the permissions have been changed correctly. Also, if you are still unclear about the specifics of how chmod and chown work check out this link and this link.
EDIT:
Type this:
sudo chmod -R 666 /var/www/test/images
Or this:
sudo chmod a=rw /var/www/test/images
... to do what you want to do. For more explanation see my latest comment entry below.
I'd say you probably are running PHP under a different uid than Apache.
You can:
Configure apache/PHP so that they run under the same uid
Upon file upload, use PHP tochange the permissions with the chmod function or change the umask associated with the PHP process so that the file gets the correct permissions in the first place
Access the images through PHP (readfile) -- not recommended for performance issues

Categories