Estoy usando WordPress en mi servidor en vivo que solo usa SFTP usando una clave SSH .
Quiero instalar y actualizar complementos, pero parece que debe ingresar su inicio de sesión FTP para instalar los complementos. ¿Hay alguna forma de instalar y actualizar complementos cargando manualmente los archivos en lugar de hacer que WordPress se encargue de todo el proceso?
wp-content/plugins/
tablero de wp, vaya a la pestaña de complementos y habilítelo.VPS
, debe probar esto: stackoverflow.com/a/44137965/3160597Respuestas:
WordPress solo le pedirá su información de conexión FTP mientras intenta instalar complementos 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 tenga acceso FTP / SFTP o SSH, pero sí requiere que tenga permisos de archivo 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-content
directorio. Si esto tiene éxito, compara la propiedad del archivo con su propio uid, y si hay una coincidencia, le permitirá usar 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 suwp-config.php
archivo, que sea cualquiera'direct', 'ssh', 'ftpext' or 'ftpsockets'
y usará ese método. Tenga en cuenta que si configura esto como '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, entonces agréguelo a su archivo wp-config.php:
Permisos explicados aquí:
fuente
getmyuid
línea 876 es posiblemente incorrecto aquí, ya que devuelve el UID del propietario del script, no el ejecutor del script. Yo creo que debería serposix_getuid
.print_r(posix_getpwuid(posix_geteuid()));
puede agregar el código en elwp-config
archivo.chown -R www-data wordpress/wp-content
no funcionó para mí, pero lochown -R www-data wordpress
hizoComo se indicó antes, ya no funciona ninguna de las correcciones permanentes. Debe cambiar los permisos en consecuencia Y poner lo siguiente en su
wp-config.php
:fuente
Solo quería agregar que NUNCA debe establecer el
wp-content
permiso o el permiso de ninguna carpeta777
.Esto es lo que tuve que hacer para:
1) Establezco la propiedad de la carpeta de WordPress (recursivamente) para el usuario de Apache, de esta manera:
# chown -R apache wordpress/
2) Cambié la propiedad del grupo de la carpeta de wordpress (recursivamente) al grupo apache, así:
# chgrp -R apache wordpress/
3) otorgue al propietario todos los privilegios para el directorio, así:
# chmod u+wrx wordpress/*
Y eso hizo el trabajo. Mi
wp-content
carpeta tiene755
permisos, por cierto.TL; versión DR:
fuente
wp-config.php
agregardefine('FS_METHOD', 'direct');
wp-content/
,wp-content/plugins/
.wp-content/plugins
directorio).Trabajado en la versión 3.2.1
fuente
abra el
wp-config.php
archivo y agregue la siguiente línea:define('FS_METHOD', 'direct');
esto está funcionando para mí ... Gracias
fuente
Solo un cambio rápido a wp-config.php
Eso es todo, ¡disfruta de tus actualizaciones de WordPress sin ftp !
Metodo alternativo:
fuente
Para habilitar el uso de SSH2 para sus actualizaciones y cargas de temas, debe generar sus claves SSH y tener instalado el módulo PHP SSH. Luego, WordPress detectará que tiene SSH2 disponible y verá una opción diferente (SSH2) que se muestra al realizar una carga / actualización.
1.) Asegúrese de tener el módulo PHP instalado para Debian es:
2.) Generar claves SSH, agregar una frase de contraseña es opcional:
3.) Cambie el permiso para que WordPress pueda acceder a esas teclas:
Ahora obtendrá la opción SSH2 cuando realice una carga / actualización / complemento.
4.) Para mayor facilidad, puede configurar los valores predeterminados en su
wp-config.php
y esto rellenará previamente las credenciales SSH en la ventana de carga de WordPress.La 'frase de contraseña' es opcional, si no configura una frase de contraseña durante
ssh-kengen
; entonces no lo agregueswp-config.php
Esto resolvió mi problema. Y no tuve que hacer
chown
nada en absoluto. Pero he visto este método referenciado en otros lugares.Referencias
fuente
Por lo general, solo puede cargar su complemento en el
wp-content\plugins
directorio. Si no tiene acceso a este directorio a través de SFTP, me temo que puede estar atascado.fuente
Puede obtenerlo muy fácilmente escribiendo el siguiente comando en el símbolo del sistema
o copie y pegue el siguiente código en su archivo wp-config.php.
Donde "your_folder_name" es la carpeta donde está instalado su WordPress dentro de esta carpeta.
fuente
Ejecute el siguiente código en la terminal
Para más detalles visite Wordpress en Ubuntu instale complementos sin acceso FTP
fuente
sudo chown -R www-data /var/www/html
Agregue el siguiente código a wp-config
FS_METHOD fuerza el método del sistema de archivos. Solo debe ser directo, ssh2, ftpext o ftpsockets. En general, solo debe cambiar esto si tiene problemas de actualización. Si lo cambia y no ayuda, cámbielo / elimínelo. En la mayoría de las circunstancias, establecerlo en 'ftpsockets' funcionará si el método elegido automáticamente no lo hace.
(Preferencia primaria) "directo" lo obliga a usar solicitudes directas de E / S de archivos desde PHP, esto está plagado de problemas de seguridad en hosts mal configurados. Esto se elige automáticamente cuando es apropiado.
(Preferencia secundaria) "ssh2" es forzar el uso de la extensión SSH PHP si está instalado
(3.a preferencia) "ftpext" es forzar el uso de la extensión FTP PHP para acceso FTP, y finalmente
(4ta preferencia) "ftpsockets" utiliza la clase de sockets PHP para acceso FTP
Para obtener más información, visite: http://codex.wordpress.org/Editing_wp-config.php#WordPress_Upgrade_Constants
fuente
Si estás en Ubuntu , una solución rápida que funcionó para mí es darle la propiedad al usuario de Apache (www-data por defecto) de esta manera:
fuente
Cambiar de
php_mod
afastcgi
concgi
ySuEXEC
habilitado. Funciona para mi.Si no funciona, intente cambiar
wp-content
a775
root:Añadir a
wp-config.php
:espero que funcione
fuente
WordPress 2.7 le permite cargar un archivo zip directamente (hay un enlace en la parte inferior de la página de complementos): no se necesita acceso FTP. Esta es una nueva característica en 2.7, y funciona solo para complementos (no temas aún).
fuente
Resucitando un hilo antiguo, pero hay un fantástico complemento nuevo llamado SSH SFTP Updater Support que agrega capacidades SFTP sin necesidad de editar su
wp-config.php
archivo. Además, la implementación de SFTP de Wordpress se basa en algunos módulos PHP algo oscuros que a menudo no están habilitados en los servidores; este complemento empaqueta un complemento PHP SFTP diferente para que no tenga que configurar nada en el lado de Apache.Me he encontrado con muchos problemas para que funcione el soporte SFTP: este complemento los resolvió todos y es simplemente fantástico.
fuente
Prueba esto
1) En el
wp-config.php
complementodefine('FS_METHOD', 'direct');
2) Establezca el
wp-content
directorio en777
para escritura.3) Ahora instale el complemento.
fuente
La respuesta de stereointeractive cubre todas las opciones. Solo quería mencionar una forma alternativa de usar FTP. Supongo que la razón por la que no está permitiendo el acceso FTP es por seguridad. Una forma de abordar esas preocupaciones de seguridad es ejecutar su servidor FTP escuchando solo en 127.0.0.1
Esto le permite usar FTP desde WordPress y podrá instalar complementos sin exponerlo al resto del mundo. Esto también se puede aplicar a otras aplicaciones web populares como Joomla! y Drupal Esto es lo que hacemos con nuestros dispositivos BitNami y servidores en la nube y funciona bastante bien.
fuente
También recomiendo el complemento SSH SFTP Updater Support . También resolví todos mis problemas ... especialmente en lo que respecta a obtener complementos para eliminar a través del administrador. Simplemente instálelo de la manera habitual, y la próxima vez que WordPress le solicite detalles FTP, habrá campos adicionales para que copie / pegue su clave SSH privada o cargue su archivo PEM.
El único problema que tengo es lograr que recuerde la clave (probé ambos métodos). No me gusta la idea de tener que buscarlo e ingresarlo cada vez que necesito eliminar un complemento. Pero al menos es una solución sólida por ahora.
fuente
Sí, instale directamente el complemento en WordPress.
otra opción
fuente
Es posible usar SFTP o SSH para actualizar automáticamente los complementos en WordPress, pero debe tener la extensión ssh2 pecl. Puedes averiguar cómo hacerlo usando el siguiente tutorial
fuente
Usamos SFTP con SSH (tanto en nuestros servidores de desarrollo como en vivo), y he intentado (aunque no demasiado) usar la función de carga de WordPress. Estoy de acuerdo con Toby, suba sus complementos al
wp-content/plugins
directorio y luego actívelos desde allí.fuente
Vi a mucha gente recomendando establecer el permiso en 777. Tuve el mismo problema que hace 2 días y todo lo que hice fue agregar esto a wp-content
y
Esto resolvió mi problema de solicitar acceso / contraseña de acceso FTP.
Antes de eso, tuve que agregar el complemento manualmente agregando el archivo .zip a la carpeta del complemento y luego ir
wp-admin/plugins
y tuve que instalarlo.fuente
Pruebe esto Compruebe si se otorga el permiso correcto a la carpeta wp-content.
Edite el wp-config.php agregue la siguiente línea
chmod el directorio "wp-content" a www-data para acceso completo.
Ahora intente instalar el complemento.
fuente
Sí, tú puedes hacerlo.
Necesitas agregar
en tu wpconfig. Pero este método no será preferible porque tiene voilidades de seguridad.
Gracias,
fuente
Método 1: Puede configurar esto: 1. en wp-config.php necesita escribir estas líneas.
Nota: coloque esto después de definir ('DB_CHARSET', 'utf8mb4').
configura el permiso wp-content o el permiso recursivamente 777 permiso completo que puedes otorgar a través de filezilla. escribir haga clic en el directorio> permisos> verificar leer-escribir y ejecutar y también verificar Recurse en subdirectorios
Método 2:
o también puedes configurar esto
fuente
Note: put this after define( 'DB_CHARSET', 'utf8mb4' ).
configurar un ftp o incluso una conexión SFTP o chmod 777 son malas maneras de elegir algo que no sea un entorno local. Abrir incluso un método SFTP introduce más riesgos de seguridad que no son necesarios.
lo que se necesita es un permiso de escritura para / wp-content / uploads & / wp-content / plugins / por parte del propietario de esos directorios. (linux ls -la le mostrará la propiedad).
El usuario predeterminado de apache que se ejecuta es www-data.
chmod 777 permite que cualquier usuario en la máquina edite esos archivos, no solo el usuario del hilo apache / php.
SFTP si aún no lo está utilizando, introducirá otro punto de posible falla de una fuente externa. Mientras que solo necesita acceso por parte del usuario local que ejecuta el proceso apache / php para completar el objetivo.
No vi a nadie haciendo estos puntos, así que pensé en ofrecer esta información para ayudar con nuestros constantes problemas de seguridad de WP en línea.
fuente
Aquí hay un método simple.
Ejecute los siguientes comandos.
Esto habilitará su módulo mod_rewrite para Apache
Este comando cambiará el propietario de la carpeta a www-data
Después de ejecutar los comandos anteriores, puede instalar cualquier tema sin FTP.
fuente
sudo chown -R www-data [Wordpress Folder Location]
Por favor agregue
define('FS_METHOD','direct');
wo-config.phpfuente
La única razón por la cual WordPress no le permitirá cargar ningún complemento a través del panel de administración de WordPress cuando no tiene permiso para escribir en el directorio / wp-content. Recuerde que su directorio wordpress / wp-content requiere un nivel de permiso 0755. Hay varias formas de cambiar el nivel de permiso de una carpeta.
Cambio de permisos de archivo usando cPanel:
Vaya al Administrador de archivos al abrir la carpeta HTML pública donde se supone que debe estar su sitio web de WordPress, o abra el directorio raíz del sitio si su sitio web está en alguna otra carpeta. En su directorio raíz de WordPress, navegue hacia la carpeta wp-content; al final de la fila de la carpeta wp-content, el último cuadro contiene permisos de archivo para esta carpeta. Asegúrese de editar el nivel de permiso de la carpeta a 0755, y ya está.
Cambio de permisos de archivo usando terminal SSH:
En su terminal, ubique la raíz del sitio de WordPress que en mi caso era / var / www / html para pasar al directorio raíz de WordPress ingrese el siguiente comando:
Ahora está en el directorio raíz de WordPress donde se encuentra la carpeta / wp-content requerida. Entonces, para cambiar los permisos del archivo, escriba el siguiente comando:
Esto cambiará su permiso de archivo de directorio / wp-content a 0755.
Ahora no recibirá un mensaje de error al cargar complementos de WordPress a través de FTP.
fuente
La mejor manera de instalar el complemento utilizando SSH es WPCLI.
Tenga en cuenta que el acceso SSH es obligatorio para usar los comandos WP CLI. Antes de usarlo, compruebe si la CLI de WP está instalada en su servidor o máquina de alojamiento.
Cómo verificar:
wp --version
[Mostrará la versión wp cli instalada]Si no está instalado, cómo instalarlo: antes de instalar WP-CLI, asegúrese de que el entorno cumpla con los requisitos mínimos:
Entorno similar a UNIX (OS X, Linux, FreeBSD, Cygwin); Soporte limitado en entorno Windows. PHP 5.4 o posterior WordPress 3.7 o posterior. Las versiones anteriores a la última versión de WordPress pueden tener una funcionalidad degradada
Si los puntos anteriores están satisfechos, siga los pasos: URL de referencia: WPCLI
Ahora WP CLI está listo para instalar.
Ahora puede instalar cualquier complemento que esté disponible en WordPress.org utilizando los siguientes comandos:
NOTA: wp cli solo puede instalar aquellos complementos que están disponibles en wordpress.org
fuente