WordPress: solución a FTP interno de STRATO

Adiós al FTP interno que impuso STRATO a WordPress

Finalmente, he podido deshacerme de esta limitación, impuesta por STRATO (mi alojamiento web) a mediados de 2014, la cual por suerte ya no existía a finales de dicho año, pero permanecía en aquellas instalaciones previas de WordPress.

STRATO obligo a sus clientes a actualizar nueva versión del sistema WordPress a través de su área de cliente y no desde el propio Escritorio de WordPress, como se hace normalmente.

La solución que doy creo que en realidad puede servir para cualquiera que haya tenido un problema similar. Si bien, necesitará permiso para acceder a la carpeta raíz donde está alojada su instalación de WordPress.

Antes de seguir hablando de cómo di con esa solución, una breve explicación de qué es un FTP y a que me refiero con interno, para entender el porqué era algo tan nefasto tenerlo aún.


Índice

  1. ¿Qué es un FTP?
  2. Solución: cómo eliminar el FTP interno de STRATO y otros detalles
    Códigos extra que estableció STRATO info ampliada el 01-11-2017
  3. Videotutorial
  4. Opinión

¿Qué es un FTP?

Según la wikipedia, FTP (siglas en inglés de File Transfer Protocol, ‘Protocolo de Transferencia de Archivos’) en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor.

Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.

En WordPress, normalmente la gente sube cualquier archivo (media), plugins, temas e incluso nuevas versiones del propio WordPress, desde el Escritorio en cuestión (apartado actualizaciones), sin ningún tipo de traba, con total libertad.

Sin embargo, a mediados de 2014 clientes de STRATO tuvimos que sufrir una traba, la cual tenía que ver con la inclusión de un FTP interno, donde obligatoriamente debíamos introducir una serie de datos para cualquier transferencia de archivos.

Algo como lo que puedes observar en esta pantalla y que a finales de 2014 fue corregido (lo eliminaron).

FTP-Interno_Fallo-Strato_2014
Pantalla muestra FTP interno, impuesto por STRATO a mediados de 2014 (eliminado en nuevas instalaciones a finales del mismo año)

Esta pantalla a priori podría verse como una solución para aquellas personas que han dado clave de administradores a un usuario que no tiene idea de mantenimiento web (WordPress), pero nada más lejos de la realidad, resulta ser un problema a la larga.

Primero por incomodidad, porque este sistema no es que fuera muy pulido. En ocasiones se trababa o se quedaba congelada la pantalla de carga. Por otro lado, plugins de seguridad como Wordfence Security, no se podían actualizar automáticamente. Lo que ya de por si, es un problema de inseguridad.

Después también estaba el asunto de las actualizaciones de idiomas de algunos plugins, como era el caso de Jetpack que me obligaba a subir los archivos correspondientes (.PO y .MO) por separado y copiarlos en la carpeta referenciada a idiomas.

La solución ahora me permite automatizar la actualización del plugin de seguridad. Traducir apropiadamente o borrar cómodamente otros plugins que ya no use, sin temor a borrar nada por FTP Filezilla (programa externo que en teoría hace lo mismo que este interno pero en realidad es mucho mejor, más eficiente, no se cuelga).

↑ Volver al índice ↑


Solución: cómo eliminar el FTP interno de STRATO y otros detalles

Para quien es programador (PHP) esta solución le parecerá una tontería, pero para los ‘pobres terrícolas’ que nos dedicamos únicamente a diseño (HTML y CSS), toquetear cosas de funciones sin saber el problema que podemos ocasionar, dar con una solución de este tipo es como ‘encontrar el Santo Grial’.

Y más cuando uno busca que te busca por todas partes en ‘san google’ y no encuentra ninguna solución (en ningún idioma). Aun así, he sido muy cauto adivinando que debía hacer, para lo cual era importante trabajar de forma local primero.

Banner_Redes_WordPress-Solucion-FTP-interno-Strato-3
Banner – WordPress: solución a FTP interno de STRATO

