4.5 KiB
4.5 KiB
🔧 Comandos para Permisos en Linux
Conectarse al Servidor
# SSH al servidor
ssh usuario@calculos.penki.com.ar
# O si tienes acceso FTP/cPanel, usa el terminal web
Navegar a la Carpeta del Proyecto
# Ir a la carpeta del proyecto (ajusta la ruta según tu servidor)
cd /home/usuario/public_html
# o
cd /var/www/html/calculos
# o donde esté instalado el proyecto
Aplicar Permisos
Opción 1: Permisos Recomendados (Más Seguro)
# Permisos para la carpeta data
chmod 755 data
# Permisos para archivos JSON (lectura/escritura para el servidor)
chmod 666 data/productos_brasil.json
chmod 666 data/productos_chile.json
# Verificar permisos
ls -la data/
Opción 2: Permisos Completos (Menos Seguro, pero funciona siempre)
# Dar permisos completos a la carpeta data
chmod 777 data
# Dar permisos completos a archivos JSON
chmod 666 data/*.json
# Verificar
ls -la data/
Opción 3: Cambiar Propietario (Si tienes acceso root)
# Cambiar propietario al usuario del servidor web
# Reemplaza 'www-data' con el usuario de tu servidor (puede ser 'apache', 'nginx', etc.)
sudo chown www-data:www-data data
sudo chown www-data:www-data data/*.json
# Luego aplicar permisos
sudo chmod 755 data
sudo chmod 664 data/*.json
Verificar Permisos Actuales
# Ver permisos de la carpeta data
ls -ld data
# Ver permisos de archivos JSON
ls -l data/*.json
# Salida esperada:
# drwxr-xr-x 2 usuario grupo 4096 Oct 6 14:00 data
# -rw-rw-rw- 1 usuario grupo 801 Oct 6 14:00 productos_brasil.json
# -rw-rw-rw- 1 usuario grupo 3 Oct 6 14:00 productos_chile.json
Explicación de Permisos
chmod 755 = rwxr-xr-x
7 (rwx) = Propietario: lectura, escritura, ejecución
5 (r-x) = Grupo: lectura, ejecución
5 (r-x) = Otros: lectura, ejecución
chmod 666 = rw-rw-rw-
6 (rw-) = Propietario: lectura, escritura
6 (rw-) = Grupo: lectura, escritura
6 (rw-) = Otros: lectura, escritura
chmod 777 = rwxrwxrwx (todos los permisos)
Script Automático
Crea un archivo fix_perms.sh:
#!/bin/bash
# Script para corregir permisos
echo "Corrigiendo permisos..."
# Ir a la carpeta del proyecto
cd /ruta/a/tu/proyecto
# Aplicar permisos
chmod 755 data
chmod 666 data/productos_brasil.json
chmod 666 data/productos_chile.json
echo "✓ Permisos aplicados"
ls -la data/
echo "Listo!"
Ejecutar:
chmod +x fix_perms.sh
./fix_perms.sh
Verificar desde PHP
Accede a: https://calculos.penki.com.ar/fix_permissions.php
Este script PHP verificará:
- ✓ Si los archivos existen
- ✓ Si son legibles
- ✓ Si son escribibles
- ✓ Los permisos actuales
Verificar desde PHP (check.php)
Accede a: https://calculos.penki.com.ar/check.php
Este script mostrará:
- Información del servidor
- Permisos de archivos
- Usuario PHP
- Extensiones cargadas
Troubleshooting
Error: "Permission denied"
# Verificar propietario
ls -l data/productos_brasil.json
# Si el propietario es diferente al usuario web:
sudo chown www-data:www-data data/*.json
Error: "No such file or directory"
# Crear archivos si no existen
echo "[]" > data/productos_brasil.json
echo "[]" > data/productos_chile.json
# Aplicar permisos
chmod 666 data/*.json
Verificar Usuario del Servidor Web
# Apache
ps aux | grep apache
# o
ps aux | grep httpd
# Nginx
ps aux | grep nginx
# El usuario aparecerá en la primera columna
Comandos Rápidos (Copy-Paste)
# Todo en uno - Permisos seguros
cd /ruta/a/calculos && chmod 755 data && chmod 666 data/*.json && ls -la data/
# Todo en uno - Permisos completos (si lo anterior no funciona)
cd /ruta/a/calculos && chmod 777 data && chmod 666 data/*.json && ls -la data/
Después de Aplicar Permisos
- Accede a:
https://calculos.penki.com.ar/fix_permissions.php - Verifica que todo esté en verde (✓)
- Prueba agregar/editar un producto
- IMPORTANTE: Elimina los archivos de verificación:
rm fix_permissions.php rm check.php
Notas Importantes
⚠️ Seguridad:
chmod 666permite que cualquiera lea/escriba el archivochmod 777es muy inseguro, úsalo solo temporalmente- Después de verificar que funciona, considera usar
chmod 644para los JSON
✅ Recomendación:
- Usa
755para carpetas - Usa
644o664para archivos (si el servidor web puede escribir) - Si
644no funciona, usa666temporalmente
🔒 Producción:
# Permisos más seguros para producción
chmod 750 data
chmod 640 data/*.json
# Solo si el usuario web es el propietario