Debian 12

Debian 12

Debian 12 “Bookworm” es una distribución GNU/Linux reconocida por su estabilidad, seguridad y versatilidad. Requiere entre 1 y 2 GB de RAM y entre 4 y 10 GB de espacio en disco según la instalación, con un sistema base que ocupa alrededor de 1,2 GB. Sus prestaciones incluyen compatibilidad con múltiples arquitecturas, gran variedad de entornos de escritorio, mejoras en seguridad y soporte ampliado de hardware reciente.

📦 Tamaño del software y requisitos

  • Instalación mínima (sin utilidades estándar): ~1,0 GB en disco
  • Instalación estándar (amd64 con utilidades): ~1,2 GB en disco
  • Requisitos mínimos de hardware:
    • RAM: 512 MB (mínimo), 1 GB recomendado
    • Espacio en disco: 4 GB sin escritorio, 10 GB con escritorio
  • Requisitos recomendados:
    • Procesador: Pentium 4 a 1 GHz o superior
    • RAM: 2 GB para un entorno gráfico fluido

Características principales

Nombre en clave: Bookworm

Entornos de escritorio disponibles: GNOME, KDE Plasma, Xfce, LXQt, Cinnamon, MATE, entre otros

Gestión de paquetes: Más de 59.000 paquetes disponibles en repositorios oficiales

Soporte de idiomas: Extenso, con traducciones para la mayoría de lenguas

Firmware no libre incluido: Mejora la compatibilidad con hardware moderno (tarjetas Wi-Fi, gráficas, etc.)

Seguridad: Actualizaciones constantes y sistema de parches rápido

Compatibilidad: Funciona en múltiples arquitecturas (amd64, arm64, s390x, etc.)

Opciones de instalación: Instalador gráfico y en modo texto, imágenes para nube y contenedores

Prestaciones destacadas

  • Estabilidad y fiabilidad: Debian es referencia en servidores y entornos críticos
  • Rendimiento optimizado: Mejoras en velocidad de ejecución y gestión de recursos en Debian 12.10
  • Compatibilidad ampliada: Drivers actualizados para hardware reciente
  • Soporte a largo plazo (LTS): Garantiza actualizaciones de seguridad durante años
  • Versatilidad de uso:
    • Servidores web, bases de datos y entornos corporativos.
    • Escritorios personales con múltiples interfaces gráficas.
    • Imágenes para nube y virtualización.

Debian 12 combina ligereza en instalación (1–1,2 GB base) con robustez y seguridad, ofreciendo un sistema adaptable tanto para usuarios domésticos como para infraestructuras profesionales. Su soporte de hardware moderno, amplia gama de escritorios y miles de paquetes lo convierten en una de las distribuciones más completas y confiables del ecosistema Linux.

Puedes descargar Debian 12 “Bookworm” directamente desde la página oficial de Debian en este enlace: 👉 Descarga oficial de Debian 12

📥 Opciones de descarga

En la página oficial encontrarás distintas imágenes de instalación:

  • Netinst (instalador mínimo): Ideal para instalaciones ligeras, descarga solo lo esencial y el resto desde internet.
  • Imágenes completas (CD/DVD): Incluyen todos los paquetes, útiles para sistemas sin conexión.
  • Arquitecturas soportadas: amd64, arm64, i386, mips64el, mipsel, ppc64el, s390x, entre otras.
  • Métodos de descarga:
    • HTTP/FTP directo
    • BitTorrent
    • Jigdo (descarga eficiente de imágenes grandes)

Si trabajas con servidores VPS y proyectos web, lo más práctico es usar la imagen netinst amd64, ya que ocupa poco espacio (~300 MB) y te permite personalizar la instalación con solo los paquetes que necesitas.

Perfecto, Francisco 🌑🔥. Aquí tienes el enlace directo al ISO netinst amd64 de Debian 12 “Bookworm” (la opción más ligera y práctica para servidores y proyectos web):

👉 Debian 12 netinst amd64 ISO

📥 Detalles de esta descarga

  • Tamaño aproximado: ~300 MB
  • Uso recomendado: Instalación mínima con descarga de paquetes desde internet
  • Arquitectura: amd64 (64 bits, la más común en servidores y PCs modernos)
  • Versión: 12.6.0 (última actualización estable de Bookworm)

Si prefieres imágenes completas (DVD con todos los paquetes incluidos), también están disponibles en la misma carpeta oficial: 👉 Imágenes completas de Debian 12

Comandos SSH para instalar Debian 12 en un VPS

Aquí tienes una guía práctica con los comandos SSH para instalar Debian 12 en un VPS desde cero, suponiendo que estás accediendo a un servidor con consola KVM o instalación remota (como en Proxmox, Hetzner, OVH, etc.).

