Una solución al problema de permisos con WordPress en local

Acceso prohibido

Intro

Hago un comentario sobre mi experiencia instalando WordPress en local y cómo resolví el problema que se me presentó al intentar subir fotos, ante lo que el sistema me arrojaba el siguiente mensaje de error:

“No se pudo crear el directorio …/htdocs/wordpress/wp-content/uploads/ ******/******. Asegúrate de que el servidor tiene permisos de escritura para el directorio superior.”

Quiero hacer énfasis en que el error solo se me presentó con la instalación en local, ya que tengo una copia de Gamelote funcionando aparte y en paralelo en mi computadora, y solo allí era donde se presentaba la falla.

En la versión que está corriendo desde el servidor no he tenido ningún problema hasta el momento.

Un tutorial que encontré por internet me proporcionó una solución que funcionó.

(Actualización 26.12.2012)

Esta solución solo debe ser probada y usada en una instalación en local, y nunca en un servidor, ya que, al consistir en dar permisos a todos en la carpeta “uploads”, te expones a que cualquiera pueda subir información a tu carpeta, incluyendo virus, código malicioso, spyware, páginas falsas, etc.  (Gracias @jinetedeldragon por tu comentario)

WordPress para uso local

Al comenzar el blog, días antes de tener el dominio Gamelote.net comprado, descargué e instalé el sistema WordPress en mi computadora para familiarizarme con él antes de “salir al aire”.

Al instalar este paquete para uso local, puedes montar, cargar entradas y visualizar el blog desde tu propia computadora como si estuvieras conectado remotamente. Solo que, como dice mi sobrino Nico: “de mentiritas”, ya que solo podrás acceder desde tu máquina y la página no estará publicada realmente en la Web.

La instalación de WordPress

La instalación en local es muy fácil si tienes conocimientos básicos de manejo de internet y de tu propia computadora. De hecho se llama “La famosa instalación en 5 minutos de WordPress”, y al terminar de hacerla el sistema se “disculpa” contigo por si pensabas que el asunto era más complicado. Realmente es un proceso sencillo, está muy bien documentado en la red y puedes descargar el paquete desde wordpress.org.

Básicamente se trata de hacer lo siguiente:

  • Descargar e instalar un servidor virtual como Xampp, Wampp o Mampp, tal y como lo haces con cualquier otro software.

Un servidor virtual es un programa que emula dentro de tu máquina las comunicaciones que se dan entre un servidor y una computadora cliente,  y permite que tu buscador acceda a las carpetas internas donde tienes alojada tu página prácticamente como si lo hiciera remotamente. Igualmente permite que se puedan usar características y lenguajes de programación que funcionan solo del lado del servidor, como acceso a bases de datos (también dentro de tu computadora), PHP, ASP, JSP, etc. 

  • Descargar y descomprimir el paquete de WordPress dentro de la carpeta htdocs que creó el servidor virtual.
  • Correr el servidor virtual y encender Apache y MySql.
  • Crear un usuario y una base de datos en phpmyadmin. Quizá sea lo más complejo del proceso, pero una vez que lo haces descubres que es algo bastante sencillo. En todo caso está plenamente documentado en la red.
  • Abrir un en un editor de texto un documento llamado wp-config-sample.php que está en la carpeta de WordPress, agregar el nombre del usuario, la contraseña y el nombre de la base de datos en la parte del código que está claramente señalada para esto, y guardarlo como wp-config.php.
  • Abrir la dirección http://localhost/wordpress/ en tu explorador.
  • Ya estás funcionando, solo que en la pantalla que te va a salir falta colocar un usuario y una contraseña que servirá esta vez para acceder al administrador de WordPress.
  • A menos que haya sucedido algo inesperado debería estar listo.
  • En todo caso el sistema siempre te va a dar posibles soluciones para cualquier error que estés cometiendo.

El problema para subir fotos en local

El problema que tenía con esta instalación en local era que no podía subir fotos porque el sistema arrojaba un error según el cual no se pueden crear carpetas nuevas en la ruta donde está alojado el blog.

"No se pudo crear el directorio... .../htdocs/wordpress/wp-content/uploads/ ******/******. Asegúrate de que el servidor tiene permisos de escritura para el directorio superior."

