-
Just to clarify:
This isn’t a Spacenook release it’s only UNA 15.0.0-A1, which is an early alpha (A1) build, not the final stable version.
Spacenook is a customized UNA stable release that includes specific preset configurations and adjustments.
Such customized Spacenook builds are created only for stable UNA releases, not for alpha or beta versions.
For reference:
- A1 / Alpha 1 → first internal test build (unstable, for developers)
- B1 / Beta 1 → public test version (more stable, but still in testing)
- RC (Release Candidate) → nearly final, used for validation
- Release (Stable) → official, production-ready version
-
Regarding the Developer module, it's clear that the installation was not completed correctly. I suspect there may be an issue with folder and file permissions. You will likely need to fix the permissions and then uninstall and reinstall the module manually via SSH or PHPMyAdmin, directly through the database.
-
f 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:
- The first digit is for the owner
- The second digit is for the group
- The third digit is for others (everyone else)
Each digit is a combination of:
4
= read permission2
= write permission1
= execute permission
You 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 only
Permissions we’re using:
755
for directories:- Owner can read/write/execute
- Group can read/execute
- Others can read/execute
- Why? So the web server can access directories, and users can navigate them, but only the owner can write to them.
775
for directories (alternative if group write is needed):- Owner and group can read/write/execute
- Others can read/execute
- This is slightly more open for collaborative setups.
644
for files:- Owner can read/write
- Group and others can only read
- Prevents unauthorized users from modifying files while allowing the web server to read them.
+x
for executables likeffmpeg.exe
:- Makes the file executable for the owner, group, and others
- Required for scripts or binaries that need to run.
⚠️ Why not use 777?
777
= read/write/execute for everyone (owner, group, others)- It’s insecure because anyone can modify or delete your files.
- Okay for local testing, but a terrible idea for live public servers.
Have fun!
-
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:
- Create the file:
vim set_permissions.sh
- Press
i
to enter Insert mode. - Paste the code from above.
- Save and close:
- Press
ESC
- Type
:wq
- Press
Enter
Final steps:
- Make the script executable:
sudo chmod +x set_permissions.sh
- Run it anytime to restore your file and folder permissions:
./set_permissions.sh
✅ What this script does:
- Sets the correct ownership (
www-data:www-data
) and permissions for youruna/
project. - Makes sure
ffmpeg.exe
stays executable. - Preserves its own permissions as
root:root
with755
, so it’s always ready to use safely.
📁 Directory Structure
your_project/ ├── set_permissions.sh ← This script is here └── una/ ← The UNA CMS directory
Happy coding! 🚀