Supuestos previos

  • Tienes acceso SSH o consola al VPS (modo rescate o instalación manual).
  • El VPS está vacío o en modo de instalación.
  • Usarás el instalador oficial de Debian 12 (netinst).

Instalación manual vía SSH (modo avanzado)

1. Conéctate al VPS

bash

ssh root@IP_DEL_VPS

2. Descarga el instalador de Debian 12 netinst

bash

wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-12.6.0-amd64-netinst.iso -O debian12.iso

3. Monta la ISO (si el VPS lo permite)

bash

mkdir /mnt/debian12
mount -o loop debian12.iso /mnt/debian12

4. Inicia instalación desde la ISO (requiere consola KVM o reinicio con ISO montada)

Este paso depende del proveedor. En muchos VPS, debes:

  • Usar el panel para montar la ISO como CD-ROM
  • Reiniciar el VPS en modo instalación
  • Seguir el instalador gráfico o en modo texto

🧪 Alternativa: instalación automatizada con debootstrap

Si el VPS ya tiene un sistema base (ej. modo rescate), puedes instalar Debian 12 manualmente:

1. Instala debootstrap

bash

apt update && apt install debootstrap

2. Crea el sistema base

bash

debootstrap --arch=amd64 bookworm /mnt/debian http://deb.debian.org/debian

3. Chroot al nuevo sistema

bash

mount --bind /dev /mnt/debian/dev
mount --bind /proc /mnt/debian/proc
mount --bind /sys /mnt/debian/sys
chroot /mnt/debian

4. Configura el sistema

bash

echo "debian-vps" > /etc/hostname
apt update && apt install linux-image-amd64 grub-pc systemd

5. Instala GRUB y reinicia

bash

grub-install /dev/sda
update-grub
exit
reboot

✅ Resultado

Tu VPS arrancará con Debian 12 limpio, listo para instalar Apache, Nginx, PHP, WordPress o lo que necesites.

Script cloud-init para Debian 12

yaml

#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8

users:
  - name: francisco
    groups: sudo
    shell: /bin/bash
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    ssh-authorized-keys:
      - ssh-rsa AAAA...tu_clave_ssh...

package_update: true
package_upgrade: true
packages:
  - curl
  - wget
  - git
  - htop
  - ufw
  - fail2ban
  - nginx

runcmd:
  - ufw allow OpenSSH
  - ufw allow 'Nginx Full'
  - ufw enable
  - systemctl enable fail2ban
  - echo "Instalación completa en Debian 12 VPS"

¿Cómo usarlo?

  1. En Hetzner Cloud o Contabo VPS:
    • Al crear el VPS, selecciona Debian 12 como imagen base.
    • En el campo “cloud-init” o “custom script”, pega el YAML anterior.
    • Asegúrate de incluir tu clave SSH pública en el campo correspondiente.
  2. Resultado:
    • VPS con Debian 12, usuario francisco, acceso SSH, firewall activo, Nginx instalado y Fail2Ban protegiendo.

SCRIPT Cloud-Init

Script cloud-init para LAMP + WordPress en Debian 12

yaml

#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8

users:
  - name: francisco
    groups: sudo
    shell: /bin/bash
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    ssh-authorized-keys:
      - ssh-rsa AAAA...tu_clave_ssh...

package_update: true
package_upgrade: true
packages:
  - apache2
  - mariadb-server
  - php
  - php-mysql
  - libapache2-mod-php
  - curl
  - wget
  - unzip
  - ufw
  - fail2ban