Acceso prohibidoVuelvo a hacer hincapié y aclaro que el problema sucedía cuando intentaba subir archivos desde el WordPress instalado en local, en una Mac OS X 10.5, a través del servidor virtual XAMPP. Según he leído es un problema común en diferentes configuraciones, aunque no puedo hablar por las demás. También hago la aclaratoria de que este problema no sucede con la página alojada en un servidor real.

Permisos

Entiendo que es un problema de permisos de acceso a las carpetas. Tanto los usuarios como las aplicaciones y software que instalas en tu máquina necesitan permisos para realizar ciertas acciones, como crear carpetas en tu computadora.

En el caso de esta instalación no sé todavía quién en específico es el que necesita permisos especiales para hacer esto, ya que pude ver que no es tan sencillo como dar permisos a todos a la carpeta htdocs, que es donde deben estar alojadas las páginas en tu computadora para que funcionen como un sitio Web. Tampoco sé si esto sucede únicamente en una Mac, si es un asunto del Xampp, si es WordPress funcionando con estas plataformas o si es una mezcla de todas las anteriores.

La solución

Afortunadamente, buscando en internet y probando infructuosamente varias sugerencias, encontré una solución que me funcionó.

Para resolver el problema hay que agregar “manualmente” una carpeta de nombre “uploads” en la ruta …htdocs/wordpress/wp-content/ de tu computadora y luego darle a esa carpeta permisos para escribir y leer a todos.

Crear nueva carpeta en wp-content

En la ruta …wordpress/wp-content, crear una nueva carpeta

Nombrar carpeta "uploads"

Nombrar carpeta “uploads”

Para dar permisos en una carpeta, al menos en Mac OS X 10.5, tienes que seleccionar la carpeta y luego solicitar información (pulsando las teclas Comando + i). En la parte inferior de la ventanita que aparece habrá un apartado llamado “Compartir y permisos” y allí asignas el privilegio de “leer y escribir” a los usuarios de nombre “yo”, “sistema”, “admin” y “everyone” (en realidad son todos los que te salgan).

Obtener información de la carpeta uploads

Hacer click derecho en la carpeta uploads, y luego en obtener información. o pulsar comando + i.

Cambiar permisos en la carpeta uploads

En la ventana de información, cambiar los permisos de (yo), sistema, staff, admin y everyone , o todos los que salgan, a “Leer y escribir”

Hacer esto permite que el sistema suba fotos correctamente a tus páginas para verlas en local.

Solo hizo falta buscar un poco, hacer las pruebas y listo. No fue tan complicado.

¿Conoces otra solución que te haya funcionado para el mismo problema? ¿Algún asunto relacionado que quieras contarnos? ¿Tienes preguntas sobre este tema? Coméntanos y trataremos de ayudarte.

Si quieres leer una explicación sobre el uso de las categorías y las etiquetas haz clic aquí.

Saludos,

Rod.

