Ir al contenido principal

Autor: HaNaTo

Nginx SSL certificate permission SSL error:0200100D:system

Primero algo de contexto, esté es un servidor al que no teníamos acceso y parece que hubieran realizado una migración de servidor, y el momento de inicializar el NGINX, da un error de «Nginx SSL certificate permission SSL error:0200100D:system».

Ahora ¿que generaba el error?

Resulta que SeLinux recuerda la ubicación donde se crean los archivos y al moverlos pueden generar problemas con los permisos, para solucionarlo es necesario resetear los permisos de SeLinux de los archivos que nos den problemas, para realizarlo debemos utilizar el siguiente comando:

restorecon filename

Después necesitaremos reiniciar el NGINX con el siguiente comando:

sudo systemctl restart nginx

Luego podemos revisar el estatus de NGINX con:

sudo systemctl restart nginx

Espero ésta pequeña guía les sea de utilizad.

Permisos en WordPress con – chmod

El comando chmod te permite controlar los permisos asignados a las carpetas y archivos dentro de un servidor.

Por ejemplo en nuestra terminal correremos el comando ls -lh para listar todos nuestros archivos y ver los permisos, usuario y grupo de nuestros archivos y carpetas:

chmod ejemplo

El tener los permisos adecuados en archivos y carpetas de nos ayudará a:

  1. Seguridad: Configurar correctamente los permisos nos ayuda a evitar que usuarios no autorizados accedan, modifiquen o ejecuten archivos sensibles. Esto protege tu sitio contra ataques de hackers que podrían insertar código malicioso.
  2. Funcionamiento óptimo: Los permisos correctos garantizan que WordPress y sus complementos funcionen sin problemas. Por ejemplo, si los permisos son demasiado restrictivos, podrás experimentar errores al instalar o actualizar plugins.
  3. Prevención de errores internos: Si tu sitio es gestionado por varios usuarios, los permisos adecuados ayudan a evitar errores accidentales o malintencionados al modificar archivos.
  4. Cumplimiento de estándares: Mantener los permisos como 644 para archivos y 755 para carpetas es una práctica recomendable que asegura la estabilidad y seguridad del sitio.

Normalmente en WordPress los permisos deben ser:

Directorios:
755 (drwxr-xr-x) esta configuración permite:

  • Propietario: Leer, escribir y ejecutar
  • Grupo: Leer y ejecutar
  • Otros: Leer y ejecutar

Archivos:
644 (-rw-r–r–) esta configuración permite:

  • Propietario: Leer y escribir
  • Grupo: Leer
  • Otros: Leer

El archivo de configuración (wp-config.php) por motivos de seguridad debe tener los permisos en 400 (-rw——-) para garantizar que solo el Propietario pueda leerlo y escribirlo.

Si tu servidor tienen una configuración adecuada es normal que WordPress le cambie los permisos a 400 automáticamente.

Ejemplos chmod

Cambiar los permisos de archivos

#un solo archivo
chmod 644 index.php

#multiples archivos
find /ruta/archivos -type f -exec chmod 644 {} \;

Cambiar permisos a carpetas:

#Una sola carpeta
chmod 755 wp-content/

#Multiples carpetas
find /ruta/archivos -type d -exec chmod 755 {} \;

Importante: recuerda tener cuidado con el -R (recursivo) que puedes encontrar en otros tutoriales ya que eso afectara a todos los elementos sin distinguir si son archivos o carpetas.

Referencias:
Wikipedia

Espero te sea de utilidad y no olvides visitar nuestro canal de YouTube.

Laragon 6

Con Laragon, puedes configurar rápidamente espacios web para trabajar con tecnologías como PHP, MySQL, Apache, Nginx, Node.js, y más.

Es importante recalcar que Laragon solo funciona en Windows. Aquí, utilizaremos la versión 6, que sigue siendo gratuita.

La versión 7 ya está disponible, en el GitHub del proyecto y ahora requerirá una licencia, la cual podrás pagar de forma anual o un solo pago de por vida.  En cuanto podamos probaremos la nueva versión.

Sitio oficial: https://laragon.org
Github del Proyecto: https://github.com/leokhoa/laragon
Laragon 7: https://github.com/leokhoa/laragon/releases/tag/7.0.0

Algunas de las características destacadas incluyen:

  • Portabilidad: Puedes llevar tu entorno de desarrollo en una memoria USB.
  • Auto configuración: Instala y configura automáticamente componentes como Apache, MySQL, y PHP.
  • Rendimiento: Optimizado para ser rápido y eficiente.
  • Simplicidad: Interfaces intuitivas y fáciles de usar
  • Dominios locales: Maneja tus proyectos con dominios locales como “hanatonia.test”