runcmd:
  # Configuración básica de firewall
  - ufw allow OpenSSH
  - ufw allow 'Apache Full'
  - ufw enable

  # Configuración de MariaDB segura
  - mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuPasswordSeguro';"
  - mysql -e "DELETE FROM mysql.user WHERE User='';"
  - mysql -e "DROP DATABASE IF EXISTS test;"
  - mysql -e "FLUSH PRIVILEGES;"

  # Crear base de datos para WordPress
  - mysql -uroot -pTuPasswordSeguro -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
  - mysql -uroot -pTuPasswordSeguro -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'WpPasswordSeguro';"
  - mysql -uroot -pTuPasswordSeguro -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';"
  - mysql -uroot -pTuPasswordSeguro -e "FLUSH PRIVILEGES;"

  # Descargar e instalar WordPress
  - wget https://wordpress.org/latest.tar.gz -O /tmp/wordpress.tar.gz
  - tar -xzf /tmp/wordpress.tar.gz -C /var/www/html/
  - chown -R www-data:www-data /var/www/html/wordpress
  - chmod -R 755 /var/www/html/wordpress

  # Configuración de Apache
  - echo "<VirtualHost *:80>
      ServerAdmin admin@localhost
      DocumentRoot /var/www/html/wordpress
      <Directory /var/www/html/wordpress>
          AllowOverride All
      </Directory>
      ErrorLog \${APACHE_LOG_DIR}/error.log
      CustomLog \${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>" > /etc/apache2/sites-available/wordpress.conf

  - a2ensite wordpress.conf
  - a2enmod rewrite
  - systemctl reload apache2

Resultado

  • VPS con Debian 12
  • Apache + PHP + MariaDB configurados
  • WordPress descargado y listo en /var/www/html/wordpress
  • Firewall activo y Fail2Ban protegiendo

👉 Este script lo pegas en el campo cloud-init al crear tu VPS en Hetzner, Contabo o cualquier proveedor que lo soporte.

script cloud-init optimizado para un VPS con Debian 12 + Nginx + PHP-FPM + MariaDB + WordPress, pensado para rendimiento y estabilidad:

Script cloud-init (Nginx + PHP-FPM + WordPress)

yaml

#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8

users:
  - name: francisco
    groups: sudo
    shell: /bin/bash
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    ssh-authorized-keys:
      - ssh-rsa AAAA...tu_clave_ssh...

package_update: true
package_upgrade: true
packages:
  - nginx
  - mariadb-server
  - php-fpm
  - php-mysql
  - php-cli
  - php-curl
  - php-xml
  - php-zip
  - php-gd
  - php-mbstring
  - curl
  - wget
  - unzip
  - ufw
  - fail2ban

runcmd:
  # Configuración de firewall
  - ufw allow OpenSSH
  - ufw allow 'Nginx Full'
  - ufw enable

  # Configuración segura de MariaDB
  - mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuPasswordSeguro';"
  - mysql -e "DELETE FROM mysql.user WHERE User='';"
  - mysql -e "DROP DATABASE IF EXISTS test;"
  - mysql -e "FLUSH PRIVILEGES;"

  # Crear base de datos para WordPress
  - mysql -uroot -pTuPasswordSeguro -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
  - mysql -uroot -pTuPasswordSeguro -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'WpPasswordSeguro';"
  - mysql -uroot -pTuPasswordSeguro -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';"
  - mysql -uroot -pTuPasswordSeguro -e "FLUSH PRIVILEGES;"

  # Descargar e instalar WordPress
  - wget https://wordpress.org/latest.tar.gz -O /tmp/wordpress.tar.gz
  - tar -xzf /tmp/wordpress.tar.gz -C /var/www/html/
  - chown -R www-data:www-data /var/www/html/wordpress
  - chmod -R 755 /var/www/html/wordpress

  # Configuración de Nginx para WordPress
  - echo "server {
      listen 80;
      server_name _;
      root /var/www/html/wordpress;

      index index.php index.html index.htm;

      location / {
          try_files \$uri \$uri/ /index.php?\$args;
      }

      location ~ \.php\$ {
          include snippets/fastcgi-php.conf;
          fastcgi_pass unix:/run/php/php8.2-fpm.sock;
          fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
          include fastcgi_params;
      }

      location ~ /\.ht {
          deny all;
      }
    }" > /etc/nginx/sites-available/wordpress

  - ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
  - nginx -t
  - systemctl reload nginx

Resultado

  • VPS con Debian 12
  • Nginx + PHP-FPM (más rápido que Apache para WordPress)
  • MariaDB configurado con base de datos y usuario para WordPress
  • WordPress instalado en /var/www/html/wordpress
  • Firewall activo y Fail2Ban protegiendo

Este script lo pegas en el campo cloud-init al crear tu VPS en Hetzner, Contabo o cualquier proveedor que lo soporte.

script cloud-init avanzado para tu VPS con Debian 12 + Nginx + PHP-FPM + MariaDB + WordPress, incluyendo optimización de rendimiento con Redis cache, PHP-FPM tunning y HTTPS con Let’s Encrypt.

Script cloud-init optimizado

yaml

#cloud-config
hostname: debian-vps
timezone: Europe/Madrid
locale: es_ES.UTF-8

users:
  - name: francisco
    groups: sudo
    shell: /bin/bash
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    ssh-authorized-keys:
      - ssh-rsa AAAA...tu_clave_ssh...

package_update: true
package_upgrade: true
packages:
  - nginx
  - mariadb-server
  - php-fpm
  - php-mysql
  - php-cli
  - php-curl
  - php-xml
  - php-zip
  - php-gd
  - php-mbstring
  - redis-server
  - php-redis
  - certbot
  - python3-certbot-nginx
  - curl
  - wget
  - unzip
  - ufw
  - fail2ban