Comments 33

  1. jinetedeldragon

    Hola.
    Sería muy bueno que indicaras que esto NO DEBE REALIZARSE EN UN SERVIDOR y que es un procedimiento sólo para instalaciones locales.

    Un permiso de escritura para todos permite que cualquier persona en el mundo pueda subir información a tu servidor… desde código malicioso, virus, gusanos, troyanos y hasta sitios completos de SCAM para robo de tarjetas de crédito, etc.

    1. Post
      Author
      roderikout

      Gracias jinetedeldragon por el comentario.

      Pensé que eso quedaba claro en el post, pero releyendo me di cuenta que puede entenderse que esta solución también es válida para un error de este tipo en el servidor externo y tienes toda la razón en que: “NO DEBE REALIZARSE EN UN SERVIDOR y que es un procedimiento sólo para instalaciones locales.”

      Ya actualicé la entrada con una aclaratoria.
      Saludos!

    1. Post
      Author
  2. marcosyfernando

    madre mía rod, qué subidón encontrar la solución a este lío… soy un wordpresero novato y tras 3 horas rebuscando en internet por fin lo he logrado con tu post…. gracias!!!!

    1. Post
      Author
    1. Post
      Author
    1. Post
      Author
  3. Rondador

    Buenas yo tengo una preguntita corta 😉
    A la hora de subir a un servidor de pago la web que estamos trabajando, que hacemos con esa carpeta? tendremos que subir de nuevo todas la imágenes manualmente desde el background? la eliminamos con su contenido? …..gracias

  4. Oscar Ronda

    Buenas

    Tengo un problema con los permalinks en mac osx y estoy ocupando xamp, la ayuda de la carpeta me ayudo mucho, pero aun no puedo cambiar estos permalinks.

    me aparece esto: If your .htaccess file were writable, we could do this automatically, but it isn’t so these are the mod_rewrite rules you should have in your .htaccess file. Click in the field and press CTRL + a to select all.

    si me pudieras ayudar el.fenix.azul@gmail.com heeeelp!!!

  5. Paula

    Oh no! Antes de leer los comentarios he creado “manualmente” la carpeta “uploads” y le he dado los permisos en el servidor dentro del ftp. Qué hago? La borro? Yo también soy una novata…

  6. Paula

    Hola, necesito ayuda. Ya no sé que hacer y me estoy desesperando. Creo que he activado lo de los permisos, pero me salta este mensaje todo el rato:

    “Ha habido un error al subir “lares_bn_sinmarco.jpg”
    No se pudo crear el directorio wp-content/uploads/2014/04. Asegúrate de que el servidor tiene permisos de escritura para el directorio superior.”

  7. PCHOST

    Estimados, Tengo la siguiente situación:

    tengo WordPress y con dns con split. Al estar desde la red local 192.168.0.x no me deja subir fotos indicandome que hay un error que dice: “Sólo se ha podido subir una parte del archivo.” Luego no hace nada, pues no la subió.

    Pero a su vez al realizar el mismo procedimiento pero a traves desde la red pública, no presenta problemas.

    Por favor si alguien m epuede ayudar con esta Situación..

    Muchas gracias.

  8. cristian

    muchas gracias me ha servido, no podía ver imágenes en mis paginas web con xampp, le di permisos a otros usuarios y funciono, tan facil la respuesta y tan complicado que me lo puse

  9. Elias

    Entonces cual es la configuración correcta para UN SERVIDOR? porque a las finales ahí va terminar.

    Sería darle acceso: chmod 666 -R uploads

  10. Marc Gurt

    Muy útil, muchas gracias =)

    Tenia un problema al cargar AngularJS y AnimateCSS en XAMPP para Mac OSX y no entendia porque.. Al revisar los permisos de lectura de dichos archivos, vi que no el usuario ‘everyone’ no tenia acceso. Al darle permisos de lectura, se soluciono.

    Saludos,

  11. Ms PinkDoor

    He pasado horas intentando buscar una solución a este problema, y me he topado con miles de soluciones que no me han servido de nada . Se agradece el aporte, bien explicado y realmente resolutivo. Mil gracias!

  12. xardook

    Hola!
    Solo darte las gracias, llevo días por foros de wordpress y xampp y he terminado con la cabeza como un bombo y sin solución.
    Y has aparecido y tu…y con ello la luz al final del tunel!
    😉
    Creo es justo que sepas que tu trabajo sirve de ayuda y que menos que ser agradecido.
    Pues eso. Gracias mil!
    xar

    1. Post
      Author
      1. Matias

        Estuve unas cuantas horas intentando de arreglar este problema, y en ningún lado estaba tan bien explicada la solución.
        Yo tambien tengo corriendo Xampp en OSX 10.10.5
        Muchas gracias por compartir la solución.

        1. Post
          Author
          roderikout

          Muchas gracias por escribir Matías. Tengo tiempo sin actualizar el Blog pero sigo respondiendo a los comentarios. Este es el post “más buscado”, jeje. Me alegra que te haya sido útil. Saludos.

  13. Javier

    Hola tengo este problema instale word press en servidor Linux com consola plesk en un subdominio ya que quiero hacer la web en este y después pasarla al dominio principal el caso es que no me sube imágenes a uploads por ftp he probado a ponerle permisos a 777 y a 755 pero sigue sin subir nada .haber si alguien me puede al luxar .gracias

  14. Raúl Peribáñez

    Después de rebuscar en Google una solución al problema, la he encontrado en esta entrada. ¡Gracias! Efectivamente, al final eran tan sencillo como crear manualmente la carpeta “uploads” (en wp-content) y cambiar los permisos.

  15. sandra

    ¡¡¡Llevo dos días para solucionarlo!!! No sabes cuánto te lo agradezco.
    Estaba tapan abajo la pestaña de los permisos que ni la veía…

Algún comentario?