Es una excelente opción para desarrolladores web que necesitan un entorno de desarrollo local robusto y fácil de administrar.

¿Que color vemos cuando cerramos los ojos?

En el siglo XIX, el filósofo y médico alemán Gustav Fechner (1801-1887) marcó un hito en la percepción visual con su innovador Método de los límites. Publicado a mediados de dicho siglo, este tratado buscaba identificar el umbral a partir del cual las personas comenzaban a percibir estímulos visuales que aumentaban gradualmente en intensidad, y el proceso inverso.

A través de sus experimentos, Fechner descubrió que, incluso en condiciones de oscuridad total, las personas continuaban percibiendo matices de gris. A este fenómeno se le denominó Eigengrau, que en alemán se traduce como «gris intrínseco» o «gris propio». Este tono se representa en HTML con el código hexadecimal:

Eigengrau - #16161d
Eigengrau
#16161d

La capacidad de percibir el Eigengrau radica en el funcionamiento de nuestra visión, gracias a dos tipos de células fotorreceptoras en la retina del ojo: los conos y los bastones. Los conos responden a diferentes longitudes de onda de luz, proporcionando visión del color. En contraste, los bastones, aunque no pueden discriminar colores, son mucho más sensibles a la luz, permitiendo la percepción en condiciones de baja luminosidad.

El descubrimiento de Fechner no solo amplió nuestra comprensión de la percepción visual, sino que también dejó un legado perdurable en la forma en que entendemos y representamos los colores en el mundo digital.

¿Utilizarías este color en tus proyectos?

Plesk error 403 – load-styles.php – WordPress admin

El error «403 load-styles» se presento en un WordPress multisite, se le aplicaron las Medidas de Seguridad recomendadas por el «WordPress Toolkit» como en muchas ocasiones habíamos realizado en otros sitios y al poco tiempo comenzó a dar problemas, cabe tomar en cuenta que este sitio no se levanto originalmente en nuestro servidor, sino que se migró desde otro servidor, el error que daba en concreto era:

403	GET /wp-admin/load-styles.php?c=0&dir=ltr&load%5B%5D=common,forms&ver=you_wp_version HTTP/2.0

Seguido de un:

8877#0: *542421 access forbidden by rule

Esto causaba que el sistema de seguridad del servidor bloqueara por un corto lapso de tiempo al administrador que estuviera en el sitio web, se volvió algo muy molesto, se intentaron varias cosas como remover el «define(‘CONCATENATE_SCRIPTS’, false);» del wp-config.php sin ningún resultado.

Después de buscar en muchos foros y probar muchas cosas se logró dar con un proceso que solucionó las cosas:

1. Desconectar (detach) el WordPress del WP Toolkit

2. Correr el siguiente comando:

# plesk repair web <nombre del dominio>

3. Remover el archivo «wp-toolkit-ignore» para que el WP Toolkit pueda conectar nuevamente el WordPress

4. Reconectar el WP Toolkit.

Luego de esto al ingresar al administrador y las ordenes de WooCommerce ya no se volvió a presentar el problema. Espero estos pasos te ayuden para solucionar el error «403 load-styles» y si el problema se vuelve a presentar estaré actualizando este post.

Espero les sea de utilidad y no olviden pasar por nuestro canal de Youtube

Instalar htop

htop es un visor de procesos que sirve como alternativa a top el cual es el visor de procesos por defecto de Linux, pero que es más amigable y muestra datos que no podemos ver con top.

Hay distribuciones de CentOS 7 que vienen con los repositorios necesarios, en ese caso debemos hacer el siguiente paso:

AlmaLinux

dnf install htop

CentOS/RHEL/Fedora

yum install htop

Debian/Ubuntu

apt install htop

Si te da un error de que no se encuentra htop es necesario instalar epel-release en CentOS 7 para tener acceso a htop

Instalar epel release

yum - y install epel-release

 

ahora al escribir htop en la terminal veremos una pantalla como la siguiente:

Aquí podrás ver el uso de cada uno de los Núcleos, Memoria, Swp, Load, Procesos, etc

Espero te sea de utilidad y recuerda visitar nuestro canal de YouTube

Template HTML5 básico

El siguiente Template HTML5 básico contempla los principales elementos que debemos colocar en nuestra hoja para tener un optimo desempeño.

<!Doctype html>
<html lang="es">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">

<!-- Bloque de identidad -->
  <title>Template HTML5 básico</title>
  <meta name="description" content="Template HTML5 básico para proyectos">
  <meta name="author" content="RasenFx">

