WordPress

WordPress: Permisos de archivos y carpetas en Linux

En este post voy a mostrar cuáles son los permisos necesarios para que WordPress pueda funcionar sin problemas en nuestro servidor web de Linux con Apache.

Como sabemos, Linux tiene el control de permisos de archivos y carpetas para que no todos puedan leer, escribir o ejecutar. Además, todos los archivos y directorios tienen un dueño.

En ocasiones hay problemas ya que WordPress requiere ciertos permisos para funcionar correctamente; o no tanto los permisos, sino los dueños de los archivos y carpetas.

Permisos correctos para WordPress

Durante la instalación, el dueño de todo debe ser www-data, es decir, Apache.

Para ello, descarga y descomprime WordPress. Después dirígete a la carpeta raíz de WordPress; es decir, en donde está el archivo wp-activate.php, wp-config.php, etcétera (todos los comandos los vamos a ejecutar desde ahí) y ejecuta:

sudo chown www-data:www-data -R *

Estamos cambiando el dueño de todos los archivos de manera recursiva; el dueño ahora será www-data.

El siguiente apartado puede causar problemas en algunos servidores, pero agrega seguridad

Después de la instalación, cambia los permisos para que tú (el usuario actualmente logueado) seas el dueño:

sudo chown $USER:$USER -R *

Nota: al poner $USER se remplazará por tu usuario, si no quieres usar la variable simplemente coloca el nombre real.

Pero Apache necesita acceso a la carpeta de wp-content así que cambiaremos el dueño de únicamente esa carpeta:

sudo chown www-data:www-data wp-content/

Nota: de nuevo, si al ejecutar el comando anterior hay errores (por ejemplo, que no puedes instalar temas y te pide credenciales FTP), regresa todo a la normalidad con:

sudo chown www-data:www-data -R *

Sigue sin funcionar

Tal vez no le estás dando los permisos al usuario con los que el script se ejecuta. Para saber cuál usuario está ejecutando los archivos crea un archivo llamado test.php con el siguiente contenido:

<?php echo exec("id") ?>

La salida debe ser algo como:

uid=33(www-data) gid=33(www-data) groups=33(www-data)

Si no dice www-data entonces significa que el dueño es el que se indica ahí, ejecuta el comando de arriba de nuevo pero cambiando el usuario.

 

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Ver comentarios

  • Hola mi amigo, muchas gracias por tus enseñanzas! Te cuento, he seguido tus pasos al pie de la letra hasta el comando 'sudo chown www-data:www-data wp-content/' y, a la hora de ejecutar la actualización de las traducciones de mi WP, (vía FTP, en mi PC corriendo XAMPP, obtengo el siguiente mensaje:

    Actualizar las traducciones
    Actualizando las traducciones de WordPress (es_ES)…

    No ha sido posible crear el directorio
    Actualizando las traducciones de (es_ES)…

    No ha sido posible crear el directorio

    Ir a la página de actualizaciones de WordPress

    Puedes ayudarme?

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

5 días hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.