Si vas a trastear código a nivel de programación (PHP), la mejor opción para no provocar ningún problema, es hacerlo con el programa MAMP (que ahora también está disponible para Windows), lo que te permite trabajar de forma local con los ficheros web y base de datos, descargados desde tu servidor web. Próximamente te hablaré de este programa.

Lo único que tenemos que hacer es borrar dos lineas de código de programación, impuestas por STRATO, al final del archivo wp-config.php (el cual encontraras en tu directorio raíz donde tengas instalado WordPress). Para modificar estos datos, podéis hacerlo con diversos programas. Abres, modificas y guardas (nada de ‘guardar como’):
Visual Studio Express o Bloc de notas (Windows)
TextWrangler o TextEdit (Mac).

Una vez modificado (borrado), vuelves a subir el archivo en cuestión y sobreescribes el que tuvieras en el servidor. Todo esto lo podéis hacer fácilmente, desde el programa FTP Filezilla.

↑ Volver al índice ↑

Códigos extra que estableció STRATO

De los 3 que comento, el que te interesa es el 2º. Pero los otros dos son mostrados igualmente porque te pueden ser de utilidad y no aparecen de forma nativa en el wp-config-sample.php del sistema WordPress original. De hecho, esos otros dos códigos son visibles en las nuevas instalaciones de WordPress de finales de 2014, cuando ya STRATO elimino esa traba de FTP interno.

1º. Deshabilitar actualización automática de WordPress, traducciones, temas y plugins

Se encuentra justo al final de wp-config.php por encima del código 2º (el que debemos borrar). Nuevamente STRATO impone su criterio (en este caso acertado), para deshabilitar la opción de actualización automática* del sistema WordPress, traducciones, temas y plugins. Esto se hizo en una época, en la que WordPress imponía las actualizaciones automáticas desde su propio Escritorio.
*: info ampliada el 01-11-2017 gracias a comentario Alejandro Gálvez, en artículo de ‘AyudaWP’, quien indicaba que este código permite no solo evitar actualizaciones de WordPress, sino también evitar traducciones, temas y plugins.

//--- disable auto upgrade
define( 'AUTOMATIC_UPDATER_DISABLED', true );

¿Por qué es bueno esto? Porque cuando sale una nueva versión del sistema WordPress, siempre es prudente esperar 24h a que temas y plugins se actualizados debidamente a esa nueva versión, por sus autores, tras ello haremos nosotros lo propio. De lo contrario, algo del sitio web podría romperse.

2º. Deshabilitar actualización automática solo de WordPress, tanto mayores como menores

Actualizado: 01-11-2017.

Gracias a ‘AyudaWP‘, tienes esta otra opción para evitar únicamente las actualizaciones de WordPress, sin afectar al resto. Tanto para actualizaciones mayores (de 4.8 a 4.9) como las menores (de 4.8.2 a 4.8.3).

//--- no update core
define( 'WP_AUTO_UPDATE_CORE', false );

3º. Habilitar solo actualizaciones menores de WordPress

Actualizado: 01-11-2017.

Como curiosidad, existe otro código para habilitar solo actualizaciones menores de WordPress, el cual incluye Strato en sus nuevas instalaciones de WordPress, finales 2017 (cuando las he visto).

De hecho, Alejandro Gálvez, de quien ya te hable anteriormente, también ofrece este otro código alternativo para actualizaciones menores entre versiones de WordPress, por ejemplo para pasar de 4.8.2 a 4.8.3. Este otro código evita actualizaciones mayores, tipo pasar de 4.7 a 4.8.

//--- update core minor
define( 'WP_AUTO_UPDATE_CORE', minor );

4º. Borrar código que muestra FTP interno en Escritorio de WordPress

Éste es el código que realmente te interesa borrar.

if(is_admin()) {
	add_filter('filesystem_method', create_function('$a', 'return "direct";' ));
	define( 'FS_CHMOD_DIR', 0751 );
}

