Categorías: Tutoriales

Akismet no conecta. Configurar Akismet detrás de un proxy

Si Akismet, el archiconocido plugin de WordPress para evitar SPAM, no es capaz de conectar con sus servidores puede ser por dos motivos, o porque sus servidores están caído (esto no suele pasar), o porque la red donde nos encontramos está bajo un firewall. ¿Qué hacemos en este caso? posiblemente los administradores de esa red provean un salida opcional mediante proxy.

Este fue nuestro caso en uno de nuestro últimos proyecto con Codection. No citaré el nombre de la organización, pero si diré que tiene un volumen bastante grande, y la opción de abrirnos puertos o pasarelas para un servicio determinado no suele ser una opción que se ofrezca. ¿Entonces? Lo que os adelantaba arriba, la instalación de WordPress saldrá por un proxy.

¿Qué problema tiene Akismet con un proxy? Básicamente que no está debidamente preparado. Pero tras unos pocos cambios veréis cómo funciona a la perfección. Os explico cómo hacerlo.

Lo primero es definir en nuestro wp-config las siguientes líneas, especificando lo correspondiente a cada caso.

[code]define(‘WP_PROXY_HOST’, ‘url.del.proxy’);
define(‘WP_PROXY_PORT’, ‘8100’);
define(‘WP_PROXY_USERNAME’, ‘usuario’); // no todos los proxies necesitan autenticación
define(‘WP_PROXY_PASSWORD’, ‘contraseña’);[/code]

Ahora hemos de modificar el plugin, para ello, editamos el archivo akismet.php que encontramos dentro del directorio del plugin (por defecto: /wp-content/plugins/akismet). Buscamos la función akismet_http_post y la reemplazamos por la siguiente. Y eso es todo.

[code]

function akismet_http_post($request, $host, $path, $port = 80, $ip=null){
global $wp_version;
$akismet_version = constant(‘AKISMET_VERSION’);
$args = array(
‘method’=>’POST’,
‘user-agent’=>”User-Agent: WordPress/$wp_version | Akismet/$akismet_version”,
‘body’=>$request
);
$url = “http://”.$host.$path;

if( !class_exists( ‘WP_Http’ ) )
include_once( ABSPATH . WPINC. ‘/class-http.php’ );
$http_request = new WP_Http;
$http_response = $http_request->request($url,$args);
if( is_wp_error( $http_response ) )
return;
$response[0] = $http_response[‘headers’];
$response[1] = $http_response[‘body’];
return $response;
}

[/code]

Alberto Hornero Luque

Contínuamente relacionado con el procesamiento de imágenes y el análisis numérico, se encuentra actualmente trabajando como Ingeniero Técnico en el laboratorio de Métodos Cuantitativos de Teledetección del CSIC. Administrador del portal Linux Hispano centra sus intereses en tecnologías abiertas, desarrollos en la nube y GNU/Linux, y hace poco fundó junto a Javier Carazo una startup, Codection. Puedes seguir sus updates en @ahornero y LinkedIn.

Ver comentarios

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace