Permisos de les carpetes TTSW

Resum curt

Perfecte — ja tens el TTS funcionant. A continuació tens la configuració de permisos recomanada i les comandes exactes per aplicar‑la de manera segura.

Permisos recomanats (resum en taula)

RutaPropietari:GrupPermisosPropòsit
/volume2/web/beseit/ttswurqtejmi:users775Projecte; permet treballar al propietari i al grup
/volume2/web/beseit/ttsw/venvhttp:http755Entorn virtual usat per php‑fpm (evita donar escriptura a altres)
/volume2/web/beseit/ttsw/venv/bin/http:httprwxr-xr-x (755)Scripts executables del venv
/volume2/web/beseit/ttsw/venv/* (fitxers)http:httprw-r–r– (644)Fitxers del venv (pyvenv.cfg, libs, etc.)
/volume2/web/beseit/ttsw/tts.pyurqtejmi:users644 (o 755 si s’executa directament)Codi del projecte; lectura per a http, execució només si cal

Comandes exactes per aplicar-ho

Copia i enganxa aquestes comandes al teu terminal:

bash

# 1. directori del projecte (propietari teu usuari)
sudo chown -R urqtejmi:users /volume2/web/beseit/ttsw
sudo chmod 775 /volume2/web/beseit/ttsw

# 2. entorn virtual: propietari http i permisos segurs
sudo chown -R http:http /volume2/web/beseit/ttsw/venv
sudo find /volume2/web/beseit/ttsw/venv -type d -exec chmod 755 {} \;
sudo find /volume2/web/beseit/ttsw/venv -type f -exec chmod 644 {} \;

# 3. assegurar que els binaris són executables
sudo chmod a+rx /volume2/web/beseit/ttsw/venv/bin/*

# 4. fitxer del script TTS (lectura per a http)
sudo chown urqtejmi:users /volume2/web/beseit/ttsw/tts.py
sudo chmod 644 /volume2/web/beseit/ttsw/tts.py
# si vols executar-lo directament com a script (shebang), fer:
# sudo chmod 755 /volume2/web/beseit/ttsw/tts.py

Notes de seguretat i bones pràctiques

  • Per què http:http al venv: evita haver d’obrir permisos a “others” i limita la capacitat d’escriure dins l’entorn només al servei web.
  • Per què 775 al projecte: et permet a tu i al grup editar fitxers sense exposar‑los a tots els usuaris del sistema. Si no necessites que altres del grup accedeixin, usa 750.
  • No deixis 777: evita permisos 777 en directoris de projecte en producció.
  • Reinicia php‑fpm després de canviar propietaris o grups perquè els processos agafin els nous permisos.

Proves finals recomanades

Després d’aplicar els canvis, comprova:

bash

# provar python i l'import com a http
sudo -u http /volume2/web/beseit/ttsw/venv/bin/python -V
sudo -u http /volume2/web/beseit/ttsw/venv/bin/python -c "from gtts import gTTS; print('gTTS OK')"

# provar el script complet
cd /volume2/web/beseit/ttsw
sudo -u http /volume2/web/beseit/ttsw/venv/bin/python tts.py prova.txt prova.mp3 2>&1 | tee /tmp/tts-run.log
ls -lh prova.mp3
tail -n 200 /tmp/tts-run.log

Si vols, et dono un únic script que aplica tots els canvis i fa les proves automàticament; també puc explicar com integrar la ruta del venv/bin/python al teu PHP de forma robusta. Quin prefereixes?