La secretaría de Estado de Digitalización e Inteligencia Artificial ha anunciado la creación de la comunidad IA de Código Abierto.
Esta comunidad aspira a democratizar el acceso a la Inteligencia Artificial, fomentar la innovación colectiva y evitar que el futuro digital quede en manos de unos pocos. Con esta iniciativa se logra una IA mas accesible para todos, y su puesta a disposición al servicio del interés público.
Su propósito es actuar como punto de encuentro del ecosistema de la IA en España, donde se reúnen desarrolladores, investigadores, empresas y Administración Pública
Objetivos de la Comunidad IA de Código Abierto:
Canalizar el liderazgo español en la adaptación e integración de soluciones de IA.
Para fomentar el carácter participativo de la iniciativa se han abierto tres procesos de consulta:
Retos económicos y sociales que podrían solventarse con la IA, y las herramientas tecnológicas que podrían ser útiles para esta comunidad. Visita Comunidad de IA open-source de España.
Se propone crear una red de embajadores de la Comunidad IA de Código Abierto de manera que ayuden a organizar encuentros y retos y avanzar en objetivos. Visita Registro Público embajador comunidad.
El tercero se centra en los compromisos de entidades publico-privadas, dispuestas a realizar apoyar el despliegue efectivo de la comunidad. Visita Consulta Empresas
Puntos fuertes de la Comunidad IA
Modelos de IA de código abierto.
Modelos de traducción automática y multilingües.
Conjunto de datos (datasets). Corpus de texto, voz y traducción automática.
Recursos para evaluación y entrenamiento.
Computación pública, basadas en redes existentes de código abierto.
Hackáthones, programa de formación aplicada y roadshows universitarios.
Actividades participativas
La primera actividad de la Comunidad será el prompt-a-thon Desafío ALIA: Creando una comunidad de IA en España’, en el marco del Programa Nacional de Algoritmos Verdes.
El desafío propone a los participantes experimentar, aprender y contribuir al desarrollo de ‘prompts’ para una IA más eficiente gracias al modelo ALIA-40B.
ALIA es la nueva infraestructura pública de inteligencia artificial en español y lenguas cooficiales, y un prompt-a-thon es una competición colaborativa inspirada en los hackathons donde se crean y optimizan instrucciones (prompts) para modelos de IA generativa.
🌐 ¿Qué es ALIA?
Infraestructura pública de IA: ALIA es un proyecto pionero impulsado por el Gobierno de España y la Unión Europea para ofrecer modelos de lenguaje abiertos y transparentes.
Lenguas soportadas: Está diseñado para funcionar en español y lenguas cooficiales (catalán/valenciano, euskera y gallego).
Objetivo principal:
Reducir la dependencia de grandes tecnológicas extranjeras.
Potenciar el uso de datos locales y el patrimonio lingüístico.
Garantizar soberanía tecnológica y fomentar la innovación en IA.
Ejemplo práctico: ALIA ya se está utilizando en organismos públicos y está disponible para investigadores, empresas y ciudadanos, como un recurso abierto para crear aplicaciones y servicios.
💡 ¿Qué es un Prompt-a-thon?
Definición: Un prompt-a-thon es un evento colaborativo, similar a un hackathon, pero centrado en la creación y optimización de prompts (instrucciones que guían a los modelos de IA generativa).
Dinámica:
Los participantes trabajan en equipos multidisciplinares (técnicos, creativos, de negocio).
Se diseñan prompts para que la IA genere textos, imágenes u otros contenidos.
Se fomenta la creatividad, el aprendizaje práctico y la experimentación.
Ejemplo en España: La Secretaría de Estado de Digitalización lanzó el Prompt-a-thon ALIA, un reto abierto para experimentar con ALIA 40B, la última versión del modelo público español.
No requiere conocimientos técnicos avanzados.
Busca descubrir cómo los ciudadanos pueden contribuir a mejorar la IA con creatividad y diversidad cultural.
Ejemplos de Prompts en Prompt-a-thon ALIA
Creatividad literaria“Escribe un poema en gallego sobre la importancia de cuidar los bosques, con un tono esperanzador.”
Aplicaciones educativas“Explica la fotosíntesis en euskera como si fueras un profesor de primaria, usando ejemplos sencillos.”
Cultura y diversidad“Genera una historia corta en catalán ambientada en una fiesta popular, destacando valores de cooperación.”
Innovación práctica“Redacta un manual breve en español para enseñar a personas mayores cómo usar una aplicación de mensajería.”
Humor y entretenimiento“Inventa chistes en castellano que jueguen con palabras relacionadas con la tecnología y la vida cotidiana.”
¿Qué se busca en un Prompt-a-thon?
Creatividad: que el prompt saque lo mejor del modelo.
Diversidad lingüística: aprovechar las lenguas cooficiales.
Aplicabilidad: que las respuestas puedan servir en educación, cultura, administración o entretenimiento.
Colaboración: los equipos comparten ideas y mejoran los prompts entre todos.
En resumen
ALIA: la primera IA pública española, abierta y multilingüe, que refuerza la soberanía tecnológica.
Prompt-a-thon: un evento participativo para aprender y divertirse creando instrucciones que hacen que la IA genere respuestas útiles y creativas.
Crear un subdominio en Linux requiere acceso al servidor web (como Apache o Nginx) y al sistema de archivos del servidor. Aquí te explico cómo hacerlo paso a paso 🧑💻:
En el panel de tu proveedor de dominio, crea un registro tipo A apuntando subdominio.midominio.com a la IP de tu servidor.
script automatizado en Bash para crear subdominios en Nginx fácilmente. Solo necesitas ejecutar este script en tu servidor Linux y seguir las instrucciones:
Script: crear_subdominio_nginx.sh
bash
#!/bin/bash
echo "🔧 Creación automática de subdominio en Nginx"
read -p "Introduce el nombre del subdominio (ej. blog): " SUBDOMINIO
read -p "Introduce el dominio principal (ej. midominio.com): " DOMINIO
FULL_DOMAIN="$SUBDOMINIO.$DOMINIO"
ROOT_DIR="/var/www/$FULL_DOMAIN/html"
# Crear directorio
sudo mkdir -p $ROOT_DIR
sudo chown -R $USER:$USER $ROOT_DIR
# Crear archivo de configuración
CONFIG_FILE="/etc/nginx/sites-available/$FULL_DOMAIN"
sudo tee $CONFIG_FILE > /dev/null <<EOF
server {
listen 80;
server_name $FULL_DOMAIN;
root $ROOT_DIR;
index index.html index.htm;
location / {
try_files \$uri \$uri/ =404;
}
}
EOF
# Activar sitio
sudo ln -s $CONFIG_FILE /etc/nginx/sites-enabled/
# Probar y reiniciar
sudo nginx -t && sudo systemctl restart nginx
echo "✅ Subdominio $FULL_DOMAIN creado y activado."
echo "📁 Puedes subir contenido a: $ROOT_DIR"
¿Qué hace este script?
Te pide el nombre del subdominio y el dominio principal.
Crea el directorio raíz del subdominio.
Genera el archivo de configuración de Nginx.
Lo activa y reinicia Nginx.
Versión automatizada para Apache, similar a la que hicimos para Nginx. Con este script podrás crear subdominios en tu servidor Linux con Apache de forma rápida:
Script: crear_subdominio_apache.sh
bash
#!/bin/bash
echo "🔧 Creación automática de subdominio en Apache"
read -p "Introduce el nombre del subdominio (ej. blog): " SUBDOMINIO
read -p "Introduce el dominio principal (ej. midominio.com): " DOMINIO
FULL_DOMAIN="$SUBDOMINIO.$DOMINIO"
ROOT_DIR="/var/www/$FULL_DOMAIN/public_html"
# Crear directorio
sudo mkdir -p $ROOT_DIR
sudo chown -R $USER:$USER $ROOT_DIR
# Crear archivo de configuración
CONFIG_FILE="/etc/apache2/sites-available/$FULL_DOMAIN.conf"
sudo tee $CONFIG_FILE > /dev/null <<EOF
<VirtualHost *:80>
ServerAdmin admin@$DOMINIO
ServerName $FULL_DOMAIN
DocumentRoot $ROOT_DIR
ErrorLog \${APACHE_LOG_DIR}/$FULL_DOMAIN-error.log
CustomLog \${APACHE_LOG_DIR}/$FULL_DOMAIN-access.log combined
</VirtualHost>
EOF
# Activar sitio
sudo a2ensite $FULL_DOMAIN.conf
# Probar y reiniciar
sudo apache2ctl configtest && sudo systemctl reload apache2
echo "✅ Subdominio $FULL_DOMAIN creado y activado."
echo "📁 Puedes subir contenido a: $ROOT_DIR"
¿Qué hace este script?
Te pide el nombre del subdominio y el dominio principal.
Para instalar Roundcube en un VPS con Debian 12 sin afectar tus sitios WordPress, debes usar una configuración separada dentro de tu servidor web (Apache o Nginx), asegurarte de no sobrescribir archivos de configuración existentes y mantener cada sitio en su propio VirtualHost o bloque de servidor.
🛠️ Pasos para instalar Roundcube en Debian 12 sin romper WordPress
1. Requisitos previos
VPS con Debian 12 actualizado.
Servidor web funcionando (Apache o Nginx).
PHP (preferiblemente PHP 8.2), MySQL/MariaDB, y IMAP server (como Dovecot).
Sitios WordPress ya configurados en sus propios VirtualHosts.
⚠️ No modifiques los VirtualHosts de tus sitios WordPress. Mantén cada dominio en su propio archivo de configuración.
4. Configurar base de datos
Roundcube necesita una base de datos MySQL/MariaDB:
bash
sudo mysql -u root -p
CREATE DATABASE roundcube CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcubeuser'@'localhost' IDENTIFIED BY 'tu_contraseña_segura';
FLUSH PRIVILEGES;
EXIT;
5. Finalizar instalación desde navegador
Accede a http://webmail.tudominio.com/installer y sigue el asistente. Una vez terminado, elimina el instalador:
bash
sudo rm -rf /var/lib/roundcube/installer
6. Seguridad y compatibilidad
Asegúrate de que PHP y Apache/Nginx estén configurados correctamente para coexistir con WordPress.
Usa HTTPS con Let’s Encrypt para proteger el acceso a Roundcube.
Configura fail2ban y firewall para proteger tu servidor.
✅ Consejos para no romper WordPress
Nunca edites archivos como /etc/apache2/sites-enabled/000-default.conf si WordPress ya está funcionando.
Usa VirtualHosts separados para cada dominio y subdominio.
Verifica que no haya conflictos de puertos o rutas (DocumentRoot).
Haz una copia de seguridad antes de instalar Roundcube.
Configurar el subdominio webmail.tudominio.com
🌐 Crear subdominio para Roundcube
Añade el subdominio en tu DNS:
En tu panel de control DNS, crea un registro tipo A o CNAME para webmail.tudominio.com apuntando a tu VPS.
Configura VirtualHost para Apache (si usas Apache): Crea /etc/apache2/sites-available/webmail.conf:apache<VirtualHost *:80> ServerName webmail.tudominio.com DocumentRoot /var/lib/roundcube <Directory /var/lib/roundcube> Options +FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/webmail_error.log CustomLog ${APACHE_LOG_DIR}/webmail_access.log combined </VirtualHost> Luego activa el sitio:bashsudo a2ensite webmail.conf sudo systemctl reload apache2
Una página web hecha solo con HTML es estática, mientras que una página web en PHP puede ser dinámica e interactiva. Aquí te explico las diferencias clave:
Diferencias entre HTML y PHP
Característica
HTML (estático)
PHP (dinámico)
🧱 Tipo de lenguaje
De marcado
De programación del lado del servidor
🔄 Interactividad
No puede procesar formularios ni datos
Puede manejar formularios, sesiones, bases de datos
📦 Generación de contenido
El contenido es fijo
El contenido puede cambiar según el usuario o la base de datos
🗃️ Acceso a base de datos
No tiene capacidad
Puede conectarse a MySQL, PostgreSQL, etc.
🔐 Seguridad
No puede proteger páginas ni gestionar usuarios
Puede validar usuarios, proteger rutas, cifrar datos
<h1>Bienvenido</h1>
<p>Hoy es <?php echo date("l"); ?>.</p>
➡️ El HTML siempre mostrará “Hoy es martes”, mientras que el PHP mostrará el día real según el servidor.
🧠 ¿Cuándo usar cada uno?
HTML: Ideal para sitios informativos simples, sin interacción.
PHP: Recomendado para sitios que requieren lógica, autenticación, formularios, paneles de control, etc.
Aquí tienes el código completo de una página web profesional en PHP con el estilo CSS integrado directamente en el archivo index.php. Esto facilita la visualización sin depender de archivos externos:
Este archivo PHP ya incluye todo lo necesario para verse como una página profesional. Puedes guardarlo como index.php y abrirlo en tu servidor local (XAMPP, WAMP, etc.).
ara crear una página web profesional en PHP, necesitas una arquitectura modular, conexión a base de datos, seguridad, y diseño responsivo. Un buen ejemplo es una tienda online o sistema de gestión con PHP, MySQL, HTML, CSS y JavaScript.
Aquí tienes una estructura profesional básica con componentes clave:
🧱 Estructura de proyecto profesional
Código
/miweb-profesional
│
├── config/
│ └── db.php # Conexión a base de datos
│
├── includes/
│ ├── header.php # Encabezado común
│ ├── footer.php # Pie de página común
│ └── functions.php # Funciones reutilizables
│
├── public/
│ ├── index.php # Página principal
│ ├── contacto.php # Formulario de contacto
│ └── login.php # Autenticación
│
├── assets/
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── main.js
│
└── README.md
<?php
function limpiarEntrada($data) {
return htmlspecialchars(strip_tags(trim($data)));
}
📄 public/index.php – Página principal
php
<?php include('../includes/header.php'); ?>
<main>
<h1>Bienvenido a Mi Web Profesional</h1>
<p>Soluciones digitales con PHP y MySQL.</p>
</main>
<?php include('../includes/footer.php'); ?>
Como poner un Popup en una entrada de WordPress. Una forma directa y eficaz de crear un Popup (o Modal), en tu entrada de WordPress.
📄 Código paso a paso
1. Añadir el HTML del modal
Coloca este bloque en el archivo single.php de tu tema hijo, o bien mediante un hook en functions.php usando wp_footer. En este ejemplo, el modal solo se carga si la entrada tiene un ID concreto (ejemplo: 123).
php
<?php
// En functions.php o en single.php
function ee3_modal_single_entry() {
if (is_single(123)) { // Cambia 123 por el ID de tu entrada
?>
<!-- Modal HTML -->
<div id="ee3Modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<h2>Bienvenido a esta entrada</h2>
<p>Este es un modal exclusivo para esta entrada en ee3.es.</p>
</div>
</div>
<style>
/* Estilos básicos del modal */
.modal {
display: none;
position: fixed;
z-index: 9999;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.7);
}
.modal-content {
background-color: #fff;
margin: 10% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 500px;
border-radius: 8px;
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
cursor: pointer;
}
.close:hover {
color: #000;
}
</style>
<script>
// Script para abrir y cerrar el modal
document.addEventListener("DOMContentLoaded", function() {
var modal = document.getElementById("ee3Modal");
var span = document.getElementsByClassName("close")[0];
// Mostrar modal al cargar la página
modal.style.display = "block";
// Cerrar modal al hacer clic en la X
span.onclick = function() {
modal.style.display = "none";
}
// Cerrar modal al hacer clic fuera del contenido
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
});
</script>
<?php
}
}
add_action('wp_footer', 'ee3_modal_single_entry');
🔎 Explicación
is_single(123) → asegura que el modal solo se muestre en la entrada con ID 123.
El modal se abre automáticamente al cargar la página.
Se puede cerrar con la X o haciendo clic fuera del contenido.
Todo el código se inyecta en el footer de WordPress para no romper la estructura del tema.
📌 Conclusión: Con este snippet, tu modal aparecerá únicamente en la entrada que definas en ee3.es.
Agregarle una Imagen al Popup
Ejemplo con imagen en el modal
Dentro del bloque modal-content añade la imagen:
html
<div id="ee3Modal" class="modal">
<div class="modal-content">
<span class="close">×</span>
<h2>Bienvenido a esta entrada</h2>
<img src="https://tusitio.com/wp-content/uploads/imagen-modal.jpg"
alt="Imagen ilustrativa"
style="max-width:100%; height:auto; margin-bottom:1rem; border-radius:8px;">
<p>Este es un modal exclusivo para esta entrada en ee3.es.</p>
</div>
</div>
🔎 Detalles importantes
src → pon la URL de la imagen que quieras mostrar. Si la subes a la biblioteca de medios de WordPress, copia la URL completa.
style → con max-width:100% y height:auto aseguras que la imagen sea responsive y no se desborde.
margin-bottom → añade espacio debajo de la imagen.
border-radius → opcional, para esquinas redondeadas.
📌 En Divi
Si usas el módulo de código de Divi, pega el bloque completo del modal con la imagen incluida.
Si prefieres, puedes añadir la imagen desde la biblioteca de Divi y copiar su URL en el src.
Para instalar un certificado SSL gratuito de Let’s Encrypt en un VPS, puedes usar herramientas como Certbot o paneles como CloudPanel o cPanel, dependiendo de tu configuración.
Aquí tienes una guía general paso a paso para hacerlo manualmente con Certbot, que es la herramienta oficial recomendada por Let’s Encrypt:
Certbot detectará tus dominios configurados y te preguntará si deseas redirigir todo el tráfico a HTTPS.
Verifica la renovación automática:
Let’s Encrypt emite certificados válidos por 90 días.
Certbot instala automáticamente un cron job para renovarlos.
Puedes probarlo con:
sudo certbot renew --dry-run
Cuando hay que renovar el Certificado SSL
Los certificados de Let’s Encrypt deben renovarse cada 90 días.
Esto es una política estándar de Let’s Encrypt para mejorar la seguridad. Aquí tienes los detalles clave:
📅 Frecuencia de renovación
Validez: 90 días desde la emisión
Recomendación: Renovar alrededor del día 60 para evitar expiraciones accidentales
Renovación automática con Certbot
Si usaste Certbot para instalar el certificado, probablemente ya esté configurado para renovarse automáticamente mediante un cron job o un timer de systemd.
Puedes verificarlo ejecutando:
sudo certbot renew --dry-run
Este comando simula la renovación para confirmar que todo funciona correctamente.
⚠️ ¿Qué pasa si no se renueva?
El sitio web mostrará advertencias de seguridad a los visitantes
Los navegadores bloquearán el acceso por HTTPS
Podrías perder posicionamiento SEO y confianza de los usuarios