Appearance
File Permissions
Shop Craft needs write access to certain folders to store uploaded files, cached data, and log files. If these folders do not have the correct permissions, you may see errors during or after installation.
Required Writable Folders
The following folders (and all their contents) must be writable by the web server:
| Folder | Purpose | Required Permission |
|---|---|---|
storage/ | Logs, cached files, uploaded images, session data | 755 or 775 |
bootstrap/cache/ | Application bootstrap cache | 755 or 775 |
What Do These Numbers Mean?
- 755 means the owner can read, write, and execute; everyone else can read and execute
- 775 means the owner and group can read, write, and execute; everyone else can read and execute
On most shared hosting, 755 is sufficient. If you still see permission errors with 755, try 775.
Setting Permissions in cPanel File Manager
- Log in to cPanel
- Open File Manager
- Navigate to your Shop Craft installation directory
For the storage/ folder:
- Find the
storagefolder in your Shop Craft directory - Right-click on it and select Change Permissions
- Set the permission to 755 (check the boxes for Owner: Read, Write, Execute; Group: Read, Execute; World: Read, Execute)
- Check the box for Recurse into subdirectories (if available)
- Click Change Permissions to save
For the bootstrap/cache/ folder:
- Navigate into the
bootstrapfolder - Find the
cachefolder - Right-click and select Change Permissions
- Set to 755 (same as above)
- Click Change Permissions to save
Setting Permissions via FTP
If you prefer using an FTP client (like FileZilla):
- Connect to your server via FTP
- Navigate to your Shop Craft directory
- Right-click on the
storagefolder - Select File permissions (or Properties > Permissions)
- Enter
755in the numeric value field - Check Recurse into subdirectories
- Click OK
- Repeat for the
bootstrap/cache/folder
Common Permission Errors
"The stream or file ... could not be opened"
This error means the storage/logs/ directory is not writable. Set the storage/ folder permissions to 755 or 775 as described above.
"Failed to open stream: Permission denied"
This usually means storage/framework/ or bootstrap/cache/ is not writable. Apply 755 permissions to both the storage/ and bootstrap/cache/ folders.
"Unable to write to directory" during image upload
The storage/app/public/ directory needs to be writable for product image uploads. This is covered when you set 755 on the entire storage/ folder recursively.
Still Having Issues?
If setting permissions to 755 does not resolve the error, try 775. If that also does not work, contact your hosting provider — some servers have specific permission requirements.
Never Use 777
Setting permissions to 777 (read, write, execute for everyone) is a security risk. It allows any user on the shared server to read and modify your files. Avoid 777 even if it "works" — use 755 or 775 instead.