El complemento de software del sitio de cPanel deshabilita las actualizaciones automáticas de WordPress

Publicado: 2015-05-15

Hace poco más de dos meses, Derek Munson, que se hace llamar Drumology2001, publicó un hilo en los foros de soporte de WordPress.org. Mientras realizaba el mantenimiento de varios sitios de WordPress en su servidor privado virtual, Munson descubrió que varios de ellos ejecutaban versiones desactualizadas. Las versiones iban de la 3.9 a la 4.1 con al menos un sitio usando WordPress 3.9.2.

Estoy acostumbrado a ver el 'problema' en la parte superior de la pantalla que me permite saber que hay una versión más nueva disponible. No veo eso en ninguno de estos sitios que no están en la versión más nueva (4.1.1). Cuando voy a Tablero > Actualizaciones y hago clic en 'Verificar de nuevo' para forzar una verificación manual, sigue actuando como si todo estuviera actualizado cuando claramente no lo está.

Inicialmente, Munson pensó que All in One WP Security and Firewall estaba bloqueando las notificaciones de actualización. Mbrsolution, el desarrollador principal del complemento, confirmó que no bloquea las notificaciones de actualización. Después de completar una serie de técnicas de solución de problemas sugeridas por voluntarios en el foro de soporte de WordPress, Munson instaló Wordfence Security, un complemento de seguridad de WordPress.

Una de las características destacadas de Wordfence es su escáner. Compara los archivos principales limpios de WordPress con los del servidor y notifica al usuario si detecta una diferencia. Los resultados del análisis muestran que se cambiaron tres archivos.

wp-admin/incluye/actualizar.php
wp-admin/update-core.php
wp-admin/includes/class-wp-upgrader.php

Estos archivos solo se cambiaron en los sitios de WordPress que se instalaron usando el complemento Site Software de cPanel.

Archivo update.php de WordPress .
function get_core_updates( $options = array() ) { $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options ); $dismissed = get_site_option( 'dismissed_update_core' );

El archivo update.php de cPanel .
function get_core_updates( $options = array() ) { # cPanel override: Disable all core updates to prevent conflict with cPAddons. return false; $options = array_merge( array( 'available' => true, 'dismissed' => false ), $options );

Archivo de actualización-core.php de WordPress .
function core_upgrade_preamble() { global $wp_version, $required_php_version, $required_mysql_version; $updates = get_core_updates();

El archivo update-core.php de cPanel.
function core_upgrade_preamble() { # cPanel override: Do not display the current or the latest version, because we've disabled updates. return; global $wp_version, $required_php_version, $required_mysql_version; $updates = get_core_updates();

Archivo class-wp-upgrader.php de WordPress .
public function is_disabled() { // Background updates are disabled if you don't want file changes. if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) return true;

Archivo class-wp-upgrader.php de cPanel .
public function is_disabled() { return true; // Force this functionality to disabled because it is incompatible with cPAddons. // Background updates are disabled if you don't want file changes. if ( defined( 'DISALLOW_FILE_MODS' ) && DISALLOW_FILE_MODS ) return true;

El código agregado por cPanel deshabilita las actualizaciones principales de WordPress, las notificaciones de actualización y las actualizaciones automáticas en segundo plano para los lanzamientos puntuales. Una vez que Munson restauró estos archivos a su versión original, las actualizaciones y notificaciones automáticas funcionaron correctamente.

cPanel y cPAddons

Aquellos que administran servidores dedicados o servidores privados virtuales con cPanel tienen la capacidad de usar cPAddons. Según la documentación de cPanel, “Los complementos son aplicaciones que funcionan con cPanel para realizar funciones para los sitios web de sus usuarios. Ejemplos de estas aplicaciones incluyen tablones de anuncios, carritos de compras en línea y blogs”.

Abrir diálogo con cPanel

George Stephanis, colaborador principal de WordPress y desarrollador principal de Jetpack, calificó públicamente las acciones de cPanel como una mala práctica.

Un representante de cPanel vio el tweet y respondió que les gustaría recibir más información.

https://twitter.com/cpanelcares/status/597886956945711107

Stephanis participó en una larga conversación con los representantes de cPanel explicando por qué es una mala idea deshabilitar las actualizaciones principales. cPanel deshabilita el sistema de actualización nativo de WordPress porque podría causar conflictos con la versión de WordPress del software del sitio de cPanel.

Generalmente lanzamos la última versión de WordPress dentro de 1 a 5 días de la última actualización de WordPress. Como mínimo, se informa a los administradores del servidor cada noche de todas las aplicaciones del software del sitio que necesitan actualizarse. Depende de los usuarios configurar sus notificaciones dentro de cPanel para recibir dichas actualizaciones.

La forma en que nuestra herramienta cPAddons rastrea el software no es compatible con la forma en que WordPress se actualiza, por lo que deshabilitamos las actualizaciones automáticas para poder rastrearlo a través de cPAddons.

cPanel continúa explicando cómo se manejan las actualizaciones para el software instalado usando su Site Software cPAddon.

  • Cada vez que WP lanza una versión de mantenimiento que aborda problemas de seguridad, reaccionamos muy rápidamente para actualizar nuestro software para que esté disponible para los clientes.
  • De forma predeterminada, definimos que el software administrado/instalado a través de cPAddons se actualice automáticamente cuando haya una nueva actualización disponible.
  • Según la información anterior, si el administrador del servidor deja los valores predeterminados habilitados, una vez que WP presente una versión de mantenimiento que corrija los problemas de seguridad y hayamos probado y actualizado nuestra fuente, los clientes recibirán la versión automáticamente.
  • Si el administrador del servidor decide deshabilitar las actualizaciones automáticas de software, el usuario final y el administrador de sistemas seguirán recibiendo notificaciones de que su instalación está desactualizada junto con pasos sobre cómo actualizar su aplicación.

De forma predeterminada, el software instalado por cPanel está configurado para actualizarse automáticamente, pero algunos de los sitios de Munson no se actualizaron. Tampoco recibió notificaciones de actualización para esos sitios. cPanel cree que hay algún problema con la configuración del servidor de Munson y se comprometió a contactarlo para obtener más información.

Basado en lo que Drumology2001 informó en el foro, parece que algo anda mal en ese servidor. Nos encantaría examinar ese servidor para determinar por qué las actualizaciones de WordPress no estaban disponibles para el usuario.

Según las fechas aproximadas utilizadas en el foro y en comparación con nuestros registros internos, la actualización 4.1.1 estaba disponible para el sistema de Site Software antes de la publicación inicial. Nos pondremos en contacto con él para determinar si hay algo que podamos hacer allí.

receptivo al cambio

La buena noticia es que cPanel responde y está dispuesto a realizar los cambios necesarios para mejorar el proceso de actualización. Teniendo en cuenta cuántas empresas de alojamiento web ofrecen a los clientes la posibilidad de instalar WordPress con un instalador de un solo clic, es importante que los sitios reciban actualizaciones lo antes posible.

Si instaló WordPress a través del instalador de un clic de cPanel, asegúrese de que su sitio esté ejecutando WordPress 4.2.2, que es la última versión estable.