Just starting the install process and I am running into an error message that I can not resolve and does not seem accurate. It is stating that the storage directory does not exist and that the ffmpeg.exe is not executable despite being set at 777 as well as the directory housing it. Please advise. I'd like to get started with this ASAP.
storage Not exists Writable
plugins/ffmpeg/ffmpeg.exe Not executable Executable
Comments
Hello @IVA !
Could you please specify what package of UNA and what hosting do you use?
The storage folder you may create by youself. The ffmpeg permission may be connected with the limited rights hosting plan.
I
UNA PACKAGE: UNA-v.14.0.0
HOSTING: The Grow Big package from SiteGround. I can't post links or I'd share the link here
I
I did want to mention that I installed it into a subdirectory. Could that be causing the issue?
If you need to set the correct permissions for UNA CMS, run this command:
#!/bin/bash # Move into the 'una' directory cd una # Change the owner of all files and folders to 'www-data' (the default web server user) sudo chown -R www-data:www-data . # Set permissions for all directories to 755: # 7 = read (4) + write (2) + execute (1) for the owner # 5 = read (4) + execute (1) for the group # 5 = read (4) + execute (1) for others sudo find ./ -type d -exec chmod 755 {} \; # Set permissions for all files to 644: # 6 = read (4) + write (2) for the owner # 4 = read (4) for the group # 4 = read (4) for others sudo find ./ -type f -exec chmod 644 {} \; # Give execute permission to ffmpeg.exe (because it’s an executable file) sudo chmod +x ./plugins/ffmpeg/ffmpeg.exe # Show confirmation message echo "Permissions successfully set."
If that doesn’t work, try this more permissive version:
#!/bin/bash # Move into the 'una' directory cd una # Change the owner of all files and folders to 'www-data' sudo chown -R www-data:www-data . # Set permissions for all directories to 775: # 7 = read (4) + write (2) + execute (1) for the owner # 7 = read (4) + write (2) + execute (1) for the group # 5 = read (4) + execute (1) for others sudo find . -type d -exec chmod 775 {} \; # Set permissions for all files to 644: # 6 = read (4) + write (2) for the owner # 4 = read (4) for the group # 4 = read (4) for others sudo find . -type f -exec chmod 644 {} \; # Give execute permission to ffmpeg.exe sudo chmod +x ./plugins/ffmpeg/ffmpeg.exe # Show confirmation message echo "Permissions successfully set."
Explanation of the permission numbers:
In Linux, file permissions are represented by a three-digit number:
Each digit is a combination of:
4
= read permission2
= write permission1
= execute permissionYou add them together to get the desired permissions.
Examples:
7
= 4 (read) + 2 (write) + 1 (execute) = read, write, execute6
= 4 (read) + 2 (write) = read, write5
= 4 (read) + 1 (execute) = read, execute4
= read onlyPermissions we’re using:
755
for directories:775
for directories (alternative if group write is needed):644
for files:+x
for executables likeffmpeg.exe
:⚠️ Why not use 777?
777
= read/write/execute for everyone (owner, group, others)Cheap servers for testing UNA:
If you want something affordable to test UNA, check Hetzner Cloud:
https://www.hetzner.com/cloud/
Their cloud servers are fast, reliable, and cheap.
⚠️ Do not use shared hosting packages if they don’t give you
sudo
orroot
access, which is required for UNA.I
That worked. Thanks for your help getting this set up!
I didn't understand. How did you solve the problem?
I
This solution you provided allowed me to complete the install:
#!/bin/bash # Move into the 'una' directory cd una # Change the owner of all files and folders to 'www-data' (the default web server user) sudo chown -R www-data:www-data . # Set permissions for all directories to 755: # 7 = read (4) + write (2) + execute (1) for the owner # 5 = read (4) + execute (1) for the group # 5 = read (4) + execute (1) for others sudo find ./ -type d -exec chmod 755 {} \; # Set permissions for all files to 644: # 6 = read (4) + write (2) for the owner # 4 = read (4) for the group # 4 = read (4) for others sudo find ./ -type f -exec chmod 644 {} \; # Give execute permission to ffmpeg.exe (because it’s an executable file) sudo chmod +x ./plugins/ffmpeg/ffmpeg.exe # Show confirmation message echo "Permissions successfully set."
Thanks for your help with this. I've got it connected to a database and have begun building it out now.
I'm glad I could help you. Save as a file if you need further help to restore UNA permissions
set_permissions.sh
#!/bin/bash # Filename: set_permissions.sh # Move into the 'una' directory cd una || { echo "Directory 'una' not found!"; exit 1; } # Change the owner of all files and folders to 'www-data' sudo chown -R www-data:www-data . # Set permissions for all directories to 755: # 7 = read (4) + write (2) + execute (1) for the owner # 5 = read (4) + execute (1) for the group # 5 = read (4) + execute (1) for others sudo find ./ -type d -exec chmod 755 {} \; # Set permissions for all files to 644: # 6 = read (4) + write (2) for the owner # 4 = read (4) for the group # 4 = read (4) for others sudo find ./ -type f -exec chmod 644 {} \; # Give execute permission to ffmpeg.exe (since it's an executable) sudo chmod +x ./plugins/ffmpeg/ffmpeg.exe # Go back to the previous directory cd .. # Set this script's owner to 'root' and permissions to 755 # If you want, replace 'root' below with your SSH username sudo chown root:root set_permissions.sh sudo chmod +x set_permissions.sh # Display confirmation message echo "Permissions successfully set. Script permissions preserved."
How to use:
Option 1: Using
nano
CTRL+O
, thenEnter
to save.CTRL+X
to exit.Option 2: Using
vim
i
to enter Insert mode.ESC
:wq
Enter
Final steps:
sudo chmod +x set_permissions.sh
✅ What this script does:
www-data:www-data
) and permissions for youruna/
project.ffmpeg.exe
stays executable.root:root
with755
, so it’s always ready to use safely.📁 Directory Structure
Happy coding! 🚀