runcmd:
  # Firewall
  - ufw allow OpenSSH
  - ufw allow 'Nginx Full'
  - ufw enable

  # Configuración segura de MariaDB
  - mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED BY 'TuPasswordSeguro';"
  - mysql -e "DELETE FROM mysql.user WHERE User='';"
  - mysql -e "DROP DATABASE IF EXISTS test;"
  - mysql -e "FLUSH PRIVILEGES;"

  # Crear base de datos para WordPress
  - mysql -uroot -pTuPasswordSeguro -e "CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
  - mysql -uroot -pTuPasswordSeguro -e "CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'WpPasswordSeguro';"
  - mysql -uroot -pTuPasswordSeguro -e "GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';"
  - mysql -uroot -pTuPasswordSeguro -e "FLUSH PRIVILEGES;"

  # Descargar e instalar WordPress
  - wget https://wordpress.org/latest.tar.gz -O /tmp/wordpress.tar.gz
  - tar -xzf /tmp/wordpress.tar.gz -C /var/www/html/
  - chown -R www-data:www-data /var/www/html/wordpress
  - chmod -R 755 /var/www/html/wordpress

  # Configuración Nginx optimizada
  - echo "server {
      listen 80;
      server_name _;
      root /var/www/html/wordpress;

      index index.php index.html index.htm;

      location / {
          try_files \$uri \$uri/ /index.php?\$args;
      }

      location ~ \.php\$ {
          include snippets/fastcgi-php.conf;
          fastcgi_pass unix:/run/php/php8.2-fpm.sock;
          fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
          include fastcgi_params;
      }

      location ~ /\.ht {
          deny all;
      }
    }" > /etc/nginx/sites-available/wordpress

  - ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/
  - nginx -t
  - systemctl reload nginx

  # Optimización PHP-FPM
  - sed -i 's/pm = .*/pm = dynamic/' /etc/php/8.2/fpm/pool.d/www.conf
  - sed -i 's/pm.max_children = .*/pm.max_children = 20/' /etc/php/8.2/fpm/pool.d/www.conf
  - sed -i 's/pm.start_servers = .*/pm.start_servers = 5/' /etc/php/8.2/fpm/pool.d/www.conf
  - sed -i 's/pm.min_spare_servers = .*/pm.min_spare_servers = 3/' /etc/php/8.2/fpm/pool.d/www.conf
  - sed -i 's/pm.max_spare_servers = .*/pm.max_spare_servers = 10/' /etc/php/8.2/fpm/pool.d/www.conf
  - systemctl restart php8.2-fpm

  # Configuración HTTPS con Let's Encrypt
  - certbot --nginx -d tu-dominio.com --non-interactive --agree-tos -m admin@tu-dominio.com

Resultado

  • VPS con Debian 12
  • Nginx + PHP-FPM optimizado para WordPress
  • MariaDB configurado con base de datos y usuario
  • Redis cache instalado y listo para usar con plugins de WordPress
  • Firewall + Fail2Ban activos
  • HTTPS automático con Let’s Encrypt
Novedades Red.es e Incibe

Novedades Red.es e Incibe

Las últimas novedades de Red.es e INCIBE en diciembre de 2025 se centran en impulsar la innovación digital y reforzar la ciberseguridad nacional.

Red.es – Principales novedades

  • Convocatoria RedIA Salud (noviembre 2025): Red.es ha lanzado un programa dotado con 50 millones de euros para proyectos de inteligencia artificial aplicada al ámbito sanitario. El objetivo es mejorar diagnósticos, tratamientos y gestión hospitalaria mediante IA.
  • Internacionalización de startups: 34 startups y organismos españoles participaron en el pabellón de España en SLUSH Helsinki 2025, mostrando innovación tecnológica en uno de los mayores eventos europeos de emprendimiento.
  • Expansión internacional: cinco startups españolas se preparan para conquistar Canadá con soluciones tecnológicas innovadoras, apoyadas por Red.es.
  • Smart Cities: Red.es continúa promoviendo proyectos de ciudades inteligentes, aplicando innovación y tecnología al servicio del ciudadano.

INCIBE – Principales novedades

  • Criptografía cuántica como prioridad nacional: Félix Barrio, director de INCIBE, ha señalado que la criptografía cuántica es una de las tres prioridades nacionales en seguridad y defensa. Se advierte que los sistemas robustos actuales podrían ser vulnerables en el futuro.
  • Informe sobre ciberseguridad 2025: INCIBE ha publicado un análisis sobre el estado de la ciberseguridad y la ciberinteligencia en España en 2025, destacando tendencias, vulnerabilidades y retos emergentes.
  • Demanda de profesionales: España necesita alrededor de 99.600 especialistas en ciberseguridad para cubrir la creciente demanda del sector.
  • Reestructuración institucional: INCIBE se ha integrado en la Secretaría de Estado de Telecomunicaciones, Infraestructuras Digitales y Seguridad Digital, reforzando su papel en la estrategia nacional de transformación digital.