<!-- Bloque de imágenes -->
  <link rel="icon" href="/favicon.ico">
  <link rel="icon" href="/favicon.svg" type="image/svg+xml">
  <link rel="apple-touch-icon" href="/apple-touch-icon.png">

<!-- The Open Graph protocol (facebook-twitter-linkedin,etc) -->
  <meta property="og:title" content="Template HTML5 básico">
  <meta property="og:type" content="website">
  <meta property="og:url" content="https://www.rasenfx.com/code/template-html5-basico/">
  <meta property="og:description" content="Template HTML5 para proyectos">
  <meta property="og:image" content="images/ogimage.png">

<!-- llamados de CSS -->
  <link rel="stylesheet" href="css/styles.css?v=1.0">

<!-- Llamados de Scripts del head -->
  <script src="js/head-scripts.js"></script>

</head>

<body>
  <div>Contenidos de la hoja</div>

<!-- Llamados de scripts del body -->
  <script src="js/foot-scripts.js"></script>
</body>
</html>

A continuación las descripciones de cada uno de los elementos de la hoja:

Doctype test

El Doctype nos permite informar al navegador el tipo de documento que estamos cargando, a diferencia de las tecnologías anteriores en HTML5 no necesitamos declarar una gran cantidad de información difícil de recordar, únicamente necesitamos colocar:

<!Doctype html>

Es importante recalcar que esta etiqueta puede ser escrita en minúsculas, mayúsculas o de forma mixta.

Elemento <html>

El elemento <html> debe ir después del Doctype, este nos permite informar al navegador que el documento es un HTML, se puede utilizar el atributo lang para definir el idioma de la hoja.

Al final de la hoja se debe cerrar la etiqueta con </html>

<!Doctype html>
<html lang="es">

</html>

La sección <head>

La sección <head> contiene la metadata (titulo de la hoja, metas, estilos, links, scripts), en general es información de la hoja que no verá el usuario.  Si bien el orden de los elementos en esta sección no afectan el funcionamiento es mejor tener cierto orden para que sea mas fácil leerlo.

<head>
  <!-- elementos -->
</head>

Meta <meta>

El elemento <meta> se utiliza para especificar la metadata e información técnica que utilizarán los buscadores y navegadores para desplegar la hoja.

charset

El atributo charset nos permite definir el tipo de encoding que se utiliza en la hoja, por defecto es el UTF-8

<meta charset="utf-8">
viewport

El viewport es uno de los elementos mas importantes en nuestra hoja HTML5. Este permite que nuestra hoja tenga responsiva y se ajuste al tamaño de los dispositivos móviles.

<meta name="viewport" content="width=device-width, initial-scale=1">
description

El elemento description se utiliza para dar una descripción de la hoja que será utilizado por los buscadores.

<meta name="description" content="Template HTML5 básico para proyectos">
author

El elemento author nos permite dar el crédito al autor de la hoja, está información tambien es utilizada por los buscadores.

<meta name="author" content="RasenFx">

Title <title>

Nos permite definir el título de la hoja.

<title>Template HTML5 básico</title>

Link <link>

El elemento <link> nos permite establecer la relación entre la hoja y recursos externos como pueden ser CSS e imágenes.

Los atributos que requiere <link> son: rel, href y opcional type

stylesheet

Permite llamar los archivos CSS que vamos a utilizar en nuestra hoja.

<link rel="stylesheet" href="/css/styles.css?v=1.0">
icon

Permite llamar a los iconos que se mostrarán en el tab del navegador

<link rel="icon" href="/favicon.ico">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
apple-touch-icon

Esta imagen es utilizada por los dispositivos de Apple (iPhone- iPad – iPod), y tambien por los bookmarks y home screen

<link rel="apple-touch-icon" type="text/css" href="/apple-touch-icon.png">

Script <script>

El elemento <script> nos permite llamar scripts a la hoja, es importante tener en cuenta que los scripts pueden hacer que nuestro sitio cargue mas lento, ya que cuando un navegador carga la hoja y encuentra un script no continuara la carga hasta terminar de procesar el script, por eso se recomienda que los scripts sean colocados al final de la hoja, pero hay casos en los que necesitaremos cargar ciertos scripts en el head por lo que se recomienda que estos scripts no sean muy pesados.

<script src="/js/head-scripts.js"></script>

The Open Graph protocol: link »

Los elementos og: son utilizados para compartir el contenido a las redes sociales, esto favorece al SEO y Social Media Marketing del sitio web.

