¿Puedo instalar/actualizar complementos de WordPress sin proporcionar acceso FTP?

Resuelto user77413 asked hace 15 años • 0 respuestas

Estoy usando WordPress en mi servidor en vivo que solo usa SFTP usando una clave SSH .

Quiero instalar y actualizar complementos, pero parece que debes ingresar tu nombre de usuario FTP para instalar los complementos. ¿Hay alguna forma de instalar y actualizar complementos cargando manualmente los archivos en lugar de que WordPress se encargue de todo el proceso?

user77413 avatar Mar 13 '09 03:03 user77413
Aceptado

WordPress solo le solicitará la información de su conexión FTP mientras intenta instalar complementos o una actualización de WordPress si no puede escribir /wp-contentdirectamente. 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 tenga permisos de archivos específicos configurados en su servidor web.

Probará varios métodos en orden y recurrirá a FTP si los métodos Direct y SSH no están disponibles.

https://github.com/WordPress/WordPress/blob/4.2.2/wp-admin/includes/file.php#L912

WordPress intentará escribir un archivo temporal en su /wp-contentdirectorio. 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" para instalar complementos, temas o actualizaciones.

Ahora, si por alguna razón no desea confiar en la verificación automática de qué método de sistema de archivos usar, puede definir una constante 'FS_METHOD'en su wp-config.phparchivo, es decir, 'direct', 'ssh', 'ftpext' or 'ftpsockets'y usará ese método. Tenga en cuenta que si configura esto en 'directo', pero su usuario web (el nombre de usuario con el que se ejecuta su servidor web) no tiene los permisos de escritura adecuados, recibirá un error.

En resumen, si no desea (o no puede) cambiar los permisos en wp-content para que su servidor web tenga permisos de escritura, agregue esto a su archivo wp-config.php:

define('FS_METHOD', 'direct');

Permisos explicados aquí:

  • http://codex.wordpress.org/Updating_WordPress#Automatic_Update
  • http://codex.wordpress.org/Changing_File_Permissions
stereoscott avatar Apr 13 '2011 13:04 stereoscott

Como se indicó antes, ninguna de las correcciones permanentes ya funciona. Debes cambiar los permisos en consecuencia Y poner lo siguiente en tu wp-config.php:

define('FS_METHOD', 'direct');
unc0nnected avatar Feb 22 '2012 19:02 unc0nnected

Solo quería agregar que NUNCA debes establecer el wp-contentpermiso o permiso de ninguna carpeta en 777.

Esto es lo que tuve que hacer para:

1) Configuré la propiedad de la carpeta de WordPress (recursivamente) para el usuario de Apache, así:

# chown -R apache wordpress/

2) Cambié la propiedad del grupo de la carpeta WordPress (recursivamente) al grupo Apache, así:

# chgrp -R apache wordpress/

3) otorgar al propietario privilegios completos sobre el directorio, así:

# chmod u+wrx wordpress/*

Y eso funcionó. Mi wp-contentcarpeta tiene 755permisos, por cierto.

Versión TL;DR:

# chown -R apache:apache wordpress
# chmod u+wrx wordpress/*
sufinawaz avatar May 17 '2013 22:05 sufinawaz