Aquí tienes las convocatorias abiertas de Red.es e INCIBE a diciembre de 2025:

Convocatorias Red.es

  • C006/25-SP – Ayudas IA en Salud
    • Proyectos de desarrollo experimental para impulsar la adopción de la inteligencia artificial en el ámbito sanitario.
    • Plazo: hasta el 5 de enero de 2026.
  • C055/25-SI – Kit Espacios de Datos
    • Ayudas para la transformación digital de sectores estratégicos fomentando la incorporación a espacios de datos.
    • Plazo: hasta el 31 de marzo de 2026.
  • Agentes del Cambio – Kit Consulting
    • Adhesión de asesores digitales para apoyar a pymes en su proceso de digitalización.
  • Kit Digital – Agentes Digitalizadores
    • Adhesión de agentes para la digitalización de pequeñas empresas y autónomos.

Convocatorias INCIBE

  • Empleo público INCIBE 2025
    • Convocatoria de selección de personal técnico sénior para el Laboratorio de Tecnologías.
    • Publicada el 31 de octubre de 2025, con alegaciones hasta el 1 de diciembre de 2025.
  • Proyecto INCIBE‑UNED (2025)
    • Concurso de méritos para cubrir 100 plazas de dinamizadores-docentes en formación de ciberseguridad.
    • Enmarcado en el Plan de Recuperación, Transformación y Resiliencia financiado por la UE.

Página oficial: Empleo INCIBE

Red.es está impulsando proyectos de IA en salud y la integración en espacios de datos, además de programas de digitalización para pymes.

INCIBE está reforzando su plantilla con perfiles técnicos y promoviendo la formación en ciberseguridad a gran escala.

Conclusiones

Red.es está apostando fuerte por la IA aplicada a la salud y la internacionalización de startups.

INCIBE está marcando la agenda de la ciberseguridad nacional, con foco en criptografía cuántica, formación de talento y nuevas estructuras de coordinación.

Solucionar Ingresos Bajos en AdSense

Solucionar Ingresos Bajos en AdSense

La solución a ingresos bajos en AdSense pasa por dos frentes: aumentar el tráfico cualificado y optimizar la colocación y formato de los anuncios. No basta con tener visitas; necesitas mejorar el valor del clic (CPC) y la visibilidad de los anuncios para que cada impresión rinda más.

Para colocar los anuncios de AdSense tú mismo en tu web (sin depender solo de los anuncios automáticos de Google), existen varias herramientas y plugins que te dan control total sobre dónde y cómo aparecen:

Programas y plugins para gestionar anuncios

WordPress

  • Ad Inserter: uno de los más usados. Permite insertar bloques de AdSense en cualquier parte (cabecera, sidebar, dentro de posts, después de párrafos, etc.) con reglas condicionales (por rol de usuario, dispositivo, categoría…).
  • Advanced Ads: muy completo, con opciones de rotación, pruebas A/B y segmentación.
  • WP Quads: heredero del clásico Quick AdSense, sencillo y rápido para colocar anuncios en entradas y páginas.

CMS o sitios sin WordPress

  • Google Ad Manager (antes DFP): plataforma oficial de Google para gestionar inventario de anuncios. Es más complejo, pero te da control absoluto sobre posiciones y campañas.
  • Insertar manualmente el código: copiando el bloque <ins class="adsbygoogle"> en tus plantillas (header.phpsidebar.phpsingle.php) o en módulos de tu constructor (Divi, Elementor).

Herramientas externas

  • AdRotate: plugin que permite gestionar no solo AdSense, sino también banners propios o de afiliados.
  • OIO Publisher (aunque menos actualizado): para vender espacios publicitarios directamente y combinar con AdSense.

Ventajas de usar un programa/plugin

  • Controlas exactamente dónde aparece cada anuncio.
  • Evitas repeticiones en la misma página.
  • Puedes ocultar anuncios a ciertos roles (como ya haces con “Profesional”).
  • Facilita pruebas: cambiar posiciones y ver qué da más ingresos (CTR y RPM).

Si decides usar un programa o plugin para colocar los anuncios manualmente (como Ad Inserter o Advanced Ads), lo recomendable es desactivar los anuncios automáticos de AdSense.

Diferencia entre ambos modos

  • Anuncios automáticos (Auto Ads)
    • Google decide dónde y cuántos anuncios mostrar.
    • Ventaja: cero configuración, rápido de activar.
    • Desventaja: poca personalización, riesgo de repetición o saturación en la página.
  • Anuncios manuales (bloques insertados por ti)
    • Tú eliges la posición exacta (ej. después del 2º párrafo, en sidebar, al final del post).
    • Puedes aplicar reglas condicionales (por rol de usuario, categoría, dispositivo).
    • Evitas duplicados y controlas la experiencia del visitante.

