
WordPress necesita tener acceso a tu servidor web
10/09/2022

WordPress no pudo conectarse al servidor ftp
Aunque es totalmente correcto tener la propiedad como root:apache con permisos 775, y que httpd se ejecute como apache, a WordPress no le gusta esto. Quiere que el propietario sea apache, según wp-admin/includes/file.php:
Si $wp_file_owner es el mismo que $temp_file_owner entonces procede. El tuyo quedaría atrapado en el elseif, que según el comentario no permite borrar/crear, sino sólo actualizar (lo he comprobado actualizando el código de un plugin desde WordPress, y ha funcionado).
Ojo, no he mirado exhaustivamente el código, esto es sólo mi interpretación rápida. Tuve el mismo problema y una vez que cambié usuario:grupo para que el usuario httpd sea también el propietario del archivo, ya no pidió las credenciales FTP.
La razón es que si el servidor web puede sobrescribir su código, entonces cualquier código malicioso que se ejecute en él será capaz de hacerlo también. El riesgo es mucho mayor que la conveniencia de ahorrar unos segundos al no tener que escribir las credenciales FTP.
La instalación ha fallado: no se ha podido crear el directorio.
Quiero instalar y actualizar plugins, pero parece que es necesario introducir el nombre de usuario de FTP para instalar los plugins. ¿Hay alguna forma de instalar y actualizar los plugins subiendo manualmente los archivos en lugar de que WordPress se encargue de todo el proceso?
WordPress sólo le pedirá su información de conexión FTP cuando intente instalar plugins o una actualización de WordPress si no puede escribir en /wp-content directamente. De lo contrario, si su servidor web tiene acceso de escritura a los archivos necesarios, se encargará de las actualizaciones y la instalación automáticamente. Este método no requiere que usted tenga acceso FTP/SFTP o SSH, pero sí requiere que usted tenga permisos de archivo específicos configurados en su servidor web.
WordPress intentará escribir un archivo temporal en su directorio /wp-content. Si esto tiene éxito, compara la propiedad del archivo con su propio uid, y si hay una coincidencia le permitirá utilizar el método "directo" de instalación de plugins, temas o actualizaciones.
Ahora bien, si por alguna razón no quiere confiar en la comprobación automática del método de sistema de archivos a utilizar, puede definir una constante, 'FS_METHOD' en su archivo wp-config.php, que sea 'direct', 'ssh', 'ftpext' o 'ftpsockets' y utilizará ese método. Tenga en cuenta que si establece esto en 'direct', pero su usuario web (el nombre de usuario bajo el cual se ejecuta su servidor web) no tiene permisos de escritura adecuados, recibirá un error.
Su instalación de wordpress solicita credenciales ftp para realizar actualizaciones
Estaba en el proceso de actualizar una instalación de WordPress que había heredado de otro desarrollador y que estaba instalada en un entorno de servidor diferente al mío cuando me encontré con el aviso:
Para realizar la acción solicitada, WordPress necesita acceder a su servidor web. Por favor, introduzca sus credenciales FTP para proceder "Esto es extraño", pensé, ya que normalmente nunca he tenido que introducir credenciales FTP para realizar actualizaciones. Lo primero que comprobé fueron los permisos de los archivos: todo parecía correcto (aunque el propietario de los directorios relevantes para la actualización de WordPress era apache, no el propietario del dominio; los cambié mediante SSH usando chown, pero no hubo diferencia). Entonces busqué un poco y encontré el siguiente código:
define('FS_METHOD','direct');Esto fue colocado en wp-config.php (aunque fue eliminado inmediatamente después ya que sólo se recomienda cambiarlo temporalmente si está experimentando problemas de actualización). Lo que esto hace es forzar a las actualizaciones a usar peticiones de E/S de archivos directas desde dentro de PHP. Así que probé esto sin suerte ya que arrojó el error:
WordPress necesita ftp
¿Alguien más se ha encontrado con esto antes? He buscado por toda la web y sigo encontrando respuestas que sólo implican que la gente que da esa respuesta no entiende realmente el problema... así que no encuentro realmente una respuesta.
Parece que aparece al azar, sobre todo en el backend. A menudo tengo varias páginas web abiertas para un sitio, cuando estoy trabajando en él. A veces unas cuantas en el front-end y otras en el back-end. A veces este error no aparece y a veces aparece cada pocos minutos (o al menos eso parece).