Linux

Joomla File Permissions on cPanel: Safe Settings and How to Fix Errors (2026)

Short answer: Set folders to 755 and files to 644, make sure every file is owned by your cPanel user, and never use 777. On cPanel, PHP runs as your account, so Joomla can write to its cache, tmp, logs and images folders without any world-writable permissions. Check the result in Joomla under System > System Information > Folder Permissions.

How file permissions work

Every file and folder on a Linux server has an owner, a group, and three sets of permissions: for the owner, for the group, and for everyone else. Each set can allow reading (4), writing (2) and executing or opening a folder (1). The three digits in a permission such as 755 are those sets added up.

Permission Owner Group Everyone else Use it for
755 read, write, open read, open read, open Folders
644 read, write read read Files
444 read read read configuration.php after setup (optional)
777 everything everything everything Never. Anyone on the server could change the file.

Why 777 breaks Joomla on cPanel

On a modern cPanel server, PHP runs under your own cPanel user, through PHP-FPM or the handler selected in MultiPHP Manager. Your account already owns its files, so Joomla can write where it needs to. Setting files or folders to 777 adds nothing except risk: it lets other processes change them. Many servers refuse to run PHP from world-writable files, so 777 often causes a 500 Internal Server Error instead of fixing anything.

The settings to use

  • ✓ All folders: 755.
  • ✓ All files: 644.
  • ✓ configuration.php: 644, or 444 once the site is set up. Joomla can make it read-only for you.
  • ✓ Owner and group of every file: your cPanel user, not root and not nobody.

Folders Joomla needs to write to

Folder Used for
administrator/cache, cache Page and system cache
tmp Uploads and installing extensions
administrator/logs (or your log folder) Error and activity logs
images Media uploaded through the Media Manager
media, plugins, components and similar Installing and updating extensions

With 755 folders owned by your account, all of these are writable by Joomla. You do not need special permissions for them.

Fix permissions over SSH

Run these commands from the Joomla root folder. Replace the path with your own site folder.

cd /home/youraccount/public_html

# Folders to 755, files to 644
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

# Lock the configuration file once the site works (optional)
chmod 444 configuration.php

Fix ownership after a migration

If files were copied as root, extracted from an archive, or restored by hand, they may belong to the wrong user. Joomla then cannot write to them. Fix the ownership as root, replacing youraccount with the cPanel user name:

chown -R youraccount:youraccount /home/youraccount/public_html

If you do not have root access, ask your host to fix the ownership. In cPanel, the File Manager shows the owner of each file in its permissions view.

Change permissions in cPanel File Manager

Without SSH, use the File Manager in cPanel:

  1. Open Files > File Manager and go to the Joomla folder.
  2. Select a file or folder and click Permissions.
  3. Set the boxes to match 755 for folders or 644 for files, then save.

File Manager changes one item at a time, so use SSH or ask support for whole-site changes.

Upload limits

If large uploads fail even with correct permissions, the PHP upload limits are too low. In cPanel, open MultiPHP INI Editor, choose the domain, and raise upload_max_filesize and post_max_size. Keep post_max_size a little larger than upload_max_filesize.

Protect sensitive files

  • Do not leave backup copies such as configuration.php.bak or site archives inside public_html. Anyone could download them.
  • Keep site backups outside the web root, or off the server.
  • Turn off directory listing, so visitors cannot browse folders without an index file.
  • Remove installation and test files once the site is live.

Upload as the right user

Ownership problems usually start with how files were uploaded. Upload with SFTP or FTP using your cPanel account, not as root, and extract archives in File Manager or over SSH as the account user. The files then belong to the right user from the start, and Joomla can write to them.

Check permissions inside Joomla

  1. Log in to the Joomla administrator.
  2. Open System > System Information.
  3. Open the Folder Permissions tab.
  4. Every folder should show Writable. Any folder marked Unwritable needs its permissions or owner fixed.

Check which PHP handler the site uses

In WHM, open MultiPHP Manager to see the PHP version and handler for the domain. With PHP-FPM, PHP runs as your account, which is what you want. If an account owner sees odd permission problems after a PHP change, check this page first.

Common permission errors

Error Likely cause Fix
500 Internal Server Error Files or folders set to 777, or a broken .htaccess Reset to 755 and 644, then rename .htaccess temporarily to test.
Unable to write to the cache or tmp folder The folder belongs to another user Fix the ownership with chown, as shown above.
Extension installation fails The tmp folder path in Global Configuration is wrong, or not writable Check the Path to Temp Folder in Global Configuration and its permissions.
Cannot save Global Configuration configuration.php is read-only Set it to 644, save the changes, then set it back to 444.
Uploaded images do not appear The images folder or the uploaded files have the wrong owner Fix the ownership, and check the PHP upload limits.

Keep Joomla secure

  • Update Joomla and every extension when updates come out.
  • Remove extensions you no longer use.
  • Use strong, unique admin passwords and turn on two-factor authentication.
  • Keep daily backups off the server. See our automatic cPanel backups guide.

For the general rules on cPanel, see our cPanel file permissions tutorial and our Joomla hosting guide.

Need help with this?

Running Joomla? Our cPanel hosting runs PHP as your own account, with daily backups and support that understands Joomla.

See web hosting plansContact @CustomerPanel

Frequently asked questions

What permissions should Joomla files have?

Folders 755 and files 644, all owned by your cPanel user. configuration.php can be 444 once the site is set up.

Should I ever use 777 for Joomla?

No. On cPanel, PHP runs as your account, so 777 is never needed. It lets other processes change your files and often causes 500 errors.

Why does Joomla say a folder is unwritable?

Usually the folder belongs to a different user, for example after a migration or a restore done as root. Fix the ownership with chown, or ask your host to.

Do I need to change permissions after a Joomla update?

No. Updates keep the existing permissions. If an update fails, check System Information for unwritable folders, then fix the ownership or permissions and run the update again.

Where can I see folder permissions in Joomla?

In the administrator, open System > System Information and the Folder Permissions tab.


Sources