Qué hacer en tu caso

  1. Desactiva Auto Ads desde tu panel de AdSense → Configuración de anuncios → Apagar “Anuncios automáticos”.
  2. Inserta manualmente los bloques con un plugin (ej. Ad Inserter) o directamente en tu plantilla.
  3. Define reglas claras:
    • Mostrar solo a visitantes (no a “Profesional”).
    • Limitar a 2–3 anuncios por página.
    • Usar formatos rentables (in-article, anchor, matched content).

En resumen: sí, al usar un plugin para colocar anuncios tú mismo, lo ideal es desactivar los automáticos para evitar que Google meta anuncios extra en lugares no deseados.

Te muestro un paso a paso claro para que configures anuncios manuales en WordPress con Ad Inserter y desactives los automáticos de AdSense:

Desactivar anuncios automáticos en AdSense

  1. Entra en tu cuenta de Google AdSense.
  2. Ve a Anuncios → Resumen → Configuración de anuncios automáticos.
  3. Desactiva el interruptor de Auto Ads.
    • Esto evita que Google coloque anuncios adicionales sin tu control.

Instalar Ad Inserter en WordPress

  1. En tu panel de WordPress → Plugins → Añadir nuevo.
  2. Busca Ad Inserter e instálalo.
  3. Actívalo.

Insertar un bloque de AdSense

  1. Copia el código de anuncio desde tu cuenta de AdSense (ejemplo: <ins class="adsbygoogle" ...>).
  2. En WordPress → Ad Inserter → Bloque 1, pega el código.
  3. Configura dónde quieres que aparezca:
    • Before paragraph 2 → justo después del segundo párrafo.
    • Sidebar → en la barra lateral.
    • After content → al final del artículo.

Reglas condicionales

  • En Ad Inserter puedes definir:
    • Mostrar solo a visitantes (ocultar a roles como “Profesional”).
    • Diferenciar entre móvil y escritorio.
    • Limitar el número de anuncios por página.

Ejemplo visual de colocación recomendada

  • Cabecera (Header) → 1 anuncio tipo banner.
  • Dentro del artículo → 1 anuncio in-article después del 2º párrafo.
  • Sidebar → 1 anuncio vertical.
  • Final del artículo → 1 anuncio matched content o display.

Con esto tendrás 4 posiciones estratégicas, sin saturar al usuario y maximizando CTR y RPM.

MÁS INFORMACIÓN: AdSense

Comandos básicos de MariaDB en Debian

Comandos básicos de MariaDB en Debian

LAS CONEXIONES SIMULTÁNEAS PUEDE CAUSAR UNA CAÍDA EN MariaDB, y perder la conexión del sitio web de WordPress con la Base de Datos, causando un ERROR DE CONEXIÓN CON LA BASE DE DATOS.

Arrancar, detener y reiniciar

Arrancar MariaDB sudo systemctl start mariadb

Detener MariaDB sudo systemctl stop mariadb

Reiniciar MariaDB sudo systemctl restart mariadb

Estado del servicio

  • Ver estado (sin quedarse dentro del visor)bashsudo systemctl status mariadb --no-pager
  • Ver si arranca al inicio del sistemabashsudo systemctl is-enabled mariadb

Logs y errores

  • Ver últimos registros de MariaDBbashjournalctl -u mariadb -n 50 --no-pager
  • Ver logs en tiempo realbashjournalctl -u mariadb -f

Comprobación de conexión

  • Entrar al cliente MySQL/MariaDBbashmysql -u root -p
  • Probar conexión remotabashmysql -u usuario -p -h IP_DEL_VPS

Consejo: Si alguna vez te quedas “atrapado” viendo el estado con systemctl status, recuerda que basta con pulsar q para salir y volver al prompt.

Aquí tienes una mini‑guía de optimización de MariaDB para un VPS con 2 GB de RAM. Con estos ajustes tu servidor debería mantenerse estable y evitar que el sistema lo mate por falta de memoria.

⚙️ Configuración recomendada en /etc/mysql/mariadb.conf.d/50-server.cnf

Dentro del bloque [mysqld] añade o ajusta estas líneas:

ini

[mysqld]
# Memoria principal para InnoDB (ajustada a 256 MB para 2 GB de RAM)
innodb_buffer_pool_size = 256M

# Número máximo de conexiones simultáneas
max_connections = 100

# Tamaño máximo de tablas temporales en memoria
tmp_table_size = 64M
max_heap_table_size = 64M

# Caché de consultas (puede ayudar en sitios con muchas lecturas repetidas)
query_cache_size = 32M
query_cache_type = 1

# Limitar el tamaño del log binario si no usas replicación
expire_logs_days = 7
max_binlog_size = 100M

