...

Ocultar archivo debug.log en WordPress

Una opción que puede ayudar a visualizar errores o advertencias en el código de WordPress es la del registro de depuración o debug log que le indica a la aplicación generar un log que puede mostrado en las páginas o guardado en un archivo. Para habilitar este registro es necesario incluir en el archivo de configuración de WordPress wp-config.php el siguiente código:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

La primera línea habilita el registro de depuración, la siguiente activa la creación del archivo de registro debug.log que se situará dentro del directorio wp-content, mientras que la tercera opción especifica que estas advertencias no sean mostrados en las páginas del sitio.

El problema es que, de manera predeterminada, este archivo es visible públicamente. Lo que implica que cualquiera podría escribir la dirección http://midominio.com/wp-content/debug.log y visualizar el contenido del archivo exponiendo información sensible de nuestro sitio web, lo que supone un problema de seguridad.

Para evitar este acceso existe una manera muy sencilla: para el caso de que usés Apache como servidor web solo tenés que crear un archivo .htaccess, o agregar al existente, lo siguiente:

# Bloquear acceso a debug.log
<Files "debug.log">
    Order Allow,Deny
    Deny from all
</Files>

Agregar un ecualizador gráfico de sonido en Manjaro

Aunque es algo muy común y que debería incluirse de forma predeterminad

 

a en la instalación de Manjaro Linux, el ecualizador gráfico es un paquete de software que muchas veces da problemas de configuración si no lo instalamos correctamente.

Me ha pasado personalmente de experimentar problemas de sonido como ruidos, dificultad para controlar el volumen o directamente quedarme sin sonido en la computadora al intentar instalar un ecualizador para mejorar el sonido.

 

PulseAudio Equalizer

 

De todas maneras la solución es súmamente sencilla, basta con instalar un paquete que se configura automáticamente y listo, podemos empezar a ajustar las 15 bandas para ecualizar nuestra música preferida.

El paquete en cuestión es el Pulse Audio Equalizer y se instala utilizando pacman o yay de la siguiente manera:

 

yay -S pulseaudio-equalizer-ladspa

Permitir comunicación entre una máquina virtual y el hipervisor con KVM

Entre las distintas opciones de virtualización para un entorno de desarrollo, como Docker, VirtualBox, etc. podemos elegir KVM. Esta excelente herramienta nos permite tener servidores completos corriendo como máquina virtual, emulando completamente un servidor de producción, lo que permite tener un escenario casi idéntico al que tendremos en el momento del deployment.

El problema es que dependiendo la configuración, es posible que no tengamos acceso de red a las VMs (máquinas virtuales) desde el hipervisor, lo que hace las máquinas virtuales totalmente inútiles como entorno de desarrollo . Esto me ha implicado horas de googleo, lectura de documentación y foros y experimentación infructuosa hasta que dí con la solución.

Lo primero que hay que hacer es crear una red aislada con libvirt, a través de un archivo XML con la configuración de la red, como en el siguiente ejemplo.

1.- Crear un archivo /tmp/isolated.xml con el contenido:

<network>
  <name>isolated</name>
  <ip address='192.168.254.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.254.2' end='192.168.254.254' />
    </dhcp>
  </ip>
</network>

Si ya estás usando la red 192.168.254.0/24, podés usar otra.

2.- Definir la red con el comando virsh net-define /tmp/isolated.xml.

3.- Establecer el inicio automático de la red en virsh usando virsh net-autostart isolated.

4.- Iniciar la red virsh net-start isolated.

5.- Editar la configuración de cada VM que use macvtap para su conexión de red y agregar una nueva <interface> en la sección <devices>, parecido a lo siguiente:

<interface type='network'>
  <source network='isolated'/>
  <model type='virtio'/>
</interface>

6.- Apagar y prender las VMs.

Ahora ya se puede “ver” la VM desde el hipervisor sin problemas.

vm-hypervisor-screenshot

 

Fuente: RedHat documentation

Instalar o actualizar ImageMagick en CentOS 7 (remi repo)

En las últimas versiones WordPress presenta una nueva funcionalidad llamada Salud del sitio la cual realiza un chequeo general del sitio, generando un informe con consejos y advertencias para poder mejorar el rendimiento, la escalabilidad y la seguridad del sitio y el servidor. En uno de los sitios el informe aconsejaba instalar el módulo de php imagick (ImageMagick). El servidor de alojamiento de este sitio usa CentOS 7 con php 7.3 para el cual instalé el repositorio de Remi Collet.

Para instalar el paquete php-pecl-imagick para php73 es necesario actualizar también el paquete de ImageMagick ya que el que viene con CentOS es antiguo e incompatible con php 7.3.

(más…)

Sincronizar fecha y hora en manjaro

Reloj de arena

Hace unos días venía viendo que el reloj de mi computadora tenía unos minutos de diferencia con los relojes de los servidores que mantengo, por lo que me imaginé que mi PC no estaba sincronizando la hora con un servidor NTP.

Hoy me acordé de hacerlo y resultó ser una pavada. Solo tuve que verificar en la terminal si realmente la sincronización estaba desactivada:

> timedatectl
Local time: lun 2019-08-19 18:11:19 -03
Universal time: lun 2019-08-19 21:11:19 UTC
RTC time: lun 2019-08-19 21:11:19
Time zone: America/Montevideo (-03, -0300)
System clock synchronized: no
NTP service: no
RTC in local TZ: no

Aquí se ve que el servicio NTP está desactivado, por lo que hay que hacer

> sudo timedatectl set-ntp true

Luego de esto si hacemos nuevamente timedatectlobtendremos:

Local time: lun 2019-08-19 20:43:43 -03
Universal time: lun 2019-08-19 23:43:43 UTC
RTC time: lun 2019-08-19 23:43:43
Time zone: America/Montevideo (-03, -0300)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

¡Listo! Reloj sincronizado.

Cambiar el formato de fechas con expresiones regulares

Cambiar el formato de fechas con expresiones regulares

Entre mis tareas de “administración” se encuentra la de mantenerme al tanto de los vencimientos de los dominios que tenemos registrados. La entidad registrante me muestra un listado con la fecha de vencimiento de cada uno alertándome de lo que tienen una fecha de expiración cercana pero con el molesto detalle de que las fechas se muestran en el formato de USA, es decir M/D/A.

Por ejemplo un pequeño listado sería algo así:

carlomagno.com expires 8/30/2018
baleiapreta.net expires 8/31/2018
kerry.com expires 9/3/2018
meencantamidominio.com 09/10/2018

Dado que esta lista la debo pasar por mail, para no crear confusiones necesito cambiarle el formato. Cuando se trata de unas pocas líneas se puede hacer a mano pero en el caso de tener varios dominios el realizar el cambio manual, además de poder inducir a errores, es bastante tedioso. Además como creo que los programadores somos de las personas más vagas me puse a crear con expresiones regulares, una búsqueda para reemplazar el formato de la fecha. (más…)

Seraphinite AcceleratorOptimized by Seraphinite Accelerator
Turns on site high speed to be attractive for people and search engines.