Magento Permissions - magento

I have just moved my Magento store from cPanel to DirectAdmin (Centos).
My problem is now with permissions. Previously on cPanel all folders were set to 755 and files 644. This worked great.
However on DirectAdmin the only way I seem to be able to get everything to work (including the downloader) is by setting all folders to 777. Is this safe to do so?
Also what should the User and Group ownership be set to?
Thanks!

Followed this and everything seems to be working well:
http://blog.nexcess.net/2010/12/06/securing-magento-file-directory-permissions/

chmod may not be your problem. Who is the owner of the files on new server? Set the ownership via chown to www-data (ubuntu) or whatever they should be on centos. They way you can find this out is by setting all to 777 then look at the some newly created file, from var/log or var/session and see who is the owner/group. Reset back to varien's recommended chmod settings and do the chown user:group on all files.

Its not good to have 777 on all your folders as it makes it publicly accessible and changeable. Some can be 777, more so 755, and most cases 644
Get set the folders to the right permissions the easiest way is to use the Magento cleanup tool here:
http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Scroll down a bit on that page to download the Magento Cleanup Tool
You can also reference the Magento installation cheat sheet Step 2 - Set file permissions:
http://www.magentocommerce.com/knowledge-base/entry/magento-installation-cheat-sheet#step2
So I would set everything back to 644, and then run the cleanup tool.

Magento Permission can be set by running a file in the installation.For that you need to download the magento cleaup tool.
Download Magento Cleanup Tool

Related

Magento can't access css files

I updated by theme in magento 1.9 and now the frontend doesn't come up. Depending on the permissions I set, I get various errors like No Access, all pointing to a permission problem.
I ran chown -R 777 on httpdocs but the site still doesn't come up. The admin area does however load.
When I switch to Magento's rwd theme, the site does come up but it doesn't load any css (and the source shows that the code to load css and js is missing).
I am guessing that just setting permissions wasn't sufficient but that the user and group need to be set correctly. Could that be it?
If so, how do I best do that? Would chown -R user:group httpdocs do the trick and if so, what user should I use? My hosting provider recommended to not use apache:apache
Go to configuration-> Design-> Themes and make sure that the skin (images/css) field to been set correctly as well.
Try this set permission to 755
sudo chmod -R 755 yourfolder/
Then try ctrl+u and check the path of css files, and if you are having css files to same path.

public_html folder invisible

I have a website which I copied to this location. The public_html folder was also uploaded with the other folders but it is not showing up. Please guide me. Thanks.
As you are using DreamHost web hosting you wont have any control over ssh and chmod , chown commands. I think dreamhost wont use cPanel for shared hosting, they have their own control panel, so there is nothing you can do, Ask dreamHost support to reinitialize your public_html directory. Surely they will do that. I searched on dreamhost forum and found these link-
https://discussion.dreamhost.com/thread-13646-post-13647.html#pid13647
https://discussion.dreamhost.com/thread-128630.html
Currently in your case i saw that there is no issue related to public_html (technically "Document Root" ) directory coz as your http://www.inspuratesystems.com/second/ is pointing to correct directory , and your documentRoot is parent of that directory, So if your documentRoot was wrong then there were no chance to access that that url, currently your domain is opening a correct index.html file which indicates that your documentRoot is there.
Create a index.html or home.html file there manually (from their web based file manager) and see if it is working or not, if it works then there is some issue with your uploading.
Your hosting provider seems to be dreamhost.com
Please check out this thread, according to which public_html seems to be a special case on dreamhost:
https://discussion.dreamhost.com/thread-144453.html
and/or this:
Getting a 'Not Found' error on my website?
Hope it helps!
Make sure that the public_html folder has execute permissions
chmod a+x public_html
That will allow execute permissions for everybody.
Perhaps it's possible that server (apache?) hides folders named public_html? Also check that group others have read and execute permissions for that folder.
In folder /path/to/second/ run
chmod ugo+rx .
chmod -R ugo+rx public_html
to set folder visible.
cpanel may handle the "public_html" folder in a unique way. Try uploading to a folder like: /home/yourusername/public_html/second/files/ instead of /home/yourusername/public_html/second/public_html/
If you are wanting to create a new distinct website at inspuratesystems.com/second/ you don't need a second "public_html" folder. Just put them in the /home/yourusername/public_html/second directory.
If you are using a linux or OS X server, you may need to change the permissions on the folder.
Did you checked if the folder is hidden attribute?
If you execute ls -a in terminal, you will know about it's existence. If it is present then please try giving it read & execute permission (using chmod 555 command). Give write permission if you are planning to write something or take feedback from users (using chmod 777).
I tried some of this options above but unfortunately none worked. Instead I discovered that in CPanel you have a "Preferences" tab and in that tab you have a "User Manager" function. You can there edit the ftp user that you created before in CPanel. On the "User Manager" funcion you can find the "Home Directory" configuration. On that home directory you just choose the "public_html". When you configure the user in the ftp account on your ftp platform, it goes directly to the path you defined in CPanel.

Magento: Settings has not been loaded. Used default settings Wrong config file size connect.cfg please save Settings again