# Evitar que MariaDB consuma demasiada RAM en operaciones grandes
join_buffer_size = 2M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M

Pasos para aplicar

Edita el archivo: sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Añade el bloque [mysqld] con los parámetros anteriores.

Guarda con Ctrl+O, confirma con Enter y sal con Ctrl+X.

Reinicia MariaDB: sudo systemctl restart mariadb sudo systemctl status mariadb --no-pager

Consejos adicionales

  • Activa swap si tu VPS no la tiene, para evitar OOM‑kill:bashsudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
  • Monitoriza consumo con:bashhtop
  • Ajusta valores si notas que MariaDB sigue consumiendo demasiada RAM.

script automático pensado para tu VPS Debian con 2 GB de RAM. Este script ajusta los parámetros de MariaDB y activa un archivo de swap de 1 GB para evitar que el sistema vuelva a matar el proceso por falta de memoria.

Aquí tienes un script avanzado que no solo optimiza MariaDB y activa swap, sino que además monitoriza el servicioy lo reinicia automáticamente si detecta un fallo por OOM‑kill (falta de memoria).

Script avanzado: Optimización + Monitorización MariaDB

Guárdalo como mariadb_monitor.sh:

bash

#!/bin/bash
# Script avanzado para optimizar y monitorizar MariaDB en VPS Debian (2 GB RAM)

CONF="/etc/mysql/mariadb.conf.d/50-server.cnf"

echo "🔧 Ajustando configuración de MariaDB..."

# Añadir bloque [mysqld] si no existe
if ! grep -q "

\[mysqld\]

" $CONF; then
    echo "[mysqld]" | sudo tee -a $CONF
fi

# Añadir parámetros optimizados
sudo tee -a $CONF > /dev/null <<EOL
innodb_buffer_pool_size = 256M
max_connections = 100
tmp_table_size = 64M
max_heap_table_size = 64M
query_cache_size = 32M
query_cache_type = 1
join_buffer_size = 2M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
EOL

echo "✅ Configuración añadida a $CONF"

# Reiniciar MariaDB
sudo systemctl restart mariadb
echo "✅ MariaDB reiniciado"

# Crear swap de 1 GB si no existe
if ! grep -q "/swapfile" /etc/fstab; then
    echo "🔧 Creando archivo de swap de 1 GB..."
    sudo fallocate -l 1G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
    echo "✅ Swap activado y configurado en /etc/fstab"
else
    echo "ℹ️ Swap ya está configurado en el sistema"
fi

# Monitorización: comprobar si MariaDB está activo
echo "🔍 Comprobando estado de MariaDB..."
if ! systemctl is-active --quiet mariadb; then
    echo "⚠️ MariaDB no está activo. Intentando reinicio..."
    sudo systemctl restart mariadb
    if systemctl is-active --quiet mariadb; then
        echo "✅ MariaDB reiniciado correctamente tras fallo."
    else
        echo "❌ Error: MariaDB no pudo reiniciarse. Revisa logs con: journalctl -u mariadb -xe"
    fi
else
    echo "✅ MariaDB está activo y funcionando."
fi

echo "🎉 Script completado. MariaDB optimizado y monitorizado."

Cómo usarlo

Crea el archivo: nano mariadb_monitor.sh

Pega el contenido.

Guarda con Ctrl+O, confirma con Enter, y sal con Ctrl+X.

Dale permisos de ejecución: chmod +x mariadb_monitor.sh

Ejecútalo:./mariadb_monitor.sh

Soluciones prácticas

1. Ajustar max_connections

  • Con 2 GB de RAM puedes subirlo a 100 (como ya configuramos).
  • No conviene subirlo demasiado, porque cada conexión consume memoria.

2. Usar un pool de conexiones

  • Instala y configura un pool de conexiones (ej. ProxySQL o MariaDB MaxScale).
  • Esto permite que las aplicaciones web reutilicen conexiones en lugar de abrir nuevas cada vez.

3. Optimizar consultas

  • Revisa que las consultas SQL sean rápidas y usen índices.
  • Evita consultas pesadas que bloqueen la base de datos.

4. Cachear resultados

  • Usa memcached o Redis para cachear datos frecuentes y reducir la carga sobre MariaDB.

5. Escalar infraestructura

  • Si el tráfico sigue creciendo, considera:
    • Migrar a un VPS con más RAM.
    • Usar un balanceador de carga con varias instancias de base de datos.

Web Recomendada

Comandos SSH

Qué es un certificado SSL

Qué es un certificado SSL

Un certificado SSL sirve para cifrar la comunicación entre el navegador y el servidor, garantizando privacidad y autenticidad del sitio web. Además, muchos certificados incluyen una garantía monetaria ofrecida por la Autoridad de Certificación (CA), que puede cubrir al usuario final en caso de que el certificado falle y cause pérdidas económicas.

