Configuración de FS_METHOD en wp-config.php

Dentro del ecosistema de WordPress, existen diversas constantes que permiten a los desarrolladores personalizar el comportamiento del sistema. Una de estas constantes, esencial para la gestión de archivos, es FS_METHOD.

¿Qué es FS_METHOD?

La constante FS_METHOD determina el método de sistema de archivos que WordPress debería usar para leer, escribir, modificar o eliminar archivos.

Para establecer un método diferente para la edición de archivos, basta con editar el archivo wp-config.php y agregar la línea:

define( 'FS_METHOD', 'VALOR DE LA TABLA A CONTINUACIÓN' );

Esta constante fuerza a WordPress a utilizar un método específico de sistema de archivos y acepta los siguientes valores:

  • direct: Utiliza las solicitudes de I/O de archivos directos desde PHP. Este método puede tener problemas de seguridad en servidores mal configurados.
  • ssh2: Fuerza el uso de la extensión SSH PHP si está instalada.
  • ftpext: Fuerza el uso de la extensión FTP PHP para el acceso FTP con las credenciales proporcionadas.
  • ftpsockets: Utiliza la clase PHP Sockets para el acceso FTP con las credenciales proporcionadas.

FS_METHOD ‘direct’

En general, solo deberías cambiar el valor de FS_METHOD si experimentas problemas de actualización. Si lo modificas y no ayuda, es aconsejable revertirlo o eliminarlo. En la mayoría de los casos, configurarlo como ftpsockets funcionará si el método elegido automáticamente no lo hace.

FS_METHOD ‘ftpext’

Para usar FTP en actualizaciones, define en el archivo wp-config.php:

define( 'FS_METHOD', 'ftpext' );

Si lo configuras como ftpext o ftpsockets, también necesitarás agregar tus credenciales de inicio de sesión de FTP. Puedes añadir la información directamente en el archivo wp-config.php o usar un plugin, como «FTP access», que hace lo mismo.

Se incluyen también constantes adicionales para especificar rutas o autenticarse mediante llaves SSH en lugar de contraseñas. Estas constantes incluyen FTP_BASE, FTP_USER, FTP_PASS, entre otras.

Si lo configuras como ftpext o ftpsockets, también necesitas agregar las credenciales de inicio de sesión de tu cuenta FTP.

Puedes añadir la información de inicio de sesión FTP directamente al archivo wp-config.php o usar un plugin como «FTP access» que hará lo mismo.

define( 'FTP_BASE', '/ruta/a/wordpress/' );
define( 'FTP_USER', 'nombredeusuario' );
define( 'FTP_PASS', 'contraseña' );
define( 'FTP_HOST', 'ftp.ejemplo.org' );
define( 'FTP_SSL', false );

Constantes Explicadas

  • FTP_CONTENT_DIR La ruta completa a la carpeta wp-content de la instalación de WordPress.
  • FTP_PLUGIN_DIR La ruta completa a la carpeta de plugins de la instalación de WordPress.
  • FTP_BASE La ruta completa a la carpeta “base”(ABSPATH) de la instalación de WordPress.
  • FTP_USER Tu nombre de usuario FTP o SSH.
  • FTP_PASS La contraseña para el nombre de usuario ingresado en FTP_USER. Si estás utilizando autenticación con clave pública SSH, esto no es necesario.
  • FTP_HOST La combinación de nombre de host:puerto para tu servidor SSH/FTP. Si se utiliza el puerto FTP predeterminado 21 o el puerto SSH 22, esta configuración no es necesaria. Establece el puerto solo si estás utilizando un puerto personalizado.
  • FTP_SSL Se usa para «FTP Seguro», no para SSH SFTP, configúralo como true para usar una conexión SSL o false para no usar SSL.
  • FTP_PUBKEY La ruta completa a tu clave pública SSH.
  • FTP_PRIKEY La ruta completa a tu clave privada SSH.

O si, en lugar de contraseñas, estás utilizando autenticación basada en claves:

define( 'FS_METHOD', 'ftpext' ); define( 'FTP_BASE', '/ruta/a/wordpress/' );
define( 'FTP_USER', 'nombredeusuario' );
define( 'FTP_PUBKEY', '/home/nombredeusuario/.ssh/id_rsa.pub' );
define( 'FTP_PRIKEY', '/home/nombredeusuario/.ssh/id_rsa' );
define( 'FTP_HOST', 'ftp.ejemplo.org' ); define( 'FTP_SSL', false );

Si has movido las carpetas wp-content o plugins a otra ubicación, también puedes establecer rutas para esas carpetas:

define( 'FTP_CONTENT_DIR', '/ruta/a/wordpress/wp-content/' );
define( 'FTP_PLUGIN_DIR ', '/ruta/a/wordpress/wp-content/plugins/' );

FS_METHOD ‘ssh2’

Para utilizar FS_METHOD ssh2 en actualizaciones, necesitas agregar lo siguiente al archivo wp-config.php:

define( 'FS_METHOD', 'ssh2' );

Hay dos métodos para usar ssh2 en actualizaciones. El primero es utilizar el plugin gratuito de WordPress «SSH SFTP Updater Support«. El segundo es usar el actualizador SSH2 integrado, que requiere que la extensión pecl SSH2 esté instalada.

En Resumen

La capacidad de definir cómo WordPress gestiona el sistema de archivos es crucial para aquellos que buscan optimizar y asegurar su sitio. La constante FS_METHOD ofrece esa flexibilidad, permitiendo a los desarrolladores elegir el método que mejor se adapte a sus necesidades y al entorno de alojamiento de su sitio web. Como siempre, antes de realizar cambios, es esencial hacer una copia de seguridad y proceder con precaución.

Scroll al inicio