开发者

Joomla Directory Permissions Unwriteable...But they are!

I am trying to move a Joomla site off my dev server onto the client's live server. I am installing a new copy Joomla in the process. I went through the install fine, pasted the config code together for the new site, but now then I wasn't abl开发者_开发百科e to update any site settings or install any modules/plugins/components. I changed all folders to 777, and double checked these settings multiple times through my Terminal. However...when I am in the Joomla Admin, and I go to Help > System Info > Directory Permissions all folders read as Unwriteable. I have no idea why this is and I am completely stuck at this point, unable to configure anything. Any and all help is GREATLY appreciated. Thanks J


Set the permissions for the web server account (apache)

If you are running WordPress on OS X using XAMPP for local development then you likely have tried to upload core or a plugin and encountered the following error while prompted for FTP Connect Information:

To perform the requested action, WordPress needs to access your web server.

This is because by default XAMPP runs as the user nobody on Mac and this causes some permissions issues. Additionally WordPress prior to upgrading writes a file to the system and then checks to see which user wrote the file. If this file does not match the user running PHP it will refuse to upgrade, even if write permissions existed. chmod 777 is not sufficient to get past this; you must have the correct user as well. I don’t know why they did this and if there’s a technical reason for it, but it’s annoying.

The solution: Edit your httpd.conf to run as your username for the user and staff for the group.

Open httpd.conf in TextEdit:

sudo open -e /Applications/XAMPP/xamppfiles/etc/httpd.conf

Change:

User nobody
Group nogroup

To:

User your_mac_username
Group staff

Restart Xampp and this should correct the problem; you can verify it worked by running in a .php file.

If you still encounter issues you can check a couple of other things. First verify ownership (most likely problem):

sudo chown -R your_mac_username:staff /path_to_webroot/www/

Next confirm permissions (you can change 777 if you need higher security):

sudo chmod -R 777 /path_to_webroot/www/


  1. Set permission to 777
  2. use full path for logs and tmp e.g.:
    /var/www/vhosts/mydomain/httpdocs/tmp


I had a similar sounding problem when I first installed Joomla on a web hosting service. This is a guess, but it might help you.

There are some Joomla pages that won’t save because configuration.php has the wrong permissions. I tried to change this via FTP but the CHMOD command failed. Initially I hacked around it by copying configuration.php to another machine, deleting it from the server, and copying it back. That solved the admin problem. Unfortunately it created a security problem.

The correct solution was to define the FTP account and password in the Joomla global configuration page. Joomla uses the account behind the scenes to modify the configuration.php account without opening it up to hackers by setting the permissions to 777. I had a article on why this worked, but I can't find the reference now.

If you've changed all the file permissions to 777, then you may have left the Joomla installation in an insecure state. I recommend restoring them to their default values; or perhaps just redoing the installation as it might be hard to determine what the defaults are.


What version of joomla are you using?

unfortunately joomla does have some problems when you install components/module/etc trough the administration, that makes the installed/uploaded files to be owned by root (server) insted of user (you) with version 1.0.x

but it's fixed in the newer version of joomla 1.5 > with the new FTP layer (the form that asks you for your FTP authentication when you install it), assuming you're installing it manually not using automated scripts like fantastico

that said, here's a trick I used. try logging in to your Cpanel account, and use the built in file manager to delete the files and re-upload the files trough FTP so the file ownership belongs to you.

keep in mind though, this problem is not entirely joomla's fault, its a known php file upload problem. so the problem will persist if you try to install/upload files while not using joomla's FTP layer. Try updating your joomla settings and supply it with your FTP authentication for your uploads and components/module/plugin installation.


Simple question and simple Answer .. while installing joomla you are skipping FTP setting... This is the key .. fill the FTP settings these settings are used when you upload joomla site through FTP then you don't have sufficient permissions then joomla usses these settings to work on server directory structure..


The problem is that your FTP username does not have the same permissions that Joomla has on the server, and that's why you have this problem.

You should contact your system administrator.


Just to add another answer for future googler's I experienced this issue today the problem was that SELINUX will silently killing the php write check process.

The quick and dirty fix was to disable SELINUX but I'm sure you could also configure exceptions /rules within selinux


You need to run apache as the user who owns the files. In your apache config change this:

User YOUR USER NAME

Group YOUR GROUP NAME


The best solution that works.

  1. You create a configuration.php file at the root folder and paste code inside of the error frame.
  2. Delete manually installation folder.

Repete removes installation folder or F5 for repeat page. Wish it helps you!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