<meta property="og:title" content="Template HTML5 básico">
<meta property="og:type" content="website">
<meta property="og:url" content="https://www.rasenfx.com/code/template-html5-basico/">
<meta property="og:description" content="Template HTML5 para proyectos">
<meta property="og:image" content="images/ogimage.png">

Adicionalmente para Twitter podemos agregar los datos de Twitter Cards: link »

<meta name="twitter:card" content="summary" />
<meta name="twitter:site" content="@nytimesbits" />
<meta name="twitter:creator" content="@nickbilton" />

En el siguiente post extiendo un poco más este punto: link »

Body <body>

El <body> nos permite mostrar el contenido de la hoja (imágenes, textos, videos, etc.)

<body>
  <div>Contenidos de la hoja</div>

<!-- Llamados de scripts del body -->
  <script src="/js/foot-scripts.js"></script>
</body>

Es recomendable que todos los scripts que podamos sean llamados justo antes de la etiqueta </body>

Compatibilidad con Redes Sociales

Vamos a revisar paso a paso cómo configurar adecuadamente los datos de nuestro sitio web para que pueda ser compartido adecuadamente en redes sociales.

Normalmente cuando recién terminas un sitio o hoja al compartirla en redes sociales se verá algo así:

Compartir en Facebook
Facebook

Compartir en Twitter
Twitter

Lo primero que tenemos que tener claro es cómo funciona, Open Graph es la tecnología que se utiliza para enviar los tags que utilizarán las redes sociales, en el caso de que el sitio no disponga de estos tags la red social tomará los datos que pueda, pero esto puede ser perjudicial como en el ejemplo ya que no muestra la información deseada.  Hay muchos tag de Open Graph para los diferentes tipos de sitios web o aplicaciones, los og básicos que necesita un sitio web son

  • og:url                 – La url del sitio web o página
  • og:type               – El tipo de sitio web o página
  • og:title               –  Título de la hoja
  • og:image           – url de la imágen que queremos que aparezca en la red social
  • og:description – Descripción del sitio web o página
  • og:update_time – Timestamp de fecha de actualización de la página
  • og:image:alt        – url de imagen alternativa

 

Tag Descripción
og:url La url del sitio web o página
og:type El tipo de sitio web o página

En el caso de nuestro sitio web, estamos utilizando WordPress, aquí existen algunas alternativas de plugins para SEO que nos permite administrar esta información de forma fácil, por ejemplo tenemos el Yoast SEO y el All in One SEO los 2 son bastante buenos y cuál utilizar dependerá de nuestros gustos y necesidades específicas del proyecto.

En el caso de que sea un proyecto a medida necesitaremos colocar los og: en la cabecera del sitio y actualizarlos dinámicamente de acuerdo a la hoja.

Otro factor que tenemos que tener en cuenta es el Caché de las redes sociales, una vez que alguien comparte una hoja Facebook tomará los tags y los almacenará de tal forma que cuando otra persona lo comparta ya no necesitará escanear nuevamente el sitio web, pero esto puede generar problemas si tu sitio se actualizó recientemente y la red social todavía envía los datos anteriores, para solucionarlo podemos utilizar las mismas herramientas de la red social para forzar un escaneo del sitio y actualizar la información, de paso nos dará información importante sobre errores o información faltante.

Sharing Debuger de Facebook: https://developers.facebook.com/tools/debug/

Validador Twitter: https://cards-dev.twitter.com/validator (deprecado, ahora tienes que hacerlo directamente en Twitter.)

Testeo de latencia a servidores AWS

El poder determinar cual región es la que menos latencia tiene a nuestro país o al target al que queremos llegar es muy importante para un proyecto.

Hace algún tiempo me tocó hacer un deploy a producción de un aplicativo y necesitaba encontrar la región con menor latencia, en ese tiempo encontré una lista de IP’s de AWS y me di el trabajo de testear una por una y ver que región me quedaba mejor.

Hoy encontré esta herramienta que en unos minutos nos da testeando la latencia a cada una de las regiones de AWS

https://ping.psa.fun/

 

Ejemplos realizados en Ecuador

 

 

 

 

Sourcetree con Bitbucket error de autenticación «App Passwords»

Contexto: Bitbucket descontinuo el utilizar el usuario y contraseña con el que se logea a su plataforma para validar la conexión a los repositorios.
Ahora recomiendan utilizar la «App Passwords» para generar una contraseña con la cual puedes acceder a los repositorios por medio de programas como Sourcetree.

Como es de costumbre hice unos cambios en un repositorio e intente hacer push y en ese momento salto un error de autenticación… como es de costumbre en fase de negación uno dice «talvez moví algo, intentemos de nuevo» y no funciono, actualicé el programa y nada, en ese momento empece a buscar por internet y encontré algunos post que recomendaban todo lo que ya había realizado, hasta que hoy encontré un post con la solución.