I am receiving a following error
Settings has not been loaded. Used default settings
Wrong config file size connect.cfg please save Settings again
in magento connect. I tried to delete files and did every possible thing, but the issue is not getting resolved. Please help me with possible solution guys. Also the extensions are not getting installed because of this and we are not able to solve problems.
We are using magento 1.9
Make sure that you click settings and click save as this flag will not clear until you do so. I was pulling my hair out with this as I chmod'd the files and chown'd the directory's but it was still showing the error. So once the file and folder permissions are set correctly go to the Magento Connect manager click the settings tab and click save settings then go back to extensions tab and the error will now be gone.
Tony Merlin
When you are in magento connect manager and you get this error
*
Settings has not been loaded. Used default settings
*
Click on magento conect manager Settings tab (top left) and select Use Custom Permissions --> YES and default should be 777 for folders and 666 for files. Deployment Type --> Local Filesystem and then hit SAVE SETTINGS.
The problem should be solved. At least that's how I solved mine when I got this error.
Be sure the /dowloader folder permissions are set to 777 and you can also chown the folder with the apache user. That worked for me. I have done:
chmod 777 -R /downloader/
chown www-data:www-data -R /downloader/
replace www-data with your apache user.
I've done this and worked perfectly for me.
It's a well known issue.
Check if the file named "connect.cfg" hasn't been modified (for
exemple: when I get this issue, the file has nothing into it, every
parameters have been removed and the size is 0kb)
Take a backup of this file and overwrite the existing
The issue should be solved know
For info about the access rights, I have :
2775 for the folder "downloader"
0664 for the file "connect.cfg
chown apache /var/www/ -hR will solve this problem.

Which folders and files needed 777 mode in joomla 1.5?

After joomla upload to ftp . how many folder needed mode 777 need enable to working joomla without any error.
Depending on the security configuration of your Web server the recommended default permissions of 755 for directories and 644 for files should be reasonably secure.
source: http://docs.joomla.org/What_are_the_recommended_file_and_directory_permissions%3F
Only bad hosting providers will require you to set permissions to 777. If you have to do that, or are told to do that by your host, save yourself and get a better host. I don't deal with clients on hosts like that, because its the source of a LOT of security issues.
never use 777 but use 755.
755 only for writeable folders like components, modules, templates, caches and images.
except for that .. set to 664
None.
Joomla 1.5 contains an option that uses your FTP account and password to write to files it needs to write to. Enable that and none of them need to be world writeable.
You can check which folders to chmod in system check of your joomla admin
The only file that needs to be writable is configuration.php. It should be set to 666.
You can find the list of folders by going to the Joomla admin area (the 'administrator' folder in your Joomla installation). Go to Help > System info in the menu then click Directory permissions. This page tells you whether they are writable or not. Folders should be set to 777.
To solve installation errors I have found setting the following directories to 777 to be very convenient BUT EXTREMELY UNSAFE.
/administrator/backups/
/administrator/components/
/administrator/language/
/administrator/language/en-GB/
/administrator/language/nl-NL/
/administrator/modules/
/administrator/templates/
/components/
/images/
/images/banners/
/images/stories/
/language/
/language/en-GB/
/language/nl-NL/ or other lang
/language/pdf_fonts/
/modules/
/plugins/
/plugins/content/
/plugins/editors/
/plugins/editors-xtd/
/plugins/search/
/plugins/system/
/plugins/user/
/plugins/xmlrpc/
/tmp/
/templates/
/cache/

Joomla Component Install Issue: Can't install any components, fresh install of latest Joomla

When I try to install any component, specifically my mtwMigrator component, I receive the following error:
* Warning! Failed to move file.
This is on a fresh install, with FTP Layer turned off, with default content installed, Joomla 1.5.14, latest PHP and my_SQL versions, Legacy mode turned on.
A very common cause of this error is due to file permissions. Joomla must be able to copy the files from your component into the components and administrator/components directories. If the system user the webserver runs as does not have write permissions to these folders, it will not be able to copy the files over.
The FTP layer is there to get around this issue. With the FTP layer on, you upload the component to the server first, then it is FTP'ed from the temporary directory to localhost. For this to work, the FTP user you specify must have permission to write to the components and administrator/components folders.
I had a similar problem when moving between machines (I know you said it was a fresh install - but someone might find this helpful). Ensure the $tmp_path entry in joomla\configuration.php is pointing to a valid directory. Mine wasn't.
In your Joomla backend, on the top menu, go to Help >> System Info >> Directory Permission and ensure that that are writable otherwise you don't want to have to change the folders to 777 and back again each time you install an extension.
In addition to this, you can mass chmod folders and files using Akeeba Admin Tools.
You mgiht also want to update to the latest Joomla 1.5 version (1.5.26)
The most ideal permission for Joomla directories is 755. There are cases when mod_suphp is not installed that the permission problem would occur.
Make sure that mod_suphp is installed and loaded by checking your php info e.g. and running this on your browser. If mod_suphp is not installed, then you will need help from your hosting provider to install this for you.
Normally, all directerories should have 755 (rwxr-xr-x) and all files 644 (rw-r--r--). If you want to set the most directories to not-writetable, you will need at least the directories listed in Help > System info > Directory Permissions. (Here you can also check which directories need to be changed, as non-writetable directories are shown in red.)
In some shared hosting environments, 755 / 644 isn't enough, as the owner of the file is not the (Web)Server User, but the FTP-User ... so either change it to 777 / 666 (not recommended, as you allow others to write your files), or get your FTP layer to work.
Another try: Joomla! does not work yet with the recent PHP 5.3. Can you use PHP 5.2? (Similar Problem in the Joomla Forum)

Resources