🔐 ¿Qué es un certificado SSL?

  • Es un certificado digital que autentica la identidad de un sitio web y habilita una conexión segura mediante HTTPS.
  • El protocolo SSL/TLS cifra los datos transmitidos (contraseñas, tarjetas de crédito, información personal), evitando que terceros los intercepten o manipulen.
  • El candado en la barra de direcciones indica que la conexión está protegida.

¿Existe un seguro monetario?

Sí, pero con matices:

  • Los certificados SSL incluyen una garantía que varía según el tipo y el proveedor.
  • Esta garantía es un compromiso de la CA (Autoridad de Certificación) de indemnizar económicamente al usuario final si el certificado falla por negligencia de la CA y provoca pérdidas financieras (por ejemplo, fraude en transacciones online).
  • Los montos de cobertura pueden ir desde 10.000 USD hasta 1.5 millones USD, dependiendo del nivel del certificado (DV, OV, EV).
  • Importante: esta garantía no protege al dueño del sitio web, sino al cliente que confía en el certificado. Es decir, si un visitante sufre un daño económico porque el certificado fue emitido de forma incorrecta, puede reclamar la indemnización.

Puntos clave

  • Propósito principal: seguridad y confianza en las transacciones online.
  • Seguro monetario: sí existe, pero solo en casos de fallo atribuible a la CA.
  • No cubre: errores del administrador del sitio, hackeos por mala configuración, ni fraudes ajenos al certificado.
  • Valor añadido: además de cifrado, el SSL mejora el SEO y la reputación del sitio.

El certificado SSL protege la comunicación y aporta confianza. La garantía monetaria es un respaldo adicional, pero solo aplica si la Autoridad de Certificación comete un error que cause pérdidas financieras.

Detalles del certificado EV SSL

  • Proveedor: Sectigo (una de las principales Autoridades de Certificación).
  • Precio: 126,95 € / año.
  • Tipo: Validación extendida (EV).
  • Proceso de validación:
    • Verificación exhaustiva de la identidad de la empresa solicitante.
    • Revisión de datos legales y de contacto.
    • Garantiza que el sitio web pertenece realmente a la entidad indicada.
  • Cobertura:
    • Cifrado fuerte de las comunicaciones (HTTPS).
    • Mayor confianza para clientes en transacciones online.
    • Incluye garantía monetaria para usuarios finales en caso de fallo atribuible a la CA (el importe depende del certificado, en Sectigo EV SSL suele rondar hasta 1 millón USD).

Diferencias frente a otros certificados

  • DV (Domain Validation): solo valida el dominio, más barato (~10–30 €/año).
  • OV (Organization Validation): valida la empresa, precio intermedio (~50–100 €/año).
  • EV (Extended Validation): máxima validación y confianza, precio más alto (~126,95 € ).

✅ Conclusión: Si buscas máxima credibilidad para un sitio corporativo o de comercio electrónico, algún proveedor sí ofrece el EV SSL de Sectigo a 126,95 €/año, con validación extendida y garantía monetaria para clientes.

La diferencia principal entre un certificado EV SSL y uno gratuito como Let’s Encrypt está en el nivel de validación, la garantía monetaria y la confianza que transmiten. Let’s Encrypt ofrece cifrado básico, mientras que el EV SSL proporciona validación empresarial completa y respaldo económico.

🔐 Comparativa: EV SSL vs Let’s Encrypt

CaracterísticaEV SSL (Extended Validation)Let’s Encrypt (Gratuito)
Precio100–300 USD/año (DonDominio: 126,95 €/año)Gratis
ValidaciónValidación extendida de empresa (documental)Validación de dominio (automática)
Confianza visualMuestra nombre legal de la empresa en el certificadoSolo muestra el candado HTTPS
Garantía monetariaSí (hasta 1 millón USD para usuarios finales)No incluye garantía económica
Soporte técnicoProfesional, con SLA y asistencia personalizadaLimitado o comunitario
Renovación automáticaManual o asistida por proveedorSí, cada 90 días
Uso recomendadoComercio electrónico, banca, institucionesBlogs, sitios personales, proyectos básicos

✅ ¿Cuál elegir?

  • Let’s Encrypt es ideal si necesitas cifrado básico, sin coste, y no manejas datos sensibles ni pagos.
  • EV SSL es imprescindible si tu sitio representa una empresa, gestiona transacciones, o necesita máxima confianza y respaldo legal.

Si tu web es corporativa o comercial, el EV SSL transmite profesionalismo y seguridad jurídica. Si es un blog o proyecto personal, Let’s Encrypt puede ser suficiente. ¿Quieres que te ayude a instalar uno u otro en tu hosting?