Vamos paso por paso para que no te suceda lo mismo (aunque si estás leyendo esto es posible que ya te haya pasado).

  1. Actualizar Sourcetree a la ultima versión
  2. Ingresa en Bitbucket a los Settings Personales y luego a Apps Passwords > https://bitbucket.org/account/settings/app-passwords/ aquí puedes crear las credenciales necesarias para conectar a tus repositorios.
  3. Edita las credenciales de acceso en Sourcetree con las credenciales creadas en Apps Passwords (el usuario es el mismo de tu cuenta), cambia el tipo de Autentificación a Basic,
    en esta parte si o si te va a salir que ha logrado validar la cuenta en el caso de que las credenciales sean correctas.

Hasta aquí en la mayoría de casos que leí ya les funcionaba, haces un push o pull y debería funcionar… en mi caso no funcionó, algunos recomendaban reinstalar el programa y tampoco me funciono.

¿Que lo soluciono?

Sourcetree tiene un cache de contraseñas y esto es parte del problema (o en mi caso lo fue) debes buscar y borrar un archivo:

Ingresa en la siguiente ruta: C:\Users\TUUSUARIO\AppData\Local\Atlassian\SourceTree busca el archivo «passwd» y borralo.

Reinicia Sourcetree y el momento de hacer un push o pull el programa te solicitará ingresar nuevamente la contraseña del App Passwords y listo he vuelto a tener mis repositorios funcionando con Sourcetree.

Espero esto les sea de ayuda, déjame saber en los comentarios si te funciono.

 

 

 

Revisar los espacios utilizados por WordPress en Linux

¿No sabes cuanto pesa tu sitio Web/app? ¿tu servidor está dando problemas de espacio? necesitas revisar los espacios utilizados, entre los síntomas que puede presentar un servidor al quedarse sin espacio están:

  • Interrupción de Servicios: Algunos de los servicios pueden fallar o detenerse, como las bases de datos, servidores Web y Aplicaciones
  • Pérdida de Datos: La imposibilidad de guardar archivos nuevos puede llevar a la pérdida de datos importantes.
  • Problemas de Rendimiento: El rendimiento del sistema puede disminuir debido a la falta de espacio para archivos temporales y de intercambio.
  • Fallos en Actualizaciones: Las actualizaciones del sistema y de las aplicaciones pueden fallar porque no hay suficiente espacio para descargar y aplicar los cambios.

Entre las soluciones que puedes aplicar están:

  • Liberar Espacio: Eliminar archivos innecesarios o mover datos a otros discos o almacenamiento en la nube.
  • Expandir el Sistema de Archivos: Agregar más espacio en disco si es posible, como conectar una nueva unidad y extender las particiones.
  • Auditar el Uso de Espacio: Usar herramientas como df, du y ncdu para identificar las carpetas y archivos que consumen nuestros espacios.

df

El comando df en Linux nos permite revisar los espacios disponibles y utilizados en las diferentes unidades y particiones.

Puedes utilizar la opción -h para poder ver el resultado en MB o GB, un ejemplo de uso sería

df -h
df revisar los espacios

En el ejemplo podemos ver que nuestro disco principal es el /dev/sda y tiene utilizado el 34% del disco, en el caso de tener mas discos y particiones, también las podremos ver aquí, dependiendo del comportamiento del proyecto y el servidor es recomendable que no sobrepases el 75% del disco para que tengas espacio suficiente

du

El comando du nos permite revisar los espacios utilizados por una carpeta

du -s -h <tu-carpeta>
du revisar los espacios

En el ejemplo podemos ver que la carpeta «tools» pesa 28megas, la opción -s nos dará el tamaño total sin listarnos todas las carpetas que están dentro de tools y -h al igual que en el ejemplo anterior nos sirve para mostrar el resultado en una medida mas entendible.

ncdu

Esta herramienta es mi preferida ya que me da la información de toda la carpeta de una forma rápida, primero deberás instalarla con el siguiente comando:

AlmaLinux

sudo dnf install ncdu

CentOS/RHEL/Fedora

sudo yum install ncdu

Debian/Ubuntu

sudo apt install ncdu

Ya instalado podremos utilizar el comando ncdu y nos mostrará una vista como la siguiente:

ncdu revisar los espacios

De esta forma podremos ver cuanto pesa cada carpeta y archivo, para salir de la vista debes utilizar la tecla Q

Espero les sea de utilidad y no olvides visitar nuestro canal de YouTube