if(is_admin()) {
	add_filter('filesystem_method', create_function('$a', 'return "ftpext";' ));
	define( 'FS_CHMOD_DIR', 0755 );
}

Lo que aquí hemos provocado es la eliminación del FTP interno, el cual nos obligaba a introducir los datos de Usuario y Contraseña FTP, para cualquier nueva instalación de plugin, tema (o borrado de los mismos), así como nueva versión del sistema WordPress.

5º. Actualizar directamente desde el Escritorio de WordPress (servidores compartidos)

Una vez borrado este código, quizás debamos tener en cuenta otro código que aparece en STRATO y parece necesario para realizar actualizaciones directamente desde el Escritorio de WordPress, sobre todo si estamos en un servidor compartido.

El siguiente código lo puedes poner antes o después de define('WP_DEBUG', false); el cual también está casi al final de wp-config.php:

define ('FS_METHOD', 'direct');

Ahora sí, ya cualquier acción desde el Escritorio de WordPress, apartado actualizaciones, podrás realizarlo sin ningún problema.

Si aún no te queda claro lo que tienes que hacer, echa un vistazo al vídeo.

↑ Volver al índice ↑


Videotutorial

  • WordPress: solución a FTP interno de STRATO – 2014
    En este vídeo muestro desde una instalación local de WordPress, el archivo del que tienes que borrar dos líneas de código de programación, para librarte del FTP interno, impuesto por STRATO a mediados de 2014 y que posteriormente eliminó a finales del mismo año pero sólo para nuevas instalaciones.

↑ Volver al índice ↑


Opinión

Realmente esta solución vino a mí, de forma inesperada. Si bien, tenía ‘la mosca tras la oreja’ desde hacia mucho tiempo porque no hallaba solución alguna, sobre este tema. Quizás, no buscaba en ‘san google’ con las palabras adecuadas (con ‘FTP interno’, no me salía ningún resultado favorable).

Entonces, repasando artículos de 2014, quise rescatar uno que me parecía muy importante y tenía que ver con trabajar de forma local con WordPress (habiéndolo hecho previamente de forma online). La verdad que creo que es algo que está un poco en desuso porque ciertos plugins no funcionan en el modo local, conocido también como desarrollador.

Pero probé yo mismo de nuevo en modo local porque la nueva versión de WordPress 4.7, estaba dando problemas con un módulo de Jetpack, el cual servía para editar el CSS de nuestra web, sin necesidad de tocar el editor original.

Total que me descargue 2 webs donde tenía FTP interno aún. La mía propia, Joan Morci (JM) y la de Misión Esperanza Burgos (MEB). Para mi sorpresa, en una tenía FTP interno y en la otra no. ¿Cómo era aquello posible? ¿Qué había cambiado en el proceso de descarga y acomodamiento a nivel local?

Pues muy sencillo, después de discurrir bastante. La conclusión fue que en una descarga, aproveche a cambiar unos parámetros del archivo original de WordPress, el denominado wp-config-sample.php que es un ejemplo de cómo debe ser nuestro archivo wp-config.php una vez modificado. Es el que contiene tus datos de login al panel de administración de WordPress.

Para una web descargue el original de WordPress (sin limitaciones, sin FTP interno). Y para la otra web, descargue el original desde el servidor web de STRATO. Ahí comprobé las diferencias entre ambos archivos. El de STRATO poseía código extra y para cierto fin. Borre lo que no me interesaba (y deje lo que sí). Volví a comprobar de nuevo de forma local, y la solución se presento ante mí. Ya no tenía FTP interno.

Así que trabajar de forma local es prudente, no sólo para comprobar cómo se comportan nuevas versiones de sistema WordPress u otras cosas, sino también para trastear cosas de código de programación, para los que no somos muy ‘duchos’ en la materia.

Si quieres invitarme a un Cola Cao, por tamaño esfuerzo de recopilación… te lo agradeceré :)

↑ Volver al índice ↑


Fuente imágenes

Ver apartado relacionado